/* ==========================================================================
   CPG.GE — PAGE LAYER (structure: CPG.ge wireframes · design: ArcHub)
   --------------------------------------------------------------------------
   The wireframes (source-materials/.../wireframe-boards-decoded) fix what each
   page holds and in which order. How it looks comes from Liquid Themes'
   ArcHub family, with classicfivearc as the base language — charcoal planes,
   a bronze-gold accent, condensed capitals for titles with one word set in
   gold — and single blocks borrowed where another version does it better:
   thebuildingarc (hero), projectpanelarc (Our Business), minimalarc (card
   over image), interiorarc (news), asyonearc (full-bleed band, footer),
   renovationarc (entry cards). Colours and faces are CPG's.
   Loaded only by the views under resources/views/cpg/holding/wf/.
   ========================================================================== */

:root {
  --wf-ink: #161615;
  --wf-char: #0D0D0C;          /* the header's black (owner, 2026-10-19; was charcoal #262625) */
  --wf-char-2: #0D0D0C;
  --wf-paper: #FFFFFF;          /* plain white page ground (owner, 2026-10-19; was #F5F4F0) */
  --wf-white: #FFFFFF;
  --wf-text: #4A4A46;
  --wf-dim: #77776F;
  --wf-line: #DEDDD6;
  --wf-line-dark: rgba(255, 255, 255, 0.12);
  --wf-on-dark: #F5F4F0;
  --wf-on-dark-dim: rgba(245, 244, 240, 0.62);
  --wf-gold: #B39673;          /* bronze-gold, as the base version's accent */
  --wf-gold-lit: #D3BB98;      /* gold for small type on charcoal */
  --wf-display: "Oswald", "Barlow Condensed", "Arial Narrow", sans-serif;
  --wf-font: "Inter", var(--cpg-font-body, system-ui), sans-serif;
  --wf-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --wf-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --wf-radius: 4px;
}

.wf { background: var(--wf-paper); color: var(--wf-ink); font-family: var(--wf-font); }
.wf *, .wf *::before, .wf *::after { box-sizing: border-box; }
.wf :is(h1, h2, h3, h4, p, ul, ol, figure) { margin: 0; }
.wf :is(ul, ol) { padding: 0; list-style: none; }
.wf a { color: inherit; }
.wf img { display: block; max-width: 100%; }
.cpg-body--holding .wf :is(h1, h2, h3, h4) { font-family: var(--wf-font); text-transform: none; }

/* --- Primitives ------------------------------------------------------------- */
.wf-wrap { width: 100%; max-width: 1340px; margin-inline: auto; padding-inline: 48px; }
.wf-sec { padding-block: 128px; }
.wf-sec--tail { padding-block: 0 128px; }
.wf-onchar { background: var(--wf-char); color: var(--wf-on-dark); }
.wf-onink { background: var(--wf-ink); color: var(--wf-on-dark); }

/* Section titles: condensed capitals, one word in gold (classicfivearc). */
.cpg-body--holding .wf .wf-title {
  font-family: var(--wf-display);
  font-size: clamp(34px, 2.2vw + 18px, 52px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.wf-title em, .wf-hero__title em { font-style: normal; color: var(--wf-gold); }
.wf-onchar .wf-title em, .wf-onink .wf-title em, .wf-hero .wf-hero__title em { color: var(--wf-gold-lit); }
.wf-h2 { font-size: 44px; line-height: 1.08; font-weight: 600; letter-spacing: -0.02em; }

/* Small capitals label (replaces the wireframe's mono notes). */
.wf-mono, .wf-label {
  font-family: var(--wf-font);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wf-dim);
}
.wf-onchar :is(.wf-mono, .wf-label), .wf-onink :is(.wf-mono, .wf-label) { color: var(--wf-on-dark-dim); }
.wf-lead { font-size: 18px; line-height: 1.7; color: var(--wf-text); max-width: 640px; }

/* Buttons: thin outline, small spaced capitals (classicfivearc "SEE DETAILS"). */
.wf-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 26px;
  border: 1px solid currentColor;
  border-radius: 0;
  background: none;
  color: inherit;
  font: 600 12px/1 var(--wf-font);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.35s var(--wf-ease), color 0.35s var(--wf-ease), border-color 0.35s var(--wf-ease);
}
.wf-btn:hover, .wf-btn:focus-visible { background: var(--wf-ink); border-color: var(--wf-ink); color: var(--wf-paper); }
:is(.wf-onchar, .wf-onink) .wf-btn:hover, :is(.wf-onchar, .wf-onink) .wf-btn:focus-visible { background: var(--wf-gold); border-color: var(--wf-gold); color: var(--wf-ink); }
.wf-btn--gold { background: var(--wf-gold); border-color: var(--wf-gold); color: var(--wf-ink); }

/* Text link: dash, label, the dash draws out on hover (renovationarc "— Learn more"). */
.wf-lnk {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  width: max-content;
  color: inherit;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
}
.wf-lnk::before { content: ""; width: 22px; height: 1px; background: currentColor; transition: width 0.45s var(--wf-ease); }
.wf-lnk:hover::before, .wf-lnk:focus-visible::before, .wf-card:hover .wf-lnk::before { width: 44px; }

/* Square arrow buttons (classicfivearc carousel). */
.wf-ib {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 0;
  background: rgba(255, 255, 255, 0.55);
  color: var(--wf-ink);
  cursor: pointer;
  transition: background-color 0.3s var(--wf-ease), opacity 0.3s;
}
.wf-ib:hover:not(:disabled), .wf-ib:focus-visible { background: var(--wf-white); }
.wf-ib:disabled { opacity: 0.35; cursor: default; }
.wf-ib svg { width: 18px; height: 18px; }

.wf-g2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.wf-g3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.wf-g4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.wf-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; }

.wf-media { position: relative; display: block; overflow: hidden; background: #D8D6CF; border-radius: var(--wf-radius); }
.wf-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--wf-ease); }
.wf-card { display: flex; flex-direction: column; gap: 14px; color: inherit; text-decoration: none; }
.wf-card:hover .wf-media img, .wf-card:focus-visible .wf-media img { transform: scale(1.05); }
.wf-card__title { font-size: 21px; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; }
.wf-card__title--lg { font-size: 23px; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; }
.wf-ratio-3x4 { aspect-ratio: 3 / 4; }
.wf-ratio-4x3 { aspect-ratio: 4 / 3; }
.wf-ratio-3x2 { aspect-ratio: 3 / 2; }
.wf-ratio-16x10 { aspect-ratio: 16 / 10; }
.wf-ratio-21x9 { aspect-ratio: 21 / 9; }

/* ==========================================================================
   HOME
   ========================================================================== */

/* 1 — Hero (thebuildingarc): the film, a vertical rail, a big title with a short
   rule, the lead, and the figures in white along the foot. Exactly one screen
   tall on every desktop: type sizes follow the viewport's height as well as its
   width, so the whole block always fits without scrolling. */
.wf-hero { position: relative; display: flex; height: 100vh; height: 100svh; min-height: 540px; overflow: hidden; background: var(--wf-ink); color: var(--wf-on-dark); }
.wf-hero__media { position: absolute; inset: 0; }
.wf-hero__media :is(img, video) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wf-hero { background: #0D0D0C; }
/* The shade eases into the exact black of the Our Business band below
   (#0D0D0C), solid for the last few percent, so the two read as one surface
   (thebuildingarc hero-to-section blend). */
.wf-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13, 13, 12, 0.55) 0%, rgba(13, 13, 12, 0.14) 26%, rgba(13, 13, 12, 0.22) 46%, rgba(13, 13, 12, 0.42) 60%, rgba(13, 13, 12, 0.66) 72%, rgba(13, 13, 12, 0.86) 82%, rgba(13, 13, 12, 0.96) 90%, #0D0D0C 96%, #0D0D0C 100%); }
.wf-hero__rail { position: absolute; z-index: 2; left: 40px; top: 50%; display: flex; flex-direction: column; align-items: center; gap: 22px; transform: translateY(-50%); }
.wf-hero__rail span, .wf-hero__rail a { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(245, 244, 240, 0.8); text-decoration: none; }
.wf-hero__rail a:hover { color: #fff; }
.wf-hero__rail i { width: 1px; height: 56px; background: rgba(245, 244, 240, 0.45); }
.wf-hero__body { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: clamp(14px, 2.6vh, 28px); width: 100%; padding-top: 130px; padding-bottom: clamp(28px, 5vh, 56px); }
.cpg-body--holding .wf .wf-hero__title {
  max-width: 1100px;
  font-family: var(--wf-display);
  font-size: min(clamp(54px, 6.4vw + 8px, 128px), 12.5vh);
  font-weight: 600;
  line-height: 0.96;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}
.wf-hero__rule { width: 200px; height: 6px; margin: 0; border: 0; background: var(--wf-on-dark); }
.wf .wf-hero__lead { max-width: 580px; font-size: clamp(15px, 2vh, 17px); line-height: 1.7; color: rgba(245, 244, 240, 0.85); }
.wf-hero__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-top: clamp(4px, 1.6vh, 18px); padding-top: clamp(16px, 2.8vh, 30px); }
.wf-hero__figures { display: flex; flex-wrap: wrap; gap: clamp(28px, 4.5vw, 88px); }
.wf-hero__fig { display: flex; align-items: center; gap: 16px; }
.wf-hero__fig-value { font-family: var(--wf-display); font-size: min(clamp(40px, 2.8vw + 14px, 68px), 7.4vh); font-weight: 600; line-height: 1; letter-spacing: 0.01em; color: #fff; font-variant-numeric: tabular-nums; }
.wf-hero__fig-label { max-width: 180px; font-family: var(--wf-display); font-size: clamp(13px, 1.7vh, 16px); font-weight: 500; line-height: 1.35; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255, 255, 255, 0.82); }
.wf-hero__scroll { flex: none; display: flex; align-items: center; gap: 14px; font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(245, 244, 240, 0.85); text-decoration: none; }
.wf-hero__scroll i { position: relative; width: 1px; height: 44px; overflow: hidden; background: rgba(245, 244, 240, 0.3); }
.wf-hero__scroll i::after { content: ""; position: absolute; left: 0; top: -50%; width: 1px; height: 50%; background: #fff; animation: wf-scroll 2.2s var(--wf-ease) infinite; }
@keyframes wf-scroll { to { top: 100%; } }

/* 1b — Figures (classicfivearc): gold numerals, two-line caption beside, on charcoal. */
.wf-figband { position: relative; padding: 88px 0; background: var(--wf-char); color: var(--wf-on-dark); overflow: hidden; }
.wf-figband::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.022) 0 1px, transparent 1px 14px); pointer-events: none; }
.wf-figband ul { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 40px; }
.wf-fig { display: flex; align-items: center; gap: 18px; }
.wf-fig__value { font-family: var(--wf-display); font-size: clamp(54px, 3vw + 24px, 76px); font-weight: 600; line-height: 1; color: var(--wf-gold-lit); letter-spacing: 0.01em; }
.wf-fig__label { max-width: 190px; font-family: var(--wf-display); font-size: 17px; font-weight: 500; line-height: 1.35; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(245, 244, 240, 0.72); }

/* 2 — Our Business (projectpanelarc): full-bleed picture, the pillars along the
   foot with their numbers and a rule between; pointing at one brings its picture. */
.wf-panel { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 100svh; min-height: max(720px, 100svh); padding: 120px 0 88px; overflow: hidden; background: var(--wf-ink); color: var(--wf-on-dark); }
.wf-panel__stage { position: absolute; inset: 0; }
.wf-panel__stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 0.9s var(--wf-ease), transform 1.6s var(--wf-ease); }
.wf-panel__stage img.is-active { opacity: 1; transform: none; }
.wf-panel__stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 14, 13, 0.72) 0%, rgba(14, 14, 13, 0.25) 34%, rgba(14, 14, 13, 0.3) 55%, rgba(14, 14, 13, 0.82) 100%); }
.wf-panel > .wf-wrap { position: relative; z-index: 1; }
.wf-panel__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; }
.wf-panel__list { display: flex; flex-wrap: wrap; align-items: baseline; gap: 18px 0; }
.wf-panel__item {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-inline-end: 28px;
  color: rgba(245, 244, 240, 0.45);
  font-family: var(--wf-font);
  font-size: clamp(30px, 2.6vw + 6px, 52px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
  text-decoration: none;
  transition: color 0.45s var(--wf-ease);
}
.wf-panel__item sup { align-self: flex-start; margin: 0 0 0 8px; font-size: 15px; font-weight: 500; letter-spacing: 0; color: inherit; }
.wf-panel__item::after { content: ""; width: 72px; height: 2px; margin-inline-start: 28px; background: currentColor; opacity: 0.6; transform-origin: left; transition: transform 0.6s var(--wf-ease); }
.wf-panel__item:last-child::after { display: none; }
.wf-panel__item.is-active, .wf-panel__item:hover, .wf-panel__item:focus-visible { color: var(--wf-on-dark); }
.wf-panel__item:hover::after { transform: scaleX(1.25); }

/* 3 — Councils (minimalarc): a wide picture with a white card set over its right edge. */
.wf-over { position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; }
.wf-over__media { grid-column: 1 / span 1; min-height: 560px; }
.wf-over__media img, .wf-entry > .wf-media img, .wf-band > .wf-media img, .wf-video > .wf-media img { position: absolute; inset: 0; }
.wf-over__card { position: relative; z-index: 1; margin-inline-start: -180px; padding: 56px 52px; background: var(--wf-white); border-radius: var(--wf-radius); box-shadow: 0 30px 60px -30px rgba(20, 20, 18, 0.28); }
.wf-tag { display: inline-block; padding: 7px 10px; background: #ECEBE5; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wf-ink); }
.wf .wf-over__card h3 { margin-top: 22px; font-size: 32px; font-weight: 600; line-height: 1.15; letter-spacing: -0.015em; }
.wf .wf-over__card > p { margin-top: 18px; font-size: 15px; line-height: 1.75; color: var(--wf-text); }
.wf .wf-rows { margin-top: 28px; border-top: 1px solid var(--wf-line); }
.wf-rows a, .wf-rows span { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--wf-line); font-size: 15px; font-weight: 600; text-decoration: none; transition: padding 0.4s var(--wf-ease), color 0.3s; }
.wf-rows a::after { content: "+"; font-size: 20px; font-weight: 300; }
.wf-rows a:hover { padding-inline-start: 8px; color: var(--wf-gold); }

/* 4 — Portfolio. Head on charcoal (classicfivearc); the band itself is
   renovationarc's slideshow: four full-height columns split by hairlines over
   the active project's picture; the column pointed at raises a white panel. */
.wf-port { padding: 112px 0 96px; background: var(--wf-char); color: var(--wf-on-dark); overflow: hidden; }
.wf-port__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 48px; }
.wf-port__meta { display: flex; align-items: center; gap: 28px; }
.wf-port__count { font-family: var(--wf-display); font-size: 15px; letter-spacing: 0.18em; color: var(--wf-on-dark-dim); }
.wf-port__count b { color: var(--wf-on-dark); font-weight: 500; }

.wf-slsh { position: relative; height: clamp(520px, 64vh, 660px); overflow: hidden; background: var(--wf-ink); }
.wf-slsh__stage { position: absolute; inset: 0; }
.wf-slsh__stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 0.9s var(--wf-ease), transform 1.6s var(--wf-ease); }
.wf-slsh__stage img.is-active { opacity: 1; transform: none; }
.wf-slsh__stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 14, 13, 0.25) 0%, rgba(14, 14, 13, 0.08) 45%, rgba(14, 14, 13, 0.62) 100%); }
.wf-slsh__track { position: relative; z-index: 1; display: grid; grid-auto-flow: column; grid-auto-columns: 25%; height: 100%; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.wf-slsh__track::-webkit-scrollbar { display: none; }
.wf-slsh__cell { position: relative; height: 100%; scroll-snap-align: start; border-inline-start: 1px solid rgba(255, 255, 255, 0.38); }
.wf-slsh__cell:first-child { border-inline-start-color: transparent; }
.wf .wf-slsh__link { position: absolute; inset: 0; display: block; overflow: hidden; color: #fff; text-decoration: none; }
.wf-slsh__cell-img { display: none !important; }
.wf-slsh__title { position: absolute; left: 50px; right: 40px; bottom: 64px; font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: -0.005em; text-shadow: 0 1px 18px rgba(0, 0, 0, 0.25); transition: opacity 0.35s var(--wf-ease); }
.wf-slsh__panel { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 16px; min-height: 58%; padding: 64px 50px 52px; background: var(--wf-white); color: var(--wf-ink); transform: translateY(101%); transition: transform 0.65s cubic-bezier(0.7, 0, 0.2, 1); }
.wf-slsh__meta { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wf-dim); }
.wf-slsh__panel-title { font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: -0.005em; }
.wf-slsh__text { font-size: 13px; line-height: 1.9; color: var(--wf-text); }
.wf-slsh__panel .wf-lnk { margin-top: auto; }
.wf-slsh__link:hover .wf-slsh__panel, .wf-slsh__link:focus-visible .wf-slsh__panel { transform: none; }
.wf-slsh__link:hover .wf-slsh__title, .wf-slsh__link:focus-visible .wf-slsh__title { opacity: 0; }
.wf-slsh__nav { position: absolute; z-index: 2; top: 40px; left: 40px; display: flex; gap: 6px; }
.wf-slsh__btn { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border: 0; border-radius: 3px; background: #fff; color: var(--wf-ink); cursor: pointer; transition: background-color 0.3s, color 0.3s; }
.wf-slsh__btn svg { width: 16px; height: 16px; fill: currentColor; }
.wf-slsh__btn:hover, .wf-slsh__btn:focus-visible { background: var(--wf-gold); }
.wf .wf-note { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 44px; padding: 13px 18px; border: 1px solid var(--wf-line-dark); border-radius: 999px; font-size: 14px; color: var(--wf-on-dark-dim); }
.wf-note a { color: var(--wf-on-dark); text-decoration: underline; text-underline-offset: 3px; }
.wf-note a:hover { color: var(--wf-gold-lit); }

/* 5 — Corporate video (constructionone): poster, round play, lightbox. */
.wf-video { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--wf-radius); background: var(--wf-char); color: var(--wf-on-dark); text-decoration: none; }
.wf-video > .wf-media { position: absolute; inset: 0; border-radius: 0; }
.wf-video__play { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 104px; height: 104px; border-radius: 50%; background: var(--wf-white); color: var(--wf-ink); transition: transform 0.5s var(--wf-ease); }
.wf-video:hover .wf-video__play { transform: scale(1.08); }
.wf-video__title { position: absolute; left: 32px; bottom: 28px; font-family: var(--wf-display); font-size: 20px; letter-spacing: 0.06em; text-transform: uppercase; }

/* 6 — News (interiorarc): title left, link right, cards with a soft radius. */
.wf-news__card { display: flex; flex-direction: column; gap: 16px; color: inherit; text-decoration: none; }
.wf-news__card .wf-media { aspect-ratio: 16 / 11; }
.wf-news__card:hover .wf-media img { transform: scale(1.05); }
.wf-news__meta { font-size: 13px; color: var(--wf-dim); }
.wf-news__title { font-size: 21px; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; }
.wf-news__excerpt { font-size: 15px; line-height: 1.65; color: var(--wf-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wf-news__more { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; }
.wf-news__more::after { content: "+"; font-weight: 300; transition: transform 0.4s var(--wf-ease); }
.wf-news__card:hover .wf-news__more::after { transform: rotate(90deg); }

/* 7 — Responsibility (asyonearc): full-bleed picture, a big centred title. */
.wf-band { position: relative; display: flex; align-items: center; justify-content: center; min-height: 760px; padding: 120px 0; overflow: hidden; background: var(--wf-ink); color: #fff; text-align: center; }
.wf-band > .wf-media { position: absolute; inset: 0; border-radius: 0; }
.wf-band > .wf-media::after { content: ""; position: absolute; inset: 0; background: rgba(14, 14, 13, 0.5); }
.wf-band__body { position: relative; display: flex; flex-direction: column; align-items: center; gap: 28px; }
.cpg-body--holding .wf .wf-band__title { max-width: 980px; font-family: var(--wf-font); font-size: clamp(40px, 4.4vw + 6px, 84px); font-weight: 600; line-height: 1.04; letter-spacing: -0.03em; }
.wf-band__body p { max-width: 640px; font-size: 17px; line-height: 1.7; color: rgba(255, 255, 255, 0.85); }
.wf .wf-pill { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 28px; border-radius: 999px; background: #fff; color: var(--wf-ink); font-size: 14px; font-weight: 600; text-decoration: none; transition: background-color 0.3s, color 0.3s; }
.wf .wf-pill:hover, .wf .wf-pill:focus-visible { background: var(--wf-gold); color: var(--wf-ink); }

/* 8 — About + Careers (renovationarc): picture cards, label top-left, title, "— Learn more". */
.wf .wf-entry { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 520px; padding: 40px; overflow: hidden; border-radius: var(--wf-radius); background: var(--wf-char); color: #fff; text-decoration: none; }
.wf-entry > .wf-media { position: absolute; inset: 0; border-radius: 0; }
.wf-entry > .wf-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 14, 13, 0.6) 0%, rgba(14, 14, 13, 0.3) 38%, rgba(14, 14, 13, 0.88) 100%); }
.wf-entry:hover > .wf-media img { transform: scale(1.05); }
.wf-entry > :not(.wf-media) { position: relative; }
.wf-entry__label { display: flex; flex-direction: column; gap: 10px; font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.wf-entry__label::after { content: ""; width: 16px; height: 2px; background: currentColor; }
.wf-entry__title { max-width: 440px; font-size: 34px; font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; }
.wf .wf-entry__text { max-width: 440px; margin-top: 14px; font-size: 15px; line-height: 1.65; color: rgba(255, 255, 255, 0.82); }

/* --- Responsive --------------------------------------------------------------- */
@media (max-width: 1100px) {
  .wf-carousel__track { grid-auto-columns: calc((100% - 20px) / 1.6); }
  .wf-slsh__track { grid-auto-columns: calc(100% / 3); }
  .wf-over { grid-template-columns: minmax(0, 1fr); }
  .wf-over__card { margin: -120px 32px 0; }
  .wf-over__media { min-height: 0; aspect-ratio: 16 / 10; }
}
@media (max-width: 800px) {
  .wf-g2, .wf-g3 { grid-template-columns: minmax(0, 1fr); }
  .wf-g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wf-wrap { padding-inline: 20px; }
  .wf-sec { padding-block: 72px; }
  .wf-sec--tail { padding-block: 0 72px; }
  .wf-head, .wf-port__head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .wf-hero__rail { display: none; }
  .wf-hero__body { padding-top: 96px; padding-bottom: 32px; gap: 18px; }
  .wf-hero__rule { width: 120px; height: 4px; }
  .wf-hero__scroll { display: none; }
  .wf-hero__figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; width: 100%; }
  .wf-hero__fig { flex-direction: column; align-items: flex-start; gap: 6px; }
  .wf-hero__fig-value { font-size: 34px; }
  .wf-hero__fig-label { font-size: 11px; letter-spacing: 0.04em; }
  .wf-figband { padding: 56px 0; }
  .wf-figband ul { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .wf-panel { min-height: 0; padding: 72px 0 56px; gap: 200px; }
  .wf-panel__list { flex-direction: column; align-items: flex-start; gap: 10px; }
  .wf-panel__item { padding-inline-end: 0; }
  .wf-panel__item::after { display: none; }
  .wf-panel__item { color: var(--wf-on-dark); }
  .wf-over__card { margin: -64px 12px 0; padding: 32px 24px; }
  .wf-over__card h3 { font-size: 26px; }
  .wf-port { padding: 72px 0; }
  .wf-slsh { height: 460px; }
  .wf-slsh__stage { display: none; }
  .wf-slsh { height: 440px; background: var(--wf-char); }
  .wf .wf-slsh__track { grid-auto-columns: 82%; gap: 12px; padding-inline: 20px; scroll-padding-inline: 20px; }
  .wf-slsh__cell { overflow: hidden; border-radius: var(--wf-radius); }
  .wf-slsh__cell { border: 0; }
  .wf-slsh__cell-img { display: block !important; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .wf-slsh__link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(14, 14, 13, 0.75) 100%); }
  .wf .wf-slsh__title { z-index: 1; left: 24px; right: 24px; bottom: 28px; font-size: 20px; }
  .wf-slsh__panel { display: none; }
  .wf-slsh__nav { display: none; }
  .wf-carousel__track { grid-auto-columns: 84%; margin-inline-end: -20px; padding-inline-end: 20px; }
  .wf-port__arrows { display: none; }
  .wf-note { border-radius: var(--wf-radius); }
  .wf-g3.wf-news__track { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84%; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .wf-news__track > * { scroll-snap-align: start; }
  .wf-band { min-height: 560px; padding: 80px 0; }
  .wf-entry { min-height: 420px; padding: 28px; }
  .wf-entry__title { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .wf *, .wf *::before, .wf *::after { transition: none !important; animation: none !important; }
}

/* Georgian: display capitals and spacing that suit mkhedruli. */
:root:lang(ka) .wf :is(.wf-title, .wf-hero__title, .wf-fig__label, .wf-port__count, .wf-pcard__name) { font-family: var(--cpg-font-georgian-display, "Noto Sans Georgian"), var(--wf-display) !important; letter-spacing: 0.02em; }
:root:lang(ka) .wf :is(.wf-mono, .wf-label, .wf-btn, .wf-tag, .wf-entry__label) { letter-spacing: 0.04em; }
:root:lang(ka) .wf :is(.wf-band__title, .wf-h2, .wf-over__card h3, .wf-entry__title) { letter-spacing: 0; }

/* ==========================================================================
   INNER PAGES — order and content from boards 03–08; components from ArcHub
   (thebuildingarc page hero, arcadaptive approach, darkarc banner and logo
   grid, classicfivearc figures, interiorarc filter + grid, residencearc
   project details, constructionone mosaic, minimalarc highlights,
   thebuildingarc dark form, asyonearc prev/next, renovationarc sub-nav,
   constructionone founders, freelancerarchitectarc history, interiorstudioarc
   news, constructiontwo/arcstudio3 contacts).
   ========================================================================== */

/* Page hero (thebuildingarc "The Studio"): picture, crumb, big two-tone title. */
.wf-phero { position: relative; display: flex; align-items: flex-end; min-height: clamp(480px, 70vh, 760px); overflow: hidden; background: var(--wf-char); color: #fff; }
.wf-phero--tall { min-height: clamp(560px, 88vh, 960px); }
.wf-phero--plain { min-height: clamp(400px, 52vh, 560px); }
.wf-phero--plain::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.022) 0 1px, transparent 1px 14px); }
.wf-phero > .wf-media { position: absolute; inset: 0; border-radius: 0; }
.wf-phero > .wf-media img { position: absolute; inset: 0; }
.wf-phero > .wf-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 14, 13, 0.6) 0%, rgba(14, 14, 13, 0.2) 38%, rgba(14, 14, 13, 0.82) 100%); }
.wf-phero__body { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; gap: 24px 64px; padding-top: 150px; padding-bottom: 72px; }
.wf-phero__main { display: flex; flex-direction: column; gap: 22px; }
.cpg-body--holding .wf .wf-phero__title { max-width: 100%; font-family: var(--wf-display); font-size: clamp(42px, 5vw + 12px, 112px); font-weight: 600; line-height: 0.98; letter-spacing: 0.01em; text-transform: uppercase; }
.wf-phero__title em { font-style: normal; color: var(--wf-gold-lit); }
.wf-phero__eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255, 255, 255, 0.78); }
.wf .wf-phero__intro { font-size: 17px; line-height: 1.75; color: rgba(255, 255, 255, 0.85); }
.wf-phero__side { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.wf-crumb { display: flex; flex-wrap: wrap; gap: 0 0.6em; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); }
.wf-crumb a { color: inherit; text-decoration: none; }
.wf-crumb a:hover { color: #fff; }
.wf-crumb li + li::before { content: "/"; margin-inline-end: 0.6em; opacity: 0.6; }
.wf-phero .wf-btn:hover { background: #fff; border-color: #fff; color: var(--wf-ink); }

/* Section head shared by inner pages: two-tone title left, aside right. */
.wf-shead { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 48px; }
.wf-shead__titles { display: flex; flex-direction: column; gap: 14px; }
.wf .wf-shead p { max-width: 560px; font-size: 17px; line-height: 1.6; color: var(--wf-dim); }

/* Approach (arcadaptive): label + title left, a large paragraph right. */
.wf-approach { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; }
.wf .wf-approach p { font-size: 22px; line-height: 1.65; color: var(--wf-text); }

/* Cards (arcstudiotwo / interiorarc). */
.wf-card .wf-media { aspect-ratio: 4 / 3; }
.wf-card__meta { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wf-dim); }
.wf-status { display: inline-block; width: max-content; padding: 6px 10px; background: #ECEBE5; font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wf-ink); }

/* Image-left / charcoal-text banner (darkarc). */
.wf-promo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); overflow: hidden; border-radius: var(--wf-radius); background: var(--wf-char); color: var(--wf-on-dark); }
.wf-promo > .wf-media { min-height: 460px; border-radius: 0; }
.wf-promo > .wf-media img { position: absolute; inset: 0; }
.wf-promo__body { display: flex; flex-direction: column; justify-content: center; gap: 22px; padding: 72px 64px; }
.wf .wf-promo__body h3 { font-family: var(--wf-display); font-size: clamp(30px, 2vw + 14px, 44px); font-weight: 500; line-height: 1.08; letter-spacing: 0.04em; text-transform: uppercase; }
.wf .wf-promo__body p { font-size: 16px; line-height: 1.75; color: rgba(245, 244, 240, 0.75); }
.wf-promo .wf-btn { align-self: flex-start; background: var(--wf-gold); border-color: var(--wf-gold); color: var(--wf-ink); }
.wf-promo .wf-btn:hover { background: #fff; border-color: #fff; color: var(--wf-ink); }

/* Company tiles (darkarc client grid). */
.wf-logos { padding: 112px 0; background: var(--wf-char); color: var(--wf-on-dark); }
.wf-logos__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); border-top: 1px solid var(--wf-line-dark); border-left: 1px solid var(--wf-line-dark); }
.wf .wf-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 180px; padding: 24px; border-right: 1px solid var(--wf-line-dark); border-bottom: 1px solid var(--wf-line-dark); color: var(--wf-on-dark); font-size: 20px; font-weight: 600; text-align: center; text-decoration: none; transition: background-color 0.35s var(--wf-ease); }
.wf a.wf-tile:hover { background: rgba(255, 255, 255, 0.04); }
.wf-tile small { font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wf-gold-lit); }

/* Projects listing filter (interiorarc): "Filter by" text links + quiet selects. */
.wf-filterbar { position: sticky; top: 0; z-index: 5; padding: 22px 0; background: rgba(245, 244, 240, 0.94); border-bottom: 1px solid var(--wf-line); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.wf-filterbar__row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px 32px; }
.wf-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 26px; }
.wf-chips__label { font-size: 13px; color: var(--wf-dim); }
.wf .wf-chip { position: relative; display: inline-flex; padding: 6px 0; border: 0; background: none; color: var(--wf-dim); font: 500 15px/1.2 var(--wf-font); text-decoration: none; cursor: pointer; transition: color 0.25s; }
.wf-chip::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 0.4s var(--wf-ease); }
.wf .wf-chip:hover, .wf .wf-chip.is-on, .wf .wf-chip[aria-pressed="true"] { color: var(--wf-ink); }
.wf-chip.is-on::after, .wf-chip[aria-pressed="true"]::after, .wf-chip:hover::after { transform: scaleX(1); }
.wf-selects { display: flex; gap: 24px; flex-wrap: wrap; }
.wf-sel { position: relative; }
.wf-sel select { appearance: none; -webkit-appearance: none; min-width: 190px; min-height: 40px; padding: 0 28px 0 0; border: 0; border-bottom: 1px solid var(--wf-ink); border-radius: 0; background: transparent; color: var(--wf-ink); font: 500 14px/1 var(--wf-font); cursor: pointer; }
.wf-sel::after { content: ""; position: absolute; right: 4px; top: 50%; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.wf-sel select:focus-visible { outline: 2px solid var(--wf-gold); outline-offset: 4px; }
.wf-grid-empty { padding: 48px 0; text-align: center; color: var(--wf-dim); }
.wf-more { display: flex; flex-direction: column; align-items: center; gap: 14px; }
[data-wf-item][hidden] { display: none !important; }
.wf-g3--cards { row-gap: 56px; }

/* Project: details table (residencearc "Project Details."). */
.wf-facts { display: grid; grid-template-columns: repeat(var(--wf-facts, 4), minmax(0, 1fr)); border-top: 1px solid var(--wf-line); }
.wf-facts > div { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px 26px 0; border-bottom: 1px solid var(--wf-line); }
.wf-facts dt { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wf-dim); }
.wf-facts dd { margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
.wf-prose { display: flex; flex-direction: column; gap: 18px; font-size: 17px; line-height: 1.8; color: var(--wf-text); }
.wf-prose p { margin: 0; }

/* Project gallery mosaic (constructionone): one large + four small, lightbox. */
.wf-mosaic { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 12px; height: clamp(420px, 46vw, 680px); }
.wf-mosaic a { position: relative; display: block; overflow: hidden; border-radius: var(--wf-radius); background: #D8D6CF; }
.wf-mosaic a:first-child { grid-row: span 2; }
.wf-mosaic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--wf-ease); }
.wf-mosaic a:hover img { transform: scale(1.05); }
.wf-mosaic__more { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(14, 14, 13, 0.55); color: #fff; font-family: var(--wf-display); font-size: 26px; letter-spacing: 0.06em; }
.wf-lightbox { position: fixed; inset: 0; z-index: 3000; display: grid; grid-template-columns: 80px minmax(0, 1fr) 80px; align-items: center; background: rgba(10, 10, 9, 0.94); }
.wf-lightbox img { max-width: 100%; max-height: 86vh; margin: auto; object-fit: contain; }
.wf-lightbox button { width: 56px; height: 56px; margin: auto; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 50%; background: none; color: #fff; font-size: 20px; cursor: pointer; }
.wf-lightbox__close { position: absolute; top: 24px; right: 24px; }
.wf-lightbox__count { position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%); color: rgba(255, 255, 255, 0.75); font-size: 13px; letter-spacing: 0.14em; }

/* Highlights (minimalarc): top rule with a dot. */
.wf-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.wf-highlights > div { position: relative; padding-top: 36px; border-top: 1px solid var(--wf-line); }
.wf-highlights > div::before { content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--wf-ink); }
.wf .wf-highlights h3 { font-size: 22px; font-weight: 600; letter-spacing: -0.01em; }
.wf .wf-highlights p { margin-top: 12px; font-size: 15px; line-height: 1.8; color: var(--wf-text); }

/* Location + downloads. */
.wf-locate { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: stretch; }
.wf-map { position: relative; min-height: 420px; overflow: hidden; border-radius: var(--wf-radius); background: #D8D6CF; }
.wf-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) contrast(1.05); }
.wf-locate__side { display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.wf-locate__side .wf-btn { justify-content: center; }
.wf .wf-btn--solid { background: var(--wf-ink); border-color: var(--wf-ink); color: #fff; }
.wf .wf-btn--solid:hover { background: var(--wf-gold); border-color: var(--wf-gold); color: var(--wf-ink); }

/* Dark enquiry form (thebuildingarc "Let's talk"). */
.wf-formband { padding: 120px 0; background: var(--wf-char); color: var(--wf-on-dark); }
.wf-formband__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; }
.wf .wf-formband__grid > div > p { margin-top: 20px; font-size: 16px; line-height: 1.75; color: rgba(245, 244, 240, 0.72); }
.wf-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px; }
.wf-form__wide { grid-column: 1 / -1; }
.wf-field { display: flex; flex-direction: column; gap: 8px; }
.wf-field label { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wf-dim); }
.wf-onchar .wf-field label, .wf-formband .wf-field label { color: rgba(245, 244, 240, 0.6); }
.wf-field :is(input, select, textarea) { width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid var(--wf-line); border-radius: 0; background: transparent; color: inherit; font: 400 16px/1.5 var(--wf-font); }
.wf-formband .wf-field :is(input, select, textarea) { border-bottom-color: rgba(245, 244, 240, 0.25); }
.wf-field select option { color: var(--wf-ink); }
.wf-field textarea { min-height: 120px; resize: vertical; }
.wf-field :is(input, select, textarea):focus { outline: none; border-bottom-color: var(--wf-gold); }
.wf-field__error, .cpg-field__error { margin: 0; font-size: 13px; color: #E07A5F; }
.wf-consent { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.6; }
.wf-consent input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--wf-gold); }
.wf-form .wf-btn { justify-content: center; width: 100%; min-height: 56px; background: var(--wf-gold); border-color: var(--wf-gold); color: var(--wf-ink); }
.wf-form .wf-btn:hover { background: var(--wf-ink); border-color: var(--wf-ink); color: #fff; }
.wf-formband .wf-form .wf-btn:hover { background: #fff; border-color: #fff; color: var(--wf-ink); }
.wf-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

/* Prev / next (asyonearc post). */
.wf-pnav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 40px 0; border-top: 1px solid var(--wf-line); border-bottom: 1px solid var(--wf-line); }
.wf-pnav a { display: flex; flex-direction: column; gap: 6px; color: inherit; text-decoration: none; }
.wf-pnav a small { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wf-dim); }
.wf-pnav a span { font-size: 18px; font-weight: 600; }
.wf-pnav a:hover span { color: var(--wf-gold); }
.wf-pnav__next { text-align: right; align-items: flex-end; }
.wf-pnav__all { display: inline-flex !important; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1px solid var(--wf-line); border-radius: 50%; }

/* About sub-nav (renovationarc): a quiet bar of tabs under the hero. */
.wf-subnav { position: sticky; top: 0; z-index: 5; background: var(--wf-white); border-bottom: 1px solid var(--wf-line); }
.wf-subnav ul { display: flex; gap: 40px; overflow-x: auto; scrollbar-width: none; }
.wf-subnav a { display: inline-flex; align-items: center; min-height: 64px; border-bottom: 2px solid transparent; color: var(--wf-dim); font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.wf-subnav a[aria-current="page"], .wf-subnav a:hover { color: var(--wf-ink); border-bottom-color: var(--wf-ink); }

/* Founders (constructionone partner cards). */
.wf-founders { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.wf-founder { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 32px; align-items: end; }
.wf-founder .wf-media { aspect-ratio: 4 / 5; }
.wf-founder__body { display: flex; flex-direction: column; gap: 12px; padding-bottom: 6px; }
.wf .wf-founder__body h3 { font-size: 26px; font-weight: 600; letter-spacing: -0.015em; }
.wf .wf-founder__body p { font-size: 15px; line-height: 1.75; color: var(--wf-text); }

/* Leadership grid (arcstudiotwo). */
.wf-people { display: grid; grid-template-columns: repeat(var(--wf-people, 4), minmax(0, 1fr)); gap: 24px; }
.wf-person { display: flex; flex-direction: column; gap: 14px; color: inherit; text-decoration: none; }
.wf-person .wf-media { aspect-ratio: 4 / 5; }
.wf-person:hover .wf-media img { transform: scale(1.05); }
.wf-person b { font-size: 18px; font-weight: 600; }
.wf-person small { font-size: 13px; line-height: 1.5; color: var(--wf-dim); }

/* History (freelancerarchitectarc): dark rows, year left, text right. */
.wf-history { padding: 120px 0; background: var(--wf-char); color: var(--wf-on-dark); }
.wf-history ol { border-top: 1px solid var(--wf-line-dark); }
.wf-history li { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 32px; padding: 32px 0; border-bottom: 1px solid var(--wf-line-dark); }
.wf-history__year { font-family: var(--wf-display); font-size: clamp(30px, 2vw + 12px, 44px); font-weight: 500; color: var(--wf-gold-lit); letter-spacing: 0.02em; }
.wf .wf-history h3 { font-size: 21px; font-weight: 600; }
.wf .wf-history p { margin-top: 8px; font-size: 15px; line-height: 1.75; color: rgba(245, 244, 240, 0.68); }

/* Two bordered cards (freelancerarchitectarc contact cards / arcadaptive panels). */
.wf-panels { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; }
.wf-panelcard { display: flex; flex-direction: column; justify-content: space-between; gap: 32px; min-height: 280px; padding: 48px; border: 1px solid var(--wf-line); border-radius: var(--wf-radius); background: var(--wf-white); }
.wf .wf-panelcard h3 { font-family: var(--wf-display); font-size: 34px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; }
.wf .wf-panelcard p { margin-top: 12px; font-size: 16px; line-height: 1.7; color: var(--wf-text); }

/* News (interiorstudioarc bordered cards). */
.wf-newsgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.wf .wf-bcard { display: flex; flex-direction: column; gap: 16px; padding: 18px 18px 28px; border: 1px solid var(--wf-line); border-radius: var(--wf-radius); background: var(--wf-white); color: inherit; text-decoration: none; transition: box-shadow 0.4s var(--wf-ease), transform 0.4s var(--wf-ease); }
.wf .wf-bcard:hover { box-shadow: 0 24px 48px -28px rgba(20, 20, 18, 0.35); transform: translateY(-4px); }
.wf-bcard .wf-media { aspect-ratio: 16 / 11; }
.wf-bcard > :not(.wf-media) { padding-inline: 6px; }
.wf-feature-post { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: center; }
.wf-feature-post .wf-media { aspect-ratio: 16 / 10; }
.wf .wf-feature-post h2 { font-size: clamp(28px, 1.8vw + 12px, 40px); font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; }
.wf .wf-feature-post p { font-size: 16px; line-height: 1.75; color: var(--wf-text); }
.wf-search { display: flex; align-items: center; gap: 10px; min-width: 260px; border-bottom: 1px solid var(--wf-ink); }
.wf-search input { flex: 1; min-height: 40px; border: 0; background: transparent; font: 400 15px var(--wf-font); color: var(--wf-ink); }
.wf-search input:focus { outline: none; }
.wf-search button { border: 0; background: none; padding: 0; cursor: pointer; color: var(--wf-ink); }
.wf-pager { display: flex; justify-content: center; gap: 8px; }
.wf .wf-pager a, .wf-pager span { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 48px; padding: 0 12px; border: 1px solid var(--wf-line); color: inherit; font-size: 15px; font-weight: 600; text-decoration: none; }
.wf-pager [aria-current="page"] { background: var(--wf-ink); border-color: var(--wf-ink); color: #fff; }
.wf .wf-pager a:hover { border-color: var(--wf-ink); }

/* Contacts (arcstudio3 "Find our office" + constructiontwo form). */
.wf-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: start; }
.wf-office { display: flex; flex-direction: column; gap: 10px; font-size: 16px; line-height: 1.7; }
.wf .wf-office h2 { margin-bottom: 8px; font-size: 28px; font-weight: 600; letter-spacing: -0.015em; }
.wf .wf-office a { color: inherit; text-decoration: none; }
.wf .wf-office a:hover { color: var(--wf-gold); }
.wf-depts { margin-top: 28px; border-top: 1px solid var(--wf-line); }
.wf-depts > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--wf-line); }
.wf-depts dt { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wf-dim); }
.wf-depts dd { margin: 0; font-size: 15px; }
.wf-cardform { padding: 56px; border-radius: var(--wf-radius); background: var(--wf-white); box-shadow: 0 30px 60px -36px rgba(20, 20, 18, 0.3); }
.wf .wf-cardform h2 { margin-bottom: 32px; font-family: var(--wf-display); font-size: 34px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; }
.wf-mapband { position: relative; height: clamp(360px, 42vw, 560px); background: #D8D6CF; }
.wf-mapband iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) contrast(1.05); }

@media (max-width: 1100px) {
  .wf-g3.wf-g3--cards, .wf-newsgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wf-people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wf-founders { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .wf-phero__body { grid-template-columns: minmax(0, 1fr); padding-top: 120px; padding-bottom: 48px; }
  .wf-shead { flex-direction: column; align-items: flex-start; gap: 16px; }
  .wf-approach, .wf-promo, .wf-locate, .wf-formband__grid, .wf-contact, .wf-feature-post { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .wf .wf-approach p { font-size: 18px; }
  .wf-promo > .wf-media { min-height: 0; aspect-ratio: 16 / 10; }
  .wf-promo__body { padding: 40px 24px; }
  .wf-logos { padding: 72px 0; }
  .wf-logos__grid { grid-template-columns: minmax(0, 1fr); }
  .wf-filterbar { position: static; }
  .wf-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -20px; padding-inline: 20px; }
  .wf-chips::-webkit-scrollbar { display: none; }
  .wf-chip { flex: none; }
  .wf-selects, .wf-sel, .wf-sel select, .wf-search { width: 100%; min-width: 0; }
  .wf-g3.wf-g3--cards, .wf-newsgrid, .wf-highlights { grid-template-columns: minmax(0, 1fr); }
  .wf-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wf-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; height: auto; }
  .wf-mosaic a { aspect-ratio: 4 / 3; }
  .wf-mosaic a:first-child { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 16 / 10; }
  .wf-form { grid-template-columns: minmax(0, 1fr); }
  .wf-formband, .wf-history { padding: 72px 0; }
  .wf-pnav { grid-template-columns: 1fr 1fr; }
  .wf-pnav__all { display: none !important; }
  .wf-founder { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 20px; }
  .wf-history li { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .wf-cardform { padding: 32px 20px; }
  .wf-lightbox { grid-template-columns: 48px minmax(0, 1fr) 48px; }
  .wf-lightbox button { width: 40px; height: 40px; }
}
:root:lang(ka) .wf :is(.wf-phero__title, .wf-promo__body h3, .wf-panelcard h3, .wf-cardform h2, .wf-history__year) { font-family: var(--cpg-font-georgian-display, "Noto Sans Georgian"), var(--wf-display) !important; letter-spacing: 0.02em; }

/* Portfolio, revised 2026-10-16: every column carries its own project's
   picture (no shared backdrop) on a white section. The white panel still
   rises over the column pointed at. */
.wf .wf-port { background: var(--wf-white); color: var(--wf-ink); }
.wf-port .wf-port__count { color: var(--wf-dim); }
.wf-port .wf-port__count b { color: var(--wf-ink); }
.wf-port .wf-btn:hover, .wf-port .wf-btn:focus-visible { background: var(--wf-ink); border-color: var(--wf-ink); color: var(--wf-white); }
.wf-port .wf-slsh { background: transparent; }
.wf-port .wf-slsh__stage { display: none; }
.wf .wf-port .wf-slsh__track { gap: 6px; }
.wf-port .wf-slsh__cell { overflow: hidden; border: 0; border-radius: var(--wf-radius); background: #D8D6CF; }
.wf-port .wf-slsh__cell-img { display: block !important; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.3s var(--wf-ease); }
.wf-port .wf-slsh__link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 14, 13, 0) 45%, rgba(14, 14, 13, 0.72) 100%); pointer-events: none; }
.wf-port .wf-slsh__title { z-index: 1; }
.wf-port .wf-slsh__panel { z-index: 2; }
.wf-port .wf-slsh__link:hover .wf-slsh__cell-img, .wf-port .wf-slsh__link:focus-visible .wf-slsh__cell-img { transform: scale(1.06); }
.wf-port .wf-note { border-color: var(--wf-line); color: var(--wf-dim); }
.wf-port .wf-note a { color: var(--wf-ink); }
.wf-port .wf-note a:hover { color: var(--wf-gold); }
@media (max-width: 800px) {
  .wf .wf-port .wf-slsh__track { gap: 12px; }
}

/* Portfolio sub-title under the head (board 01 §5: one line). */
.wf-port__titles { display: flex; flex-direction: column; gap: 14px; }
.wf .wf-port__sub { max-width: 640px; font-size: 18px; line-height: 1.55; color: var(--wf-dim); }
@media (max-width: 800px) { .wf .wf-port__sub { font-size: 16px; } }

/* Inner pages, small additions. */
.wf-btn--light { color: #fff; }
.wf .wf-entry--sm { min-height: 440px; padding: 32px; }
.wf-entry--sm .wf-entry__title { font-size: clamp(24px, 1vw + 16px, 32px); }
.wf-listing { padding: 56px 0 128px; }
.wf-listing > .wf-wrap { display: flex; flex-direction: column; gap: 40px; }
.wf-listing__count { align-self: flex-end; }
@media (max-width: 800px) { .wf-listing { padding: 40px 0 72px; } .wf-listing__count { align-self: flex-start; } }
.wf-locate--nomap { grid-template-columns: minmax(0, 1fr); }
.wf-locate--nomap .wf-locate__side { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px 24px; padding: 48px; border: 1px solid var(--wf-line); border-radius: var(--wf-radius); background: var(--wf-white); }
.wf-locate--nomap .wf-locate__side > .wf-label, .wf-locate--nomap .wf-locate__address { flex: 1 1 100%; }
.wf .wf-locate__address { font-size: 22px; font-weight: 600; line-height: 1.4; letter-spacing: -0.01em; }
.wf-formband .wf-title em, .wf-history .wf-title em, .wf-logos .wf-title em { color: var(--wf-gold-lit); }
.wf-formband :is(.wf-label, .wf-mono) { color: var(--wf-on-dark-dim); }
.wf-formband .wf-consent a { color: inherit; }
.wf-formband .cpg-alert { margin: 0; }
.wf-lightbox__count { margin: 0; }
@media (max-width: 800px) { .wf-locate--nomap .wf-locate__side { padding: 28px 20px; } .wf-locate--nomap .wf-locate__side .wf-btn { width: 100%; } }
.wf-sec--lead { padding-top: 128px; }
@media (max-width: 800px) { .wf-sec--lead { padding-top: 72px; } }
.wf-values { display: flex; flex-direction: column; border-top: 1px solid var(--wf-line); }
.wf-values li { display: flex; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--wf-line); font-size: 18px; font-weight: 600; color: var(--wf-ink); }
.wf-values li span { font-family: var(--wf-mono); font-size: 12px; font-weight: 500; color: var(--wf-gold); padding-top: 5px; }
.wf-vision { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; padding-top: 48px; border-top: 1px solid var(--wf-line); }
.wf .wf-vision blockquote { margin: 0; font-family: var(--wf-display); font-size: clamp(26px, 1.6vw + 14px, 40px); font-weight: 400; line-height: 1.3; text-transform: uppercase; letter-spacing: 0.02em; }
@media (max-width: 800px) { .wf-vision { grid-template-columns: minmax(0, 1fr); gap: 20px; } }
.wf-newsbar__end { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.wf .wf-newsbar__link { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wf-dim); text-decoration: none; }
.wf .wf-newsbar__link:hover { color: var(--wf-ink); }
.wf-feature-post__body { display: flex; flex-direction: column; gap: 20px; }
.wf .wf-feature-post h2 a { color: inherit; text-decoration: none; }
.wf .wf-feature-post h2 a:hover { color: var(--wf-gold); }
.wf-feature-post > .wf-media { display: block; border-radius: var(--wf-radius); }
.wf-feature-post > .wf-media img { position: absolute; inset: 0; }
.wf-bcard .wf-media img { position: absolute; inset: 0; }
.wf-bcard:hover .wf-media img { transform: scale(1.05); }
@media (max-width: 800px) { .wf-newsbar__end { width: 100%; } .wf-newsbar__end .wf-search { flex: 1 1 100%; } }
.wf-newsgrid > li { display: flex; }
.wf-newsgrid .wf-bcard { flex: 1; }
.wf-bcard .wf-news__more { margin-top: auto; }
.wf-chips__label { white-space: nowrap; }
@media (max-width: 800px) {
  .wf-founder { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .wf-founder .wf-media { aspect-ratio: 1 / 1; max-width: 320px; }
}

/* Home 5A + 6 — CPG Properties line and the film (arcadaptive banner video). */
.wf-reel { padding: 120px 0 128px; background: var(--wf-white); overflow: hidden; }
.wf-reel__head { display: flex; flex-direction: column; align-items: center; gap: 26px; text-align: center; }
.cpg-body--holding .wf .wf-reel__title { max-width: 880px; font-family: var(--wf-font); font-size: clamp(26px, 1.7vw + 12px, 42px); font-weight: 500; line-height: 1.25; letter-spacing: -0.02em; color: var(--wf-ink); }
.wf-reel__title em { font-style: normal; color: var(--wf-gold); }
.wf-reel__stage { margin-top: 72px; }
.wf-reel__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: 100svh; overflow: hidden; background: var(--wf-char); transform: scale(var(--wf-reel-scale, 0.8)); transform-origin: 50% 0; border-radius: calc(var(--wf-reel-round, 1) * 8px); will-change: transform; }
.wf-reel__frame :is(video, img) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wf .wf-reel__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none; background: rgba(14, 14, 13, 0.18); }
.wf-reel__play:hover .wf-video__play { transform: scale(1.08); }
@media (prefers-reduced-motion: reduce) { .wf-reel__frame { transform: none; border-radius: 0; } }
@media (max-width: 800px) {
  .wf-reel { padding: 72px 0; }
  .wf-reel__stage { margin-top: 48px; }
  .wf-reel__frame { aspect-ratio: 3 / 4; max-height: 82svh; }
  .wf-reel .wf-video__play { width: 72px; height: 72px; }
}
:root:lang(ka) .wf .wf-reel__title { letter-spacing: 0; }
.wf-port + .wf-reel { padding-top: 40px; }

/* Home film, the line gliding over it (arcadaptive). */
.wf-reel { position: relative; }
.wf-reel__head { position: relative; z-index: 2; will-change: transform; }
.wf-reel__stage { position: relative; z-index: 1; }
.wf-reel__frame::after { content: ""; position: absolute; inset: 0; background: rgba(14, 14, 13, var(--wf-reel-shade, 0)); pointer-events: none; }
.wf-reel.is-moving .wf-reel__head :is(.wf-reel__title, .wf-reel__title em, .wf-label) { transition: color 0.5s var(--wf-ease), text-shadow 0.5s var(--wf-ease); }
.wf-reel.is-moving .wf-reel__head .wf-btn { transition: background-color 0.5s var(--wf-ease), border-color 0.5s var(--wf-ease), color 0.5s var(--wf-ease); }
.wf-reel.is-over .wf-reel__head .wf-reel__title { color: #fff; text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35); }
.wf-reel.is-over .wf-reel__head .wf-reel__title em { color: var(--wf-gold-lit); }
.wf-reel.is-over .wf-reel__head .wf-label { color: rgba(255, 255, 255, 0.8); }
.wf .wf-reel.is-over .wf-reel__head .wf-btn--solid { background: #fff; border-color: #fff; color: var(--wf-ink); }
.wf .wf-reel.is-over .wf-reel__head .wf-btn--solid:hover { background: var(--wf-gold); border-color: var(--wf-gold); }

/* Our Business band right under the hero: its films rise out of the same
   black at the top, so pointing at a business never draws an edge. */
#wf-business .cpg-business__frame::after { background: linear-gradient(180deg, #0D0D0C 0%, rgba(13, 13, 12, 0.6) 22%, rgba(0, 0, 0, 0.25) 45%, rgba(0, 0, 0, 0.6) 100%); }

/* TEMPORARY local demo: a Vimeo background embed sized to cover the hero. */
.wf-hero__embed { position: absolute; top: 50%; left: 50%; width: max(100%, 177.78vh); height: max(100%, 56.25vw); border: 0; transform: translate(-50%, -50%); pointer-events: none; }

/* Sticky bars stop under the sticky header (5.5rem desktop, 4.5rem phone). */
.wf-filterbar, .wf-subnav { top: 4.5rem; }
@media (min-width: 64rem) { .wf-filterbar, .wf-subnav { top: 5.5rem; } }





/* News card — Ohio "Classic Metro" (measured at 1440: 381px cards, 32px gaps,
   square picture with 14px corners, DM Sans 22.6/600 headline, grey pills). */
.wf .wf-newsgrid, .wf .wf-g3.wf-news__track { gap: 32px; }
.wf-pc { display: flex; flex-direction: column; width: 100%; }
.wf .wf-pc__figure { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 14px; background: #E7E6E2; isolation: isolate; }
.wf-pc__figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1); }
.wf-pc:hover .wf-pc__figure img { transform: scale(1.05); }
.wf-pc__overlay { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 14px; padding: 21.6px; background: linear-gradient(0deg, rgba(17, 16, 19, 0.5) 0%, rgba(17, 16, 19, 0) 100%); color: #fff; opacity: 0; transform: translateY(6px); transition: opacity 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1); }
.wf-pc:hover .wf-pc__overlay, .wf-pc:focus-within .wf-pc__overlay { opacity: 1; transform: none; }
.wf-pc__avatar { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 48px; height: 48px; border-radius: 50%; background: rgba(136, 135, 137, 0.4); color: var(--wf-gold-lit); font: 700 11px/1 var(--wf-font); letter-spacing: 0.12em; }
.wf-pc__by { display: flex; flex-direction: column; line-height: 1.35; }
.wf-pc__by small { font-size: 14.8px; font-weight: 400; }
.wf-pc__by b { font-size: 15.6px; font-weight: 600; }
.wf-pc__details { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding-top: 20px; }
.wf .wf-pc__meta { font-size: 14.4px; font-weight: 500; line-height: 1.6; color: #575659; }
.wf-pc__meta i { font-style: normal; margin-inline: 4px; }
.wf-pc__meta time { font-weight: 500; }
.wf .wf-pc__title { font-family: "DM Sans", var(--wf-font); font-size: 22.6px; font-weight: 600; line-height: 1.2; letter-spacing: -0.03em; color: #111013; text-transform: none; }
.cpg-body--holding .wf .wf-pc__title { font-family: "DM Sans", var(--wf-font); }
.wf .wf-pc__title a { color: inherit; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size 0.4s var(--wf-ease); }
.wf .wf-pc__title a:hover { background-size: 100% 1px; }
.wf .wf-pc__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.wf .wf-pc__tags a { display: inline-block; padding: 4px 12px; border-radius: 14px; background: rgba(136, 135, 137, 0.12); color: #111013; font-size: 14.4px; font-weight: 500; line-height: 1.4; text-decoration: none; transition: background-color 0.3s var(--wf-ease); }
.wf .wf-pc__tags a:hover { background: rgba(136, 135, 137, 0.22); }
@media (max-width: 800px) {
  .wf .wf-pc__title { font-size: 21px; }
  .wf-pc__overlay { opacity: 1; transform: none; }
}
:root:lang(ka) .wf .wf-pc__title { letter-spacing: 0; }

:root:lang(ka) .wf .wf-pc__title { font-size: 30px; line-height: 1.25; }

/* ==========================================================================
   Home 3 — International Business Councils: the Ohio demo15 showcase slider
   (ohio.clbthemes.com/demo15), to its measurements (1440 and 1920 wide):
   the picture is the left half of each slide; text and the faint giant title
   start at calc(46.25vw - 147px); DM Sans 600 title up to 72px with -0.045em
   tracking; 64px play button with Ohio's pulsing ring (video_sc 1.5s);
   slides move sideways together over 1s ease and loop; the arrow pill sits
   22px from the bottom, 66px from the right. The section is only as tall as
   its picture, and the picture's top melts into the black band above.
   ========================================================================== */
.wf .wf-ohs { position: relative; height: clamp(520px, 70vh, 720px); overflow: hidden; background: #0D0D0C; color: rgba(255, 255, 255, 0.75); }
.wf-ohs__viewport { position: absolute; inset: 0; overflow: hidden; }
.wf-ohs__track { display: flex; height: 100%; transition: transform 1s ease; will-change: transform; }
.wf-ohs__track.is-jumping { transition: none; }
.wf-ohs__slide { position: relative; flex: 0 0 100%; height: 100%; overflow: hidden; }
.wf-ohs__media { position: absolute; z-index: 2; left: 0; top: 0; width: 50%; height: 100%; overflow: hidden; background: #1A1A19; }
.wf-ohs__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wf-ohs__media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, #0D0D0C 0%, rgba(13, 13, 12, 0.6) 12%, rgba(13, 13, 12, 0) 32%), linear-gradient(270deg, rgba(13, 13, 12, 0.85) 0%, rgba(13, 13, 12, 0) 100%); }
.wf .wf-ohs__play { position: absolute; z-index: 4; left: 25%; top: 50%; transform: translate(-50%, -50%); text-decoration: none; }
.wf-ohs__play-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: rgba(17, 16, 19, 0.92); color: #fff; overflow: visible; }
.wf-ohs__play-btn svg { position: relative; z-index: 1; margin-left: 3px; }
.wf-ohs__play-btn::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--wf-gold); transform: scale(0); transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1); }
.wf-ohs__play-btn::after { content: ""; position: absolute; inset: 0; display: block; border-radius: 100%; outline: 0 solid rgba(255, 255, 255, 0.16); opacity: 0; animation: wf-ohs-ring 1.5s linear infinite; }
.wf-ohs__play:hover .wf-ohs__play-btn::before, .wf-ohs__play:focus-visible .wf-ohs__play-btn::before { transform: scale(1); }
.wf-ohs__play:hover .wf-ohs__play-btn::after { animation: none; }
.wf-ohs__play:hover .wf-ohs__play-btn { color: #111013; }
@keyframes wf-ohs-ring { 0% { opacity: 0; outline-width: 0; } 25% { opacity: 1; outline-width: 0.75rem; } 60% { opacity: 0; outline-width: 1.25rem; } 100% { opacity: 0; outline-width: 0.5rem; } }
.wf .wf-ohs__ghost { position: absolute; z-index: 1; left: calc(46.25vw - 152px); top: 61%; margin: 0; font-family: "DM Sans", var(--wf-font); font-size: 16vw; font-weight: 600; line-height: 0.5; letter-spacing: -0.06em; white-space: nowrap; color: rgba(255, 255, 255, 0.025); pointer-events: none; }
.wf-ohs__body { position: absolute; z-index: 3; left: calc(46.25vw - 147px); top: 50%; display: flex; flex-direction: column; align-items: flex-start; width: min(42vw, 656px); transform: translateY(-50%); }
.wf .wf-ohs__meta { margin-bottom: 8px; font-size: 15.1px; font-weight: 500; line-height: 1.6; color: rgba(255, 255, 255, 0.75); }
.cpg-body--holding .wf .wf-ohs__title { margin-bottom: 16px; font-family: "DM Sans", var(--wf-font); font-size: clamp(40px, 4.78vw, 72px); font-weight: 600; line-height: 1; letter-spacing: -0.045em; color: #fff; text-transform: none; }
.wf .wf-ohs__text { margin-bottom: 30px; font-size: 16.4px; line-height: 1.6; color: rgba(255, 255, 255, 0.75); }
.wf .wf-ohs__link { display: inline-flex; align-items: center; gap: 12px; color: rgba(255, 255, 255, 0.85); font-size: 15.6px; font-weight: 600; text-decoration: none; transition: color 0.35s cubic-bezier(0.645, 0.045, 0.355, 1); }
.wf-ohs__link svg { transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1); }
.wf .wf-ohs__link:hover { color: #fff; }
.wf-ohs__link:hover svg { transform: translateX(5px); }
.wf .wf-ohs__scroll { position: absolute; z-index: 5; left: 38px; top: 46%; display: flex; flex-direction: column; align-items: center; gap: 16px; color: rgba(255, 255, 255, 0.85); font-size: 15.6px; font-weight: 600; text-decoration: none; writing-mode: vertical-rl; transform: rotate(180deg); }
.wf-ohs__scroll i { width: 1px; height: 64px; background: currentColor; }
.wf .wf-ohs__social { position: absolute; z-index: 5; right: 80px; top: 50%; display: flex; gap: 10px; margin: 0; font-size: 16px; font-weight: 600; color: rgba(255, 255, 255, 0.85); writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg); }
.wf-ohs__social a { color: inherit; text-decoration: none; }
.wf-ohs__nav { position: absolute; z-index: 5; right: 66px; bottom: 22px; display: flex; padding: 4px; border-radius: 48px; background: rgba(136, 135, 137, 0.08); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.wf-ohs__btn { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0); color: rgba(255, 255, 255, 0.75); cursor: pointer; transition: background-color 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), color 0.35s cubic-bezier(0.645, 0.045, 0.355, 1); }
.wf-ohs__btn:hover { background: rgba(255, 255, 255, 0.08); color: #fff; }
.wf-ohs__btn:focus-visible { outline: 2px solid var(--wf-gold); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .wf-ohs__track { transition: none; } .wf-ohs__play-btn::after { animation: none; } }
@media (max-width: 1100px) {
  .wf-ohs__body { left: 40%; width: 52%; }
  .wf .wf-ohs__ghost { left: 39%; }
  .wf .wf-ohs__social { display: none; }
  .wf-ohs__nav { right: 24px; }
}
@media (max-width: 800px) {
  .wf .wf-ohs { height: auto; }
  .wf-ohs__viewport { position: relative; }
  .wf-ohs__track { height: auto; align-items: stretch; }
  .wf-ohs__slide { height: auto; padding-bottom: 104px; }
  .wf-ohs__media { position: relative; width: 100%; height: auto; aspect-ratio: 4 / 3; }
  .wf-ohs__media::before { background: linear-gradient(180deg, #0D0D0C 0%, rgba(13, 13, 12, 0) 22%, rgba(13, 13, 12, 0) 45%, rgba(13, 13, 12, 0.85) 85%, #0D0D0C 100%); }
  .wf .wf-ohs__play { top: 37.5vw; left: 50%; }
  .wf .wf-ohs__ghost, .wf .wf-ohs__scroll { display: none; }
  .wf-ohs__body { position: relative; left: auto; top: auto; width: auto; margin: -32px 20px 0; transform: none; }
  .cpg-body--holding .wf .wf-ohs__title { font-size: clamp(32px, 9vw, 44px); }
  .wf .wf-ohs__text { font-size: 16px; }
  .wf-ohs__nav { right: 20px; bottom: 32px; }
}
:root:lang(ka) .cpg-body--holding .wf .wf-ohs__title { letter-spacing: 0; }

/* Councils slider, revised (owner, 2026-10-16): the slides no longer travel
   like cards. Pictures crossfade (the incoming one settling from a slight
   zoom); the text leaves upward and the new text drops in from above, line
   by line; one still play button that never moves; plain line arrows; a
   lighter top fade so the black does not reach far into the picture. */
.wf-ohs__track { position: relative; display: block; height: 100%; transform: none !important; transition: none; }
.wf-ohs__slide { position: absolute; inset: 0; height: 100%; }
.wf-ohs__slide .wf-ohs__media { opacity: 0; transition: opacity 1s ease; }
.wf-ohs__slide .wf-ohs__media img { transform: scale(1.06); transition: transform 1.6s cubic-bezier(0.2, 0.8, 0.2, 1); }
.wf-ohs__slide.is-active .wf-ohs__media { opacity: 1; }
.wf-ohs__slide.is-active .wf-ohs__media img { transform: none; }
.wf-ohs__slide .wf-ohs__ghost { opacity: 0; transition: opacity 0.8s ease; }
.wf-ohs__slide.is-active .wf-ohs__ghost { opacity: 1; }
.wf-ohs__body > * { opacity: 0; transform: translateY(-28px); transition: opacity 0.35s ease, transform 0.35s ease; }
.wf-ohs__slide.is-active .wf-ohs__body > * { opacity: 1; transform: none; transition: opacity 0.7s ease, transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1); }
.wf-ohs__slide.is-active .wf-ohs__body > :nth-child(1) { transition-delay: 0.35s; }
.wf-ohs__slide.is-active .wf-ohs__body > :nth-child(2) { transition-delay: 0.45s; }
.wf-ohs__slide.is-active .wf-ohs__body > :nth-child(3) { transition-delay: 0.55s; }
.wf-ohs__slide.is-active .wf-ohs__body > :nth-child(4) { transition-delay: 0.65s; }
.wf-ohs__slide.is-leaving .wf-ohs__body > * { opacity: 0; transform: translateY(18px); }
.wf-ohs__slide:not(.is-active) { pointer-events: none; }
.wf-ohs__media::before { background: linear-gradient(180deg, rgba(13, 13, 12, 0.85) 0%, rgba(13, 13, 12, 0.3) 5%, rgba(13, 13, 12, 0) 12%), linear-gradient(270deg, rgba(13, 13, 12, 0.85) 0%, rgba(13, 13, 12, 0) 100%); }
/* The play button: one, still, no pulse. */
.wf .wf-ohs__play { z-index: 6; }
.wf-ohs__play-btn::after { content: none; animation: none; }
/* Plain line arrows. */
.wf-ohs__nav { gap: 28px; padding: 0; border-radius: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; right: 66px; bottom: 34px; }
.wf-ohs__btn { width: auto; height: 32px; padding: 0; border-radius: 0; background: none; color: rgba(255, 255, 255, 0.7); }
.wf-ohs__btn:hover { background: none; color: #fff; }
.wf-ohs__btn svg { transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1); }
[data-wf-ohs-prev]:hover svg { transform: translateX(-5px); }
[data-wf-ohs-next]:hover svg { transform: translateX(5px); }
@media (prefers-reduced-motion: reduce) {
  .wf-ohs__slide .wf-ohs__media, .wf-ohs__slide .wf-ohs__media img, .wf-ohs__body > *, .wf-ohs__slide .wf-ohs__ghost { transition: none !important; }
}
@media (max-width: 800px) {
  .wf .wf-ohs { height: auto; }
  .wf-ohs__viewport, .wf-ohs__track { position: relative; height: auto; }
  .wf-ohs__track { display: grid; }
  .wf-ohs__slide { position: relative; inset: auto; grid-area: 1 / 1; height: auto; }
  .wf-ohs__slide:not(.is-active) { visibility: hidden; transition: visibility 0s linear 1s; }
  .wf-ohs__media::before { background: linear-gradient(180deg, rgba(13, 13, 12, 0.6) 0%, rgba(13, 13, 12, 0) 12%, rgba(13, 13, 12, 0) 50%, rgba(13, 13, 12, 0.85) 88%, #0D0D0C 100%); }
  .wf .wf-ohs__play { top: 37.5vw; }
  .wf-ohs__nav { right: 20px; bottom: 36px; }
}
/* Our Business band: its films melt into the black at the bottom too, so the
   councils section below meets it without a line. */
#wf-business .cpg-business__frame::after { background: linear-gradient(180deg, #0D0D0C 0%, rgba(13, 13, 12, 0.6) 20%, rgba(0, 0, 0, 0.25) 42%, rgba(0, 0, 0, 0.35) 62%, rgba(13, 13, 12, 0.8) 84%, #0D0D0C 100%); }

/* Intro cover (home): black with the mark and a slow gold line while the
   hero film loads; it fades away once the film is playing (holding-wf.js).
   Only drawn while <html> carries .wf-intro-wait, which script sets. */
.wf-intro { display: none; }
.wf-intro-wait .wf-intro,
.wf-intro-lifting .wf-intro { position: fixed; inset: 0; z-index: 2000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; background: #0D0D0C; }
.wf-intro-wait { overflow: hidden; }
.wf-intro-lifting .wf-intro { opacity: 0; pointer-events: none; transition: opacity .8s ease; }
.wf-intro__mark { font-family: var(--wf-display, inherit); font-size: 28px; font-weight: 600; letter-spacing: 0.42em; padding-left: 0.42em; color: #C9B48A; }
.wf-intro__line { position: relative; display: block; width: 120px; height: 1px; overflow: hidden; background: rgba(245, 244, 240, 0.14); }
.wf-intro__line::after { content: ""; position: absolute; inset: 0; background: #C9B48A; transform: translateX(-100%); animation: wf-intro-line 1.6s cubic-bezier(.65, 0, .35, 1) infinite; }
@keyframes wf-intro-line { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(100%); } }

/* Portfolio cards (home): the photo carries everything. At rest only the
   project name sits on it; on hover or focus the sector line, a short
   description and the link open beneath the name, which lifts it, a deeper
   shade comes up behind the words and the photo moves in. No white panel. */
.wf .wf-port .wf-slsh__title { display: none; }
.wf .wf-port .wf-slsh__link::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(14, 14, 13, 0) 20%, rgba(14, 14, 13, 0.55) 55%, rgba(14, 14, 13, 0.88) 100%); opacity: 0; transition: opacity 0.6s var(--wf-ease); pointer-events: none; }
.wf .wf-port .wf-slsh__panel { display: flex; z-index: 2; flex-direction: column; gap: 0; min-height: 0; padding: 0 40px 44px; background: none; color: #fff; transform: none; transition: none; }
.wf .wf-port .wf-slsh__panel-title { font-size: 22px; color: #fff; text-shadow: 0 1px 18px rgba(0, 0, 0, 0.25); }
.wf .wf-port .wf-slsh__meta,
.wf .wf-port .wf-slsh__text,
.wf .wf-port .wf-slsh__panel .wf-lnk { max-height: 0; overflow: hidden; opacity: 0; transform: translateY(10px); transition: max-height 0.6s var(--wf-ease), margin 0.6s var(--wf-ease), opacity 0.4s ease, transform 0.6s var(--wf-ease); }
.wf .wf-port .wf-slsh__meta { color: rgba(255, 255, 255, 0.7); }
.wf .wf-port .wf-slsh__text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: rgba(255, 255, 255, 0.84); font-size: 13px; line-height: 1.7; }
.wf .wf-port .wf-slsh__panel .wf-lnk { color: #fff; }
.wf .wf-port .wf-slsh__link:is(:hover, :focus-visible)::before { opacity: 1; }
.wf .wf-port .wf-slsh__link:is(:hover, :focus-visible) .wf-slsh__meta { max-height: 2.5em; margin-bottom: 12px; opacity: 1; transform: none; }
.wf .wf-port .wf-slsh__link:is(:hover, :focus-visible) .wf-slsh__text { max-height: 6em; margin-top: 14px; opacity: 1; transform: none; transition-delay: 0s, 0s, 0.08s, 0s; }
.wf .wf-port .wf-slsh__link:is(:hover, :focus-visible) .wf-lnk { max-height: 3em; margin-top: 22px; opacity: 1; transform: none; transition-delay: 0s, 0s, 0.16s, 0s; }
.wf .wf-port .wf-slsh__link:is(:hover, :focus-visible) .wf-slsh__cell-img { transform: scale(1.08); }
@media (max-width: 800px) {
  .wf .wf-port .wf-slsh__panel { padding: 0 24px 28px; }
  .wf .wf-port .wf-slsh__panel-title { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .wf .wf-port .wf-slsh__meta, .wf .wf-port .wf-slsh__text, .wf .wf-port .wf-slsh__panel .wf-lnk, .wf .wf-port .wf-slsh__link::before { transition: none; }
}

/* Home portfolio + CPG Properties strip: tighter air above each heading, and
   the brand pair — Oswald for names, Montserrat for running text. */
.wf .wf-port { padding-top: 72px; padding-bottom: 56px; }
.wf .wf-port + .wf-reel { padding-top: 32px; }
.wf .wf-port__head { margin-bottom: 36px; }
.wf .wf-port .wf-port__sub { font-family: "Montserrat", var(--wf-font); font-size: 17px; }
.wf .wf-port .wf-slsh__panel-title { font-family: var(--wf-display); font-size: 26px; font-weight: 500; line-height: 1.15; letter-spacing: 0.03em; text-transform: uppercase; }
.wf .wf-port .wf-slsh__meta,
.wf .wf-port .wf-slsh__text,
.wf .wf-port .wf-slsh__panel .wf-lnk { font-family: "Montserrat", var(--wf-font); }
.wf .wf-port .wf-slsh__text { font-size: 14px; }
.wf .wf-reel__head { gap: 30px; }
.wf .wf-reel__head .wf-label { font-size: 13px; letter-spacing: 0.22em; }
.cpg-body--holding .wf .wf-reel__title { max-width: 1040px; font-family: "Montserrat", var(--wf-font); font-size: clamp(30px, 2.2vw + 14px, 56px); font-weight: 500; line-height: 1.2; letter-spacing: -0.015em; }
.wf .wf-reel__head .wf-btn { min-height: 56px; padding-inline: 40px; font-size: 13px; }
@media (max-width: 800px) {
  .wf .wf-port { padding-top: 56px; padding-bottom: 40px; }
  .wf .wf-port .wf-slsh__panel-title { font-size: 22px; }
  .wf .wf-port + .wf-reel { padding-top: 24px; }
}

/* The news follows the film straight on, on white: no band of air under the
   film and no paper-coloured block after it. */
.wf .wf-reel { padding-bottom: 0; }
.wf .wf-reel + .wf-sec { padding-top: 88px; background: var(--wf-white); }
@media (max-width: 800px) { .wf .wf-reel + .wf-sec { padding-top: 56px; } }

/* Responsibility band (home): a band, not a second hero — about half the
   height, the title a size down, and a darker, cooler treatment so the photo
   reads as mood behind the words rather than a wall of green. */
.wf .wf-band { min-height: 0; padding: 112px 0; }
.wf .wf-band > .wf-media img { filter: saturate(0.45) brightness(0.8) contrast(1.05); }
.wf .wf-band > .wf-media::after { background: linear-gradient(180deg, rgba(14, 14, 13, 0.78) 0%, rgba(14, 14, 13, 0.62) 50%, rgba(14, 14, 13, 0.82) 100%); }
.cpg-body--holding .wf .wf-band__title { max-width: 900px; font-size: clamp(34px, 2.8vw + 10px, 60px); line-height: 1.08; }
.wf .wf-band__body { gap: 22px; }
.wf .wf-band__body p { font-size: 16px; color: rgba(255, 255, 255, 0.78); }
@media (max-width: 800px) { .wf .wf-band { padding: 72px 0; } }
/* Gergeti at sunrise: keep its colour, frame the church and Kazbek low in the band. */
.wf .wf-band > .wf-media img { object-position: 50% 82%; filter: saturate(0.9) brightness(0.85); }
.wf .wf-band > .wf-media::after { background: linear-gradient(180deg, rgba(14, 14, 13, 0.7) 0%, rgba(14, 14, 13, 0.5) 50%, rgba(14, 14, 13, 0.72) 100%); }

/* --- About section pages (founders, leadership, history, profile) ---------
   Built from the same pieces as About us: the founder card at full width,
   one founder per row, and a portrait | biography split for a profile. */
.wf-founder-list { display: grid; gap: 96px; }
.wf .wf-founder--wide { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: 64px; align-items: center; }
.wf .wf-founder--wide:nth-child(even) .wf-media { order: 2; }
.wf .wf-founder__name { font-family: var(--wf-display); font-size: clamp(32px, 2vw + 16px, 48px); font-weight: 500; line-height: 1.05; letter-spacing: 0.01em; text-transform: uppercase; color: var(--wf-ink); }
.wf .wf-founder--wide .wf-founder__body p { font-size: 16px; }
.wf-profile { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: start; }
.wf-profile__media { aspect-ratio: 4 / 5; position: sticky; top: 7rem; }
.wf-profile__media img { position: absolute; inset: 0; }
.wf-profile__body { display: flex; flex-direction: column; gap: 18px; }
.wf .wf-profile__body .wf-prose p + p { margin-top: 16px; }
.wf-profile__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 12px; }
.wf-entry .wf-entry__title, .wf-entry .wf-entry__text { display: block; }
.wf-entry .wf-lnk { margin-top: 20px; }
@media (max-width: 900px) {
  .wf-founder-list { gap: 64px; }
  .wf .wf-founder--wide { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .wf .wf-founder--wide:nth-child(even) .wf-media { order: 0; }
  .wf-profile { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .wf-profile__media { position: relative; top: 0; max-width: 420px; }
}

/* Responsibility band (home): the photograph holds still while the page
   scrolls over it. The band clips a viewport-fixed picture, which works on
   phones too (unlike background-attachment: fixed). */
.wf .wf-band > .wf-media { clip-path: inset(0); }
.wf .wf-band > .wf-media img { position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100lvh; }
@media (prefers-reduced-motion: reduce) {
  .wf .wf-band > .wf-media img { position: absolute; width: 100%; height: 100%; }
}

/* --- Our Business overview: one row per pillar, picture alternating ------- */
.wf-pillrows { display: grid; gap: 88px; }
.wf-pillrow { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: center; }
.wf-pillrow:nth-child(even) .wf-pillrow__media { order: 2; }
.wf-pillrow__media { aspect-ratio: 4 / 3; }
.wf-pillrow__media img { position: absolute; inset: 0; }
.wf-pillrow:hover .wf-pillrow__media img { transform: scale(1.04); }
.wf-pillrow__body { display: flex; flex-direction: column; gap: 18px; }
.wf-pillrow__num { font-family: var(--wf-display); font-size: 15px; letter-spacing: 0.18em; color: var(--wf-gold); }
.wf .wf-pillrow__title { font-family: var(--wf-display); font-size: clamp(30px, 1.6vw + 16px, 44px); font-weight: 500; line-height: 1.08; letter-spacing: 0.01em; text-transform: uppercase; }
.wf .wf-pillrow__title a { text-decoration: none; }
.wf .wf-pillrow__body > p { font-size: 16px; line-height: 1.75; color: var(--wf-text); }
.wf-pillrow__projects { display: flex; flex-wrap: wrap; gap: 8px; }
.wf .wf-pillrow__projects a { display: inline-block; padding: 6px 12px; border: 1px solid var(--wf-line); border-radius: 999px; font-size: 13px; text-decoration: none; color: var(--wf-text); transition: border-color 0.3s, color 0.3s; }
.wf .wf-pillrow__projects a:hover { border-color: var(--wf-gold); color: var(--wf-ink); }
@media (max-width: 900px) {
  .wf-pillrows { gap: 56px; }
  .wf-pillrow { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .wf-pillrow:nth-child(even) .wf-pillrow__media { order: 0; }
}

/* --- Partnerships ----------------------------------------------------------- */
.wf .wf-statement { font-size: clamp(24px, 1.4vw + 12px, 36px); font-weight: 500; line-height: 1.35; letter-spacing: -0.015em; color: var(--wf-ink); }
.wf-councils { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.wf-council { display: flex; flex-direction: column; gap: 12px; }
.wf-council .wf-media { aspect-ratio: 3 / 4; margin-bottom: 8px; }
.wf-council .wf-media img { position: absolute; inset: 0; }
.wf-council:hover .wf-media img { transform: scale(1.04); }
.wf-council__num { font-family: var(--wf-display); font-size: 14px; letter-spacing: 0.18em; color: var(--wf-gold); }
.wf .wf-council h3 { font-size: 19px; font-weight: 600; line-height: 1.3; }
.wf .wf-council p { font-size: 14px; line-height: 1.7; color: var(--wf-text); }
.wf-partnerlogos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--wf-line); border-left: 1px solid var(--wf-line); }
.wf-partnerlogos li { display: flex; align-items: center; justify-content: center; aspect-ratio: 3 / 2; padding: 22px; border-right: 1px solid var(--wf-line); border-bottom: 1px solid var(--wf-line); background: var(--wf-white); }
.wf-partnerlogos a { display: contents; }
.wf-partnerlogos img { max-width: 100%; max-height: 64px; object-fit: contain; filter: grayscale(1); opacity: 0.8; transition: filter 0.3s, opacity 0.3s; }
.wf-partnerlogos li:hover img { filter: none; opacity: 1; }
html[data-cpg-mode="dark"] .wf-partnerlogos li { background: #F5F4F0; }
.wf-sec--paper { background: var(--wf-paper); }
.wf .wf-contact__lead { margin-top: 20px; font-size: 16px; line-height: 1.75; color: var(--wf-text); }
@media (max-width: 1100px) {
  .wf-councils { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wf-partnerlogos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .wf-councils { grid-template-columns: minmax(0, 1fr); }
  .wf-council .wf-media { aspect-ratio: 16 / 10; }
  .wf-partnerlogos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --- Responsibility: the founder's word ----------------------------------- */
.wf-quote { max-width: 980px; margin: 0 auto; text-align: center; }
.wf .wf-quote blockquote { margin: 0; font-size: clamp(24px, 1.4vw + 12px, 36px); font-weight: 500; line-height: 1.4; letter-spacing: -0.015em; color: var(--wf-ink); }
.wf-quote figcaption { display: inline-flex; align-items: center; gap: 16px; margin-top: 36px; text-align: start; }
.wf-quote figcaption img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.wf-quote figcaption span { display: grid; gap: 2px; }
.wf-quote figcaption b { font-size: 16px; }
.wf-quote figcaption small { font-size: 13px; color: var(--wf-dim); }

/* --- Careers ----------------------------------------------------------------- */
.wf-areas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--wf-line); }
.wf-areas li { display: flex; flex-direction: column; gap: 12px; padding: 32px 28px 8px 0; }
.wf-areas li + li { padding-left: 28px; border-left: 1px solid var(--wf-line); }
.wf .wf-areas h3 { font-size: 20px; font-weight: 600; line-height: 1.3; }
.wf .wf-areas p { font-size: 14px; line-height: 1.7; color: var(--wf-text); }
.wf-jobs { border-top: 1px solid var(--wf-line); }
.wf .wf-job { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 4fr) auto; gap: 24px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--wf-line); text-decoration: none; transition: padding 0.4s var(--wf-ease); }
.wf .wf-job:hover { padding-inline: 12px; }
.wf-job__title { font-size: 22px; font-weight: 600; letter-spacing: -0.01em; }
.wf-job__meta { font-size: 14px; color: var(--wf-dim); }
.wf-job__go { font-size: 20px; color: var(--wf-gold); }
.wf .wf-jobs__empty { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.wf .wf-jobs__empty h3 { font-size: 22px; font-weight: 600; }
.wf .wf-jobs__empty p { margin-top: 8px; font-size: 15px; color: var(--wf-text); }
.wf-field__hint { margin-top: 6px; font-size: 12px; color: var(--wf-dim); }
@media (max-width: 900px) {
  .wf-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wf-areas li:nth-child(odd) { padding-left: 0; border-left: 0; }
  .wf .wf-job { grid-template-columns: minmax(0, 1fr) auto; }
  .wf-job__meta { grid-column: 1; grid-row: 2; }
  .wf-job__go { grid-row: 1 / span 2; grid-column: 2; }
}

/* --- Article ----------------------------------------------------------------- */
.wf-article__head { padding: calc(5.5rem + 72px) 0 48px; }
.wf-article__col { max-width: 920px; }
.wf-article__meta { margin-top: 32px; font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wf-dim); }
.wf .wf-article__meta a { color: var(--wf-gold); text-decoration: none; }
.wf .wf-article__title { margin-top: 18px; font-family: var(--wf-font); font-size: clamp(34px, 2.6vw + 14px, 58px); font-weight: 600; line-height: 1.1; letter-spacing: -0.025em; color: var(--wf-ink); }
.wf .wf-article__lead { margin-top: 24px; font-size: 20px; line-height: 1.6; color: var(--wf-text); }
.wf-article__figure { margin: 0 auto 56px; }
.wf-article__figure .wf-media { aspect-ratio: 16 / 9; }
.wf-article__figure img { position: absolute; inset: 0; }
.wf .wf-article__body p { font-size: 17px; line-height: 1.85; color: var(--wf-text); }
.wf .wf-article__body p + p { margin-top: 20px; }
.wf .wf-article__source { margin-top: 32px !important; font-size: 13px; color: var(--wf-dim); }
@media (max-width: 800px) { .wf-article__head { padding: calc(4.5rem + 40px) 0 32px; } }

/* --- Search, cookie settings, 404 -------------------------------------------- */
.wf-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wf-searchbar { display: flex; gap: 16px; align-items: stretch; border-bottom: 1px solid var(--wf-ink); padding-bottom: 12px; }
.wf .wf-searchbar input { flex: 1 1 auto; min-width: 0; border: 0; background: none; font: inherit; font-size: clamp(20px, 1vw + 14px, 28px); color: var(--wf-ink); outline: none; }
.wf .wf-searchbar input::placeholder { color: var(--wf-dim); }
.wf-results { margin-top: 56px; }
.wf .wf-results__type { margin-bottom: 8px; font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wf-gold); }
.wf .wf-result { grid-template-columns: minmax(0, 1fr) auto; }
.wf-result__excerpt { display: block; margin-top: 6px; font-size: 14px; line-height: 1.6; color: var(--wf-text); }
.wf-cookieform { display: grid; gap: 0; border-top: 1px solid var(--wf-line); }
.wf-cookieopt { display: flex; gap: 18px; align-items: flex-start; padding: 28px 0; border-bottom: 1px solid var(--wf-line); cursor: pointer; }
.wf-cookieopt input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--wf-gold); }
.wf-cookieopt span { display: grid; gap: 6px; font-size: 15px; line-height: 1.6; color: var(--wf-text); }
.wf-cookieopt b { font-size: 18px; color: var(--wf-ink); }
.wf-cookieform__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; padding-top: 32px; }
.wf-cookieform__foot p { font-size: 14px; color: var(--wf-gold); }
.wf-notfound__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 48px; }
@media (max-width: 600px) { .wf-searchbar { flex-direction: column; } }

/* Home news (board 01 §7 / 09 §7): four cards across on desktop, two on a
   tablet, and on a phone a swipe carousel with the next card peeking in. */
.wf .wf-news__track--home { gap: 28px; }
.wf .wf-news__track--home .wf-pc__title { font-size: 19px; }
@media (max-width: 1100px) and (min-width: 801px) {
  .wf .wf-news__track--home { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 48px; }
}
@media (max-width: 800px) {
  .wf .wf-news__track--home { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 82%; gap: 16px; margin-inline-end: -20px; padding-inline-end: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .wf .wf-news__track--home::-webkit-scrollbar { display: none; }
}

/* News cards: square-cornered photographs (owner, 2026-10-19). */
.wf .wf-pc__figure { border-radius: 0; }

/* Portfolio cards (home): two corner frames that draw themselves on hover —
   top-left runs right then down, bottom-right runs left then up (the tatee
   "media-project" lines). Each frame is two 1px rules scaled from zero. */
.wf-port .wf-slsh__frame { position: absolute; z-index: 3; top: 28px; left: 28px; width: 46%; height: 46%; pointer-events: none; }
.wf-port .wf-slsh__frame--end { top: auto; left: auto; right: 28px; bottom: 28px; }
.wf-port .wf-slsh__frame::before,
.wf-port .wf-slsh__frame::after { content: ""; position: absolute; background: rgba(255, 255, 255, 0.92); transition: transform 0.6s cubic-bezier(0.7, 0, 0.2, 1); }
.wf-port .wf-slsh__frame::before { top: 0; left: 0; width: 100%; height: 1px; transform: scaleX(0); transform-origin: 0 50%; }
.wf-port .wf-slsh__frame::after { top: 0; left: 0; width: 1px; height: 100%; transform: scaleY(0); transform-origin: 50% 0; transition-delay: 0.15s; }
.wf-port .wf-slsh__frame--end::before { top: auto; bottom: 0; transform-origin: 100% 50%; }
.wf-port .wf-slsh__frame--end::after { left: auto; right: 0; transform-origin: 50% 100%; }
.wf-port .wf-slsh__link:is(:hover, :focus-visible) .wf-slsh__frame::before { transform: scaleX(1); }
.wf-port .wf-slsh__link:is(:hover, :focus-visible) .wf-slsh__frame::after { transform: scaleY(1); }
@media (hover: none) { .wf-port .wf-slsh__frame { display: none; } }
@media (prefers-reduced-motion: reduce) { .wf-port .wf-slsh__frame::before, .wf-port .wf-slsh__frame::after { transition: none; } }

/* --- Projects grid: the home portfolio card, three across ------------------ */
.wf .wf-port.wf-port--grid { padding-top: 80px; padding-bottom: 112px; }
.wf-pgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.wf-pgrid > li { position: relative; aspect-ratio: 4 / 5; }
.wf-pgrid .wf-pcard { position: absolute; inset: 0; }
@media (max-width: 1100px) { .wf-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .wf-pgrid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .wf-pgrid > li { aspect-ratio: 4 / 5; }
  /* No hover on a phone: the sector line and the link show under the name. */
  .wf .wf-port--grid .wf-slsh__meta, .wf .wf-port--grid .wf-slsh__panel .wf-lnk { max-height: 3em; opacity: 1; transform: none; }
  .wf .wf-port--grid .wf-slsh__meta { margin-bottom: 10px; }
  .wf .wf-port--grid .wf-slsh__panel .wf-lnk { margin-top: 16px; }
}

/* --- Project film: a still, a round play button, the label -------------- */
.wf .wf-film { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #0D0D0C; color: #fff; text-decoration: none; }
.wf-film img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.78; transition: transform 1.2s var(--wf-ease), opacity 0.6s; }
.wf-film:hover img { transform: scale(1.04); opacity: 0.65; }
.wf-film__play { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 104px; height: 104px; margin: -52px 0 0 -52px; border: 1px solid rgba(255, 255, 255, 0.7); border-radius: 50%; transition: background-color 0.4s, border-color 0.4s; }
.wf-film__play svg { width: 18px; height: 26px; margin-left: 5px; }
.wf-film:hover .wf-film__play { background: rgba(255, 255, 255, 0.14); border-color: #fff; }
.wf-film__label { position: absolute; left: 36px; bottom: 30px; font-family: var(--wf-display); font-size: 20px; letter-spacing: 0.06em; text-transform: uppercase; }
@media (max-width: 800px) { .wf-film__play { width: 72px; height: 72px; margin: -36px 0 0 -36px; } .wf-film__label { left: 20px; bottom: 18px; font-size: 16px; } }

/* ==========================================================================
   interiortwoarc layer (owner, 2026-10-19) — every inner page. Components:
   it-hero (page head), it-tag, it-rulehead, it-three, it-strip, it-steps,
   it-collage, it-band, it-team, it-stats, it-split (+ accordion),
   it-contactstrip, it-boxform. Colours and faces stay CPG's; the italic
   serif is the template's accent for a title's lead words.
   ========================================================================== */
.wf { --it-serif: "Playfair Display", Georgia, "Times New Roman", serif; }
.it-tag { display: inline-flex; align-self: flex-start; padding: 5px 12px; border-radius: 999px; background: var(--wf-gold); color: #fff; font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.4; }

/* Page head */
.it-hero { background: var(--wf-paper); color: var(--wf-ink); }
.it-hero__body { display: flex; flex-direction: column; gap: 22px; padding-top: clamp(48px, 7vw, 96px); padding-bottom: clamp(40px, 5vw, 72px); }
.it-hero .wf-crumb { color: var(--wf-dim); }
.it-hero .wf-crumb a:hover { color: var(--wf-ink); }
.it-hero__row { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: end; gap: 24px 72px; }
.cpg-body--holding .wf .it-hero__title { display: flex; flex-direction: column; gap: 0.02em; margin: 0; font-family: var(--wf-font); font-weight: 500; line-height: 1; letter-spacing: -0.03em; text-transform: none; color: var(--wf-ink); }
.it-hero__serif { font-family: var(--it-serif); font-style: italic; font-weight: 400; font-size: clamp(44px, 5vw + 14px, 104px); letter-spacing: -0.01em; }
.it-hero__sans { font-size: clamp(40px, 4.4vw + 12px, 92px); }
.it-hero__side { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; padding-bottom: 10px; }
.wf .it-hero__intro { font-size: 16px; line-height: 1.75; color: var(--wf-text); }
.it-hero__media { position: relative; height: clamp(320px, 58vh, 620px); overflow: hidden; background: var(--wf-char); }
.it-hero--tall .it-hero__media { height: clamp(380px, 72vh, 760px); }
.it-hero__media img, .it-hero__media video { position: absolute; inset: -6% 0; width: 100%; height: 112%; object-fit: cover; will-change: transform; }
:root:lang(ka) .wf .it-hero__serif { font-family: var(--cpg-font-georgian-display, "Noto Sans Georgian"), var(--it-serif); font-style: normal; font-weight: 400; }
@media (max-width: 900px) {
  .it-hero__row { grid-template-columns: minmax(0, 1fr); }
  .it-hero__media { height: clamp(240px, 48vh, 420px); }
}

/* Ruled section head: label on the left, number on the right, one rule. */
.it-rulehead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 14px; border-bottom: 1px solid var(--wf-ink); font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wf-ink); }
.it-rulehead span:last-child { font-family: var(--wf-display); font-size: 14px; letter-spacing: 0.12em; }

/* Three columns: statement · list · note. */
.it-three { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr); gap: 40px 64px; margin-top: 44px; }
.it-three__lead { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.wf .it-three__statement { font-size: clamp(22px, 1vw + 14px, 30px); font-weight: 500; line-height: 1.3; letter-spacing: -0.015em; color: var(--wf-ink); }
.it-three__meta { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wf-gold); }
.it-three__label { margin-bottom: 14px; font-size: 12px; font-weight: 600; color: var(--wf-dim); }
.it-three__list li + li { margin-top: 4px; }
.wf .it-three__list a { font-size: clamp(18px, 0.6vw + 13px, 22px); font-weight: 500; line-height: 1.55; text-decoration: none; color: var(--wf-ink); background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size 0.4s var(--wf-ease); }
.wf .it-three__list a:hover { background-size: 100% 1px; }
.wf .it-three__note p { font-size: 14px; line-height: 1.75; color: var(--wf-text); }
.it-three__note .wf-lnk { margin-top: 18px; }

/* Staggered photo strip. */
.it-strip { display: grid; grid-template-columns: 1.15fr 0.9fr 1.05fr 0.8fr; gap: clamp(16px, 2.4vw, 40px); align-items: start; }
.it-strip .wf-media { overflow: hidden; }
.it-strip .wf-media img { width: 100%; height: 100%; object-fit: cover; }
.it-strip > :nth-child(1) .wf-media { aspect-ratio: 4 / 5; }
.it-strip > :nth-child(2) { margin-top: 64px; } .it-strip > :nth-child(2) .wf-media { aspect-ratio: 1 / 1; }
.it-strip > :nth-child(3) { margin-top: 128px; } .it-strip > :nth-child(3) .wf-media { aspect-ratio: 3 / 4; }
.it-strip > :nth-child(4) { margin-top: 192px; } .it-strip > :nth-child(4) .wf-media { aspect-ratio: 4 / 5; }
.it-strip figcaption { margin-top: 12px; font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wf-dim); }
.it-strip a { text-decoration: none; }
.it-strip a:hover img { transform: scale(1.04); }

/* Process: heading on the left, numbered columns. */
.it-steps { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 40px 64px; }
.it-steps__head { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.wf .it-steps__head h2 { font-size: clamp(28px, 1.2vw + 18px, 40px); font-weight: 500; line-height: 1.12; letter-spacing: -0.02em; text-transform: none; font-family: var(--wf-font); }
.it-steps__list { display: grid; grid-template-columns: repeat(var(--it-cols, 4), minmax(0, 1fr)); gap: 32px; }
.it-steps__list li { display: flex; flex-direction: column; gap: 12px; padding-top: 18px; border-top: 1px solid var(--wf-line); }
.it-steps__num { font-family: var(--wf-display); font-size: 15px; letter-spacing: 0.1em; color: var(--wf-gold); }
.wf .it-steps__list h3 { font-size: 16px; font-weight: 600; letter-spacing: -0.005em; }
.wf .it-steps__list p { font-size: 14px; line-height: 1.75; color: var(--wf-text); }

/* Collage beside a statement. */
.it-collage { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 48px 88px; align-items: center; }
.it-collage__pics { position: relative; height: clamp(420px, 42vw, 600px); }
.it-collage__pics .wf-media { position: absolute; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(13, 13, 12, 0.35); }
.it-collage__pics .wf-media img { width: 100%; height: 100%; object-fit: cover; }
.it-collage__pics .wf-media:nth-child(1) { left: 0; top: 0; width: 46%; height: 52%; }
.it-collage__pics .wf-media:nth-child(2) { right: 4%; top: 6%; width: 44%; height: 58%; z-index: 1; }
.it-collage__pics .wf-media:nth-child(3) { left: 18%; bottom: 0; width: 50%; height: 50%; z-index: 2; }
.it-collage__mark { position: absolute; left: -36px; bottom: 8%; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--wf-gold); }
.it-collage__text { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.it-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wf-gold); }
.cpg-body--holding .wf .it-title { display: flex; flex-direction: column; margin: 0; font-family: var(--wf-font); font-size: clamp(34px, 2.2vw + 16px, 60px); font-weight: 500; line-height: 1.04; letter-spacing: -0.025em; text-transform: none; color: var(--wf-ink); }
.it-title .it-serif { font-family: var(--it-serif); font-style: italic; font-weight: 400; letter-spacing: -0.01em; }
:root:lang(ka) .wf .it-title .it-serif { font-family: inherit; font-style: normal; }
.wf .it-collage__text p { font-size: 16px; line-height: 1.8; color: var(--wf-text); }

/* Full-width photograph band. */
.it-band { position: relative; height: clamp(320px, 62vh, 680px); overflow: hidden; background: var(--wf-char); }
.it-band img { position: absolute; inset: -8% 0; width: 100%; height: 116%; object-fit: cover; will-change: transform; }

/* Team: ruled head, portrait cards. */
.it-team { display: grid; grid-template-columns: repeat(var(--it-cols, 3), minmax(0, 1fr)); gap: 40px 28px; margin-top: 40px; }
.wf .it-team a { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--wf-ink); }
.it-team .wf-media { aspect-ratio: 4 / 5; margin-bottom: 14px; background: #EDECE8; }
.it-team .wf-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; transition: transform 1.2s var(--wf-ease); }
.it-team a:hover .wf-media img { transform: scale(1.05); }
.it-team b { font-size: 18px; font-weight: 600; letter-spacing: -0.01em; }
.it-team small { font-size: 13px; line-height: 1.5; color: var(--wf-dim); }

/* Figures: three across with vertical rules. */
.it-stats { display: grid; grid-template-columns: repeat(var(--it-cols, 3), minmax(0, 1fr)); }
.it-stats li { display: flex; flex-direction: column; gap: 12px; padding: 8px clamp(20px, 3vw, 48px); }
.it-stats li + li { border-left: 1px solid var(--wf-line); }
.it-stats li:first-child { padding-left: 0; }
.it-stats__value { font-family: var(--wf-font); font-size: clamp(52px, 3.4vw + 24px, 96px); font-weight: 500; line-height: 1; letter-spacing: -0.04em; color: var(--wf-ink); font-variant-numeric: tabular-nums; }
.wf .it-stats p { font-size: 14px; line-height: 1.7; color: var(--wf-text); }
.wf .it-stats p b { color: var(--wf-ink); }

/* Split: text and accordion beside a large photograph. */
.it-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px 88px; align-items: center; }
.it-split--flip { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.it-split--flip .it-split__media { order: -1; }
.it-split__text { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.wf .it-split__text h2 { font-family: var(--wf-font); font-size: clamp(30px, 1.6vw + 16px, 48px); font-weight: 500; line-height: 1.1; letter-spacing: -0.025em; text-transform: none; }
.wf .it-split__text p { font-size: 15.5px; line-height: 1.8; color: var(--wf-text); }
.it-split__media { aspect-ratio: 5 / 4; overflow: hidden; }
.it-split__media img { width: 100%; height: 100%; object-fit: cover; }
.it-accordion { align-self: stretch; border-top: 1px solid var(--wf-line); }
.it-accordion details { border-bottom: 1px solid var(--wf-line); }
.it-accordion summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; color: var(--wf-ink); }
.it-accordion summary::-webkit-details-marker { display: none; }
.it-accordion summary::after { content: "+"; font-size: 18px; font-weight: 400; transition: transform 0.3s; }
.it-accordion details[open] summary::after { transform: rotate(45deg); }
.wf .it-accordion details p { padding: 0 0 18px; font-size: 14px; line-height: 1.75; color: var(--wf-text); }

/* Contact strip: three cues joined by rules. */
.it-contactstrip { display: grid; grid-template-columns: auto minmax(40px, 1fr) auto minmax(40px, 1fr) auto; align-items: center; gap: 0 28px; }
.it-contactstrip > i { height: 1px; background: var(--wf-line); }
.it-contactstrip small { display: block; font-size: 12px; line-height: 1.5; color: var(--wf-dim); }
.wf .it-contactstrip a, .it-contactstrip b { display: inline-block; margin-top: 6px; font-size: 15px; font-weight: 600; color: var(--wf-ink); text-decoration: none; }

/* Boxed form: hairline cells, label over the field, full-width send. */
.it-boxform { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--wf-line); border-left: 1px solid var(--wf-line); }
.it-boxform .wf-field { gap: 4px; padding: 16px 20px; border-right: 1px solid var(--wf-line); border-bottom: 1px solid var(--wf-line); }
.it-boxform .wf-field.wf-form__wide, .it-boxform > .wf-form__wide { grid-column: 1 / -1; }
.it-boxform > .wf-form__wide:not(.wf-field) { padding: 18px 20px; border-right: 1px solid var(--wf-line); border-bottom: 1px solid var(--wf-line); }
.wf .it-boxform .wf-field label { font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--wf-ink); }
.wf .it-boxform .wf-field :is(input, select, textarea) { border: 0; padding: 4px 0; background: none; font-size: 15px; }
.it-boxform .it-boxform__send { grid-column: 1 / -1; border: 0; }
.wf .it-boxform .it-boxform__send .wf-btn { width: 100%; min-height: 60px; border-radius: 0; background: var(--wf-ink); border-color: var(--wf-ink); color: var(--wf-paper); justify-content: center; }
.wf .it-boxform .it-boxform__send .wf-btn:hover { background: var(--wf-gold); border-color: var(--wf-gold); color: #0D0D0C; }

@media (max-width: 1000px) {
  .it-three, .it-steps, .it-collage, .it-split, .it-split--flip { grid-template-columns: minmax(0, 1fr); }
  .it-split--flip .it-split__media { order: 0; }
  .it-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .it-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .it-strip > :nth-child(n) { margin-top: 0; }
  .it-strip > :nth-child(even) { margin-top: 48px; }
  .it-team { --it-cols: 2 !important; }
  .it-contactstrip { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .it-contactstrip > i { display: none; }
  .it-collage__mark { display: none; }
}
@media (max-width: 640px) {
  .it-steps__list, .it-stats { grid-template-columns: minmax(0, 1fr); }
  .it-stats li + li { border-left: 0; border-top: 1px solid var(--wf-line); padding-left: 0; padding-top: 24px; }
  .it-boxform { grid-template-columns: minmax(0, 1fr); }
  .it-team { --it-cols: 1 !important; }
}

/* Project: headline beside the key figure over a line drawing (services). */
.it-figure { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 40px 72px; align-items: center; }
.it-figure__text { display: flex; flex-direction: column; gap: 18px; }
.it-figure__headline { margin-top: 14px; font-family: var(--wf-font); font-size: clamp(18px, 0.7vw + 13px, 24px); font-style: normal; font-weight: 500; line-height: 1.35; letter-spacing: 0.01em; color: var(--wf-text); }
.it-figure__num { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 300px; text-align: center; color: var(--wf-ink); }
.it-figure__drawing { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--wf-dim); opacity: 0.55; }
.it-figure__num small { position: relative; font-size: 12px; font-weight: 600; letter-spacing: 0.06em; color: var(--wf-text); }
.it-figure__num strong { position: relative; margin-top: 6px; font-size: clamp(56px, 4vw + 24px, 120px); font-weight: 500; line-height: 1; letter-spacing: -0.04em; }
.it-stats--facts .it-stats__fact { font-size: clamp(18px, 0.6vw + 14px, 24px); font-weight: 500; line-height: 1.3; color: var(--wf-ink); }
.it-stats--facts p { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wf-dim); }
.it-enquiry { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 40px 72px; align-items: start; }
.it-enquiry__head { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.wf .it-enquiry__head > p:last-child { font-size: 15.5px; line-height: 1.75; color: var(--wf-text); }
@media (max-width: 1000px) { .it-figure, .it-enquiry { grid-template-columns: minmax(0, 1fr); } .it-figure__num { min-height: 240px; } }

/* Contact (interiortwoarc): the invitation and the office details. */
.it-contacthead { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.it-contactcols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 48px; width: 100%; margin-top: 28px; }
.wf .it-contactcols h3 { margin-bottom: 10px; font-size: 13px; font-weight: 600; color: var(--wf-ink); }
.wf .it-contactcols p { font-size: 14px; line-height: 1.7; color: var(--wf-text); }
.wf .it-contactcols p a { color: var(--wf-ink); text-decoration: none; }
.wf .it-contactcols__big { display: inline-block; margin-top: 6px; font-size: 18px; font-weight: 600; color: var(--wf-ink); text-decoration: none; }
.it-contactcols .wf-lnk { margin-top: 12px; }
.it-boxform .wf-consent { font-size: 13px; }
.wf .it-boxform .wf-field select { appearance: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 2px center; padding-right: 22px; }
@media (max-width: 1000px) { .it-contactcols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .it-contactcols { grid-template-columns: minmax(0, 1fr); } }
/* Boxed form: cells touch (no grid gap), empty wrappers draw no box. */
.wf .wf-form.it-boxform { gap: 0; }
.it-boxform > .wf-form__wide:not(.wf-field):not(:has(*)) { display: none; }
.it-boxform > .wf-form__wide:not(.wf-field):has(> .cpg-alerts:empty, > div:empty:only-child) { display: none; }
.wf .it-boxform .wf-field :is(input, select, textarea) { border-bottom: 0 !important; box-shadow: none; }

/* Legal pages: headings and lists inside the reading column. */
.wf .wf-legal__h { margin-top: 44px; margin-bottom: 4px; font-family: var(--wf-font); font-size: 22px; font-weight: 600; letter-spacing: -0.01em; text-transform: none; color: var(--wf-ink); }
.wf .wf-legal__list { margin: 12px 0 0; padding-left: 20px; list-style: disc; }
.wf .wf-legal__list li { margin-top: 8px; font-size: 16px; line-height: 1.75; color: var(--wf-text); }

/* About: four home-style project cards in a row (home's 0.72 portrait). */
.wf .wf-port.wf-port--about { padding-top: 0; padding-bottom: 0; background: transparent; }
.wf-pgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.wf-pgrid--4 > li { aspect-ratio: 0.72; }
@media (max-width: 1100px) { .wf-pgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .wf-pgrid--4 { grid-template-columns: minmax(0, 1fr); } .wf-pgrid--4 > li { aspect-ratio: 4 / 5; } }

/* About band: a viewport-fixed photograph clipped by the band, and a quiet
   round play button over it. */
.it-band--fixed { clip-path: inset(0); }
.it-band--fixed .it-band__media img { position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100lvh; object-fit: cover; transform: none; }
.it-band--fixed::after { content: ""; position: absolute; inset: 0; background: rgba(13, 13, 12, 0.22); pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .it-band--fixed .it-band__media img { position: absolute; width: 100%; height: 100%; } }
.wf .it-play { position: absolute; z-index: 1; top: 50%; left: 50%; display: flex; flex-direction: column; align-items: center; gap: 14px; transform: translate(-50%, -50%); color: #fff; text-decoration: none; }
.it-play__ring { display: grid; place-items: center; width: 84px; height: 84px; border: 1px solid rgba(255, 255, 255, 0.75); border-radius: 50%; backdrop-filter: blur(2px); transition: background-color 0.4s, border-color 0.4s, transform 0.6s var(--wf-ease); }
.it-play__ring svg { width: 14px; height: 20px; margin-left: 4px; }
.it-play:hover .it-play__ring { background: rgba(255, 255, 255, 0.16); border-color: #fff; transform: scale(1.08); }
.it-play__label { font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; }

/* About: the record — figures and a horizontal timeline on black. */
.it-record { padding: clamp(80px, 9vw, 140px) 0; background: #0D0D0C; color: #F5F4F0; }
.it-record .it-title { color: #F5F4F0; }
.it-record__top { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 48px 80px; align-items: end; }
.it-record__head { display: flex; flex-direction: column; gap: 18px; }
.it-record__figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.it-record__figures li { display: flex; flex-direction: column; gap: 14px; padding: 4px 0 4px clamp(20px, 2.4vw, 40px); border-left: 1px solid rgba(245, 244, 240, 0.16); }
.it-record__value { font-family: var(--wf-font); font-size: clamp(54px, 3.2vw + 26px, 104px); font-weight: 500; line-height: 0.95; letter-spacing: -0.045em; color: var(--wf-gold-lit); font-variant-numeric: tabular-nums; }
.it-record__label { max-width: 200px; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.5; color: rgba(245, 244, 240, 0.72); }
.it-timeline { margin-top: clamp(72px, 7vw, 112px); }
.it-timeline__bar { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(245, 244, 240, 0.6); }
.it-timeline__bar .wf-lnk { color: #F5F4F0; letter-spacing: 0.02em; text-transform: none; font-size: 13px; }
.it-timeline__list { position: relative; display: grid; grid-template-columns: repeat(var(--it-cols, 3), minmax(0, 1fr)); gap: 32px; padding-top: 34px; border-top: 1px solid rgba(245, 244, 240, 0.22); }
.it-timeline__list li { position: relative; display: flex; flex-direction: column; gap: 10px; padding-right: 24px; }
.it-timeline__dot { position: absolute; top: -40px; left: 0; width: 11px; height: 11px; border: 1px solid var(--wf-gold-lit); border-radius: 50%; background: #0D0D0C; }
.it-timeline__now .it-timeline__dot { background: var(--wf-gold-lit); box-shadow: 0 0 0 5px rgba(211, 187, 152, 0.18); }
.it-timeline__year { font-size: clamp(28px, 1.2vw + 18px, 40px); font-weight: 500; letter-spacing: -0.02em; color: #F5F4F0; }
.wf .it-timeline__list h3 { font-size: 15px; font-weight: 500; line-height: 1.55; letter-spacing: 0; text-transform: none; color: rgba(245, 244, 240, 0.78); }
.wf .it-timeline__list p { font-size: 13.5px; line-height: 1.7; color: rgba(245, 244, 240, 0.58); }
@media (max-width: 1000px) {
  .it-record__top { grid-template-columns: minmax(0, 1fr); }
  .it-timeline__list { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 0; padding-left: 28px; border-top: 0; border-left: 1px solid rgba(245, 244, 240, 0.22); }
  .it-timeline__dot { top: 8px; left: -34px; }
}
@media (max-width: 640px) {
  .it-record__figures { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .it-record__figures li { padding-left: 18px; }
}
.cpg-body--holding .wf .it-record .it-title { color: #F5F4F0; }
.it-timeline__bar { padding-bottom: 30px; }

/* News article: the cover sits centred, a little wider than the reading column. */
.wf .wf-article__figure { width: 100%; max-width: 1120px; margin: 0 auto 64px; }
.wf .wf-article__figure .wf-media { aspect-ratio: 3 / 2; }
.wf .wf-article__figure img { object-fit: cover; object-position: center; }

/* Owner, 2026-10-19: no italic serif anywhere — the lead words of two-line
   titles are set upright in the brand face, the same as the second line. */
.wf .it-hero__serif, .wf .it-title .it-serif { font-family: inherit; font-style: normal; font-weight: inherit; letter-spacing: inherit; }
.wf .it-hero__serif { font-size: clamp(40px, 4.4vw + 12px, 92px); }

/* Project head: a photograph too small to run edge to edge sits in the column. */
.it-hero__media--framed { width: calc(100% - 2 * var(--wf-gutter, 48px)); max-width: 1180px; margin-inline: auto; }
.it-hero--tall .it-hero__media--framed { height: clamp(300px, 56vh, 600px); }

/* Project enquiry: a collage of three photographs, the underline form beside
   it, on the page ground — no panel colour. */
.it-reg { display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 10fr); gap: 56px clamp(48px, 7vw, 128px); align-items: center; }
.it-reg--solo { grid-template-columns: minmax(0, 1fr); max-width: 880px; }
.it-reg__collage { position: relative; aspect-ratio: 1 / 1.02; }
.it-reg__shot { position: absolute; overflow: hidden; background: var(--wf-char); }
.it-reg__shot img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.it-reg__collage:hover .it-reg__shot img { transform: scale(1.04); }
.it-reg__shot--1 { top: 0; left: 0; width: 42%; height: 40%; }
.it-reg__shot--2 { top: 8%; right: 0; width: 44%; height: 42%; }
.it-reg__shot--3 { bottom: 0; left: 6%; width: 62%; height: 72%; z-index: 1; }
.it-reg__collage--1 .it-reg__shot--1 { inset: 0; width: 100%; height: 100%; }
.it-reg__collage--2 .it-reg__shot--2 { top: auto; bottom: 0; height: 70%; width: 60%; z-index: 1; }
.it-reg__pill { position: absolute; z-index: 2; left: calc(6% + 62% - 40px); bottom: 8%; transform: translateX(-60%); display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 999px; background: #0D0D0C; color: #fff; font-size: 15px; font-weight: 600; letter-spacing: 0.02em; white-space: nowrap; text-decoration: none; }
.it-reg__pill span { transition: transform .3s; }
.it-reg__pill:hover span { transform: translateX(4px); }
.it-reg__body { display: flex; flex-direction: column; gap: 40px; }
.cpg-body--holding .wf .it-reg__title { margin: 0; max-width: 14ch; font-family: var(--wf-font); font-size: clamp(34px, 1.9vw + 18px, 56px); font-weight: 600; line-height: 1.05; letter-spacing: -0.03em; text-transform: none; color: var(--wf-ink); }
.wf .it-reg__form { gap: 36px 36px; }
.wf .it-reg__form .wf-field textarea { min-height: 0; }
.wf .it-reg__form .wf-field :is(input, textarea)::placeholder { color: var(--wf-dim); opacity: .8; }
.it-reg__send { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.wf .it-reg__btn { padding: 17px 40px; border: 1px solid var(--wf-ink); background: transparent; color: var(--wf-ink); font: 700 14px/1 var(--wf-font); letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; transition: background .25s, color .25s; }
.wf .it-reg__btn:hover { background: var(--wf-ink); color: var(--wf-paper, #fff); }
.it-reg__note { max-width: 62ch; font-size: 13px; line-height: 1.7; color: var(--wf-dim); }
html[data-cpg-mode="dark"] .wf .it-reg__pill { background: #F5F4F0; color: #0D0D0C; }
@media (max-width: 1000px) {
  .it-reg { grid-template-columns: minmax(0, 1fr); }
  .it-reg__collage { max-width: 620px; width: 100%; }
}
@media (max-width: 640px) {
  .wf .it-reg__form { grid-template-columns: minmax(0, 1fr); }
  .it-reg__pill { font-size: 13px; padding: 11px 18px; }
}
.wf a.it-reg__pill, .wf a.it-reg__pill:hover { color: #fff; }
html[data-cpg-mode="dark"] .wf a.it-reg__pill { color: #0D0D0C; }
/* The home card used inside another section: no section padding of its own. */
.wf .wf-port--inline { padding: 0; overflow: visible; background: transparent; }
@media (max-width: 1000px) {
  .wf .it-timeline__list { padding-left: 28px; }
  .wf .it-timeline__dot { left: -34px; }
}

/* Partnerships (owner, 2026-10-19): tighter sections in the About page's
   language — ruled heads, the three-column opening, short council cards,
   a dense logo wall and the underline form. */
.wf .wf-sec--snug { padding-block: clamp(56px, 5.5vw, 88px); }
.wf .wf-sec--snug.wf-sec--follow { padding-top: 0; }
.it-pship__list { display: flex; flex-direction: column; gap: 22px; }
.wf .it-pship__list h3, .wf .it-pship__route h3 { font-size: clamp(18px, 0.6vw + 13px, 22px); font-weight: 500; line-height: 1.35; letter-spacing: -0.01em; text-transform: none; color: var(--wf-ink); }
.wf .it-pship__list p, .wf .it-pship__route p { margin-top: 6px; font-size: 14px; line-height: 1.7; color: var(--wf-text); }
.it-pship__route { display: flex; flex-direction: column; }
.it-pship__route li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--wf-line); }
.it-pship__route li:last-child { border-bottom: 1px solid var(--wf-line); }
.it-pship__route li > span { padding-top: 4px; font-family: var(--wf-display); font-size: 13px; letter-spacing: 0.12em; color: var(--wf-gold); }
.wf .it-pship__route h3 { font-size: 16px; }
.it-three__note > .wf-lnk { margin-top: 22px; }

.it-councils { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin-top: 36px; }
.it-council { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.it-council .wf-media { width: 100%; aspect-ratio: 4 / 3; margin-bottom: 8px; }
.it-council .wf-media img { position: absolute; inset: 0; transition: transform 1.2s var(--wf-ease); }
.it-council:hover .wf-media img { transform: scale(1.04); }
.it-council__num { font-family: var(--wf-display); font-size: 13px; letter-spacing: 0.12em; color: var(--wf-gold); }
.wf .it-council h3 { font-size: 19px; font-weight: 500; line-height: 1.3; letter-spacing: -0.01em; text-transform: none; color: var(--wf-ink); }
.wf .it-council__text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; font-size: 14px; line-height: 1.7; color: var(--wf-text); }
.it-council.is-open .it-council__text { -webkit-line-clamp: unset; display: block; }
.wf .it-council__more { padding: 0; border: 0; background: none; color: var(--wf-ink); font: 600 13px/1.4 var(--wf-font); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.wf .it-council__more:hover { color: var(--wf-gold); }

.it-logos { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); margin-top: 36px; border-top: 1px solid var(--wf-line); border-left: 1px solid var(--wf-line); }
.it-logos li { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; padding: 16px 20px; border-right: 1px solid var(--wf-line); border-bottom: 1px solid var(--wf-line); }
.it-logos a { display: contents; }
.it-logos img { max-width: 100%; max-height: 40px; object-fit: contain; filter: grayscale(1); opacity: 0.75; transition: filter 0.3s, opacity 0.3s; }
.it-logos li:hover img { filter: none; opacity: 1; }
html[data-cpg-mode="dark"] .it-logos li { background: #F5F4F0; }

.it-pship__form { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px clamp(48px, 7vw, 128px); margin-top: 40px; }
.it-pship__formhead { display: flex; flex-direction: column; gap: 18px; }
.wf .it-pship__formhead p { max-width: 42ch; font-size: 15px; line-height: 1.75; color: var(--wf-text); }
.it-rulehead .wf-lnk { font-size: 13px; letter-spacing: 0.02em; text-transform: none; }

@media (max-width: 1100px) {
  .it-councils { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .it-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .it-pship__form { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .it-councils { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .it-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .it-logos li { padding: 12px; }
  .it-logos img { max-height: 30px; }
}

/* Inner pages (owner, 2026-10-19: "white background everywhere"): the black
   blocks inside a page — the numbered lists, figure bands, plain link cards
   and the About record — sit on the page ground with ink text. Photo heads,
   photo cards and the footer keep their black; Home is untouched (it is the
   page that carries the intro). */
.wf:not(:has(> .wf-intro)) :is(.wf-history, .wf-figband, .it-record) { background: var(--wf-paper); color: var(--wf-ink); }
.wf:not(:has(> .wf-intro)) .wf-history { padding-block: clamp(56px, 5.5vw, 88px); }
.wf:not(:has(> .wf-intro)) .wf-figband::before { display: none; }
.wf:not(:has(> .wf-intro)) .wf-history :is(ol, li) { border-color: var(--wf-line); }
.wf:not(:has(> .wf-intro)) .wf-history__year { color: var(--wf-gold); }
.wf:not(:has(> .wf-intro)) .wf-history p { color: var(--wf-text); }
.wf:not(:has(> .wf-intro)) :is(.wf-history, .wf-figband) :is(.wf-title, h2, h3, strong) { color: var(--wf-ink); }
.wf:not(:has(> .wf-intro)) :is(.wf-history, .wf-figband) .wf-label { color: var(--wf-dim) !important; }
.wf:not(:has(> .wf-intro)) :is(.wf-history, .wf-figband) .wf-title em, .wf:not(:has(> .wf-intro)) :is(.wf-history, .wf-figband) .wf-title .wf-tone { color: var(--wf-gold); }
.wf:not(:has(> .wf-intro)) :is(.wf-history, .wf-figband) .wf-btn--light { color: var(--wf-ink); border-color: var(--wf-ink); }
.wf:not(:has(> .wf-intro)) :is(.wf-history, .wf-figband) .wf-btn--light:hover { background: var(--wf-ink); color: var(--wf-paper); }
.wf:not(:has(> .wf-intro)) .wf-figband :is(p, span, small) { color: var(--wf-text); }
.cpg-body--holding .wf:not(:has(> .wf-intro)) .it-record .it-title { color: var(--wf-ink); }
.wf:not(:has(> .wf-intro)) .it-record .it-record__value { color: var(--wf-gold); }
.wf:not(:has(> .wf-intro)) .it-record .it-record__label { color: var(--wf-dim); }
.wf:not(:has(> .wf-intro)) .it-record .it-record__figures li { border-left-color: var(--wf-line); }
.wf:not(:has(> .wf-intro)) .it-record .it-timeline__bar { color: var(--wf-dim); }
.wf:not(:has(> .wf-intro)) .it-record .it-timeline__bar .wf-lnk, .wf:not(:has(> .wf-intro)) .it-record .it-timeline__year { color: var(--wf-ink); }
.wf:not(:has(> .wf-intro)) .it-record .it-timeline__list { border-color: var(--wf-line); }
.wf:not(:has(> .wf-intro)) .it-record .it-timeline__list h3 { color: var(--wf-ink); }
.wf:not(:has(> .wf-intro)) .it-record .it-timeline__list p { color: var(--wf-text); }
.wf:not(:has(> .wf-intro)) .it-record .it-timeline__dot { border-color: var(--wf-gold); background: var(--wf-paper); }
.wf:not(:has(> .wf-intro)) .it-record .it-timeline__now .it-timeline__dot { background: var(--wf-gold); box-shadow: 0 0 0 5px rgba(179, 150, 115, 0.18); }
.wf:not(:has(> .wf-intro)) .it-record { padding-block: clamp(56px, 5.5vw, 88px); }
/* Link cards without a photograph: a hairline frame on white. */
.wf:not(:has(> .wf-intro)) .wf-entry:not(:has(> .wf-media)) { background: var(--wf-paper); color: var(--wf-ink); border: 1px solid var(--wf-line); transition: border-color 0.3s var(--wf-ease); }
.wf:not(:has(> .wf-intro)) .wf-entry:not(:has(> .wf-media)):hover { border-color: var(--wf-ink); }
.wf:not(:has(> .wf-intro)) .wf-entry:not(:has(> .wf-media)) .wf-entry__label { color: var(--wf-gold); }
.wf:not(:has(> .wf-intro)) .wf-entry:not(:has(> .wf-media)) :is(.wf-entry__title, .wf-lnk) { color: var(--wf-ink); }
.wf:not(:has(> .wf-intro)) .wf-entry:not(:has(> .wf-media)) .wf-entry__text { color: var(--wf-text); }

/* Inner pages: one rhythm and no doubled gaps — every block is on white now,
   so a block that follows another starts at its own content. */
.wf:not(:has(> .wf-intro)) .wf-sec { padding-block: clamp(64px, 6vw, 96px); }
.wf:not(:has(> .wf-intro)) .wf-sec--tail { padding-block: 0 clamp(64px, 6vw, 96px); }
.wf:not(:has(> .wf-intro)) :is(.wf-sec, .wf-sec--tail, .wf-history, .wf-figband, .it-record) + :is(.wf-sec, .wf-history, .wf-figband, .it-record) { padding-top: 0; }
@media (max-width: 800px) {
  .wf:not(:has(> .wf-intro)) .wf-sec { padding-block: 56px; }
  .wf:not(:has(> .wf-intro)) .wf-sec--tail { padding-block: 0 56px; }
}
@media (min-width: 1001px) { .wf .it-timeline__list { padding-top: 34px; } }

/* Section labels (owner, 2026-10-19): no rule under them and no number —
   a small spaced label only. */
.it-rulehead { padding-bottom: 0; border-bottom: 0; color: var(--wf-gold); }
.it-rulehead > span:last-child:not(:first-child) { display: none; }
.it-rulehead .wf-lnk { color: var(--wf-ink); }
.it-rulehead > span:only-child, .it-rulehead > span:first-child { font-family: inherit; font-size: 11px; letter-spacing: 0.16em; }

/* Founder quote (owner, 2026-10-19): centred in the column, a gold opening
   mark above, long quotes a step smaller, the author centred under a short
   gold rule. */
.wf .wf-quote { display: flex; flex-direction: column; align-items: center; max-width: 920px; margin-inline: auto; text-align: center; }
.wf-quote__mark { display: block; height: 0.5em; margin-bottom: 18px; font-family: Georgia, "Times New Roman", serif; font-size: 96px; line-height: 0.9; color: var(--wf-gold); }
.wf .wf-quote blockquote { max-width: 32ch; text-wrap: balance; }
.wf .wf-quote blockquote.is-long { max-width: 46ch; font-size: clamp(20px, 0.8vw + 13px, 27px); line-height: 1.5; }
.wf .wf-quote figcaption { flex-direction: column; gap: 12px; margin-top: 40px; text-align: center; }
.wf .wf-quote figcaption::before { content: ""; width: 40px; height: 1px; margin-bottom: 8px; background: var(--wf-gold); }
.wf .wf-quote figcaption img { width: 56px; height: 56px; }
@media (max-width: 640px) { .wf-quote__mark { font-size: 72px; } }

/* Project head photograph (owner, 2026-10-19): it holds still in its frame
   while the page scrolls over it, with the film's play button centred. */
.it-hero__media--fixed { clip-path: inset(0); }
.it-hero__media--fixed :is(img, video) { position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100lvh; object-fit: cover; transform: none !important; }
.it-hero__media--fixed::after { content: ""; position: absolute; inset: 0; background: rgba(13, 13, 12, 0.14); pointer-events: none; }
.it-hero__media .it-play { z-index: 2; }

/* News article: the header is solid here, so the head starts close under it
   rather than clearing an overlay bar (owner, 2026-10-19). */
.wf .wf-article__head { padding-top: clamp(32px, 3.5vw, 56px); }

/* Inner pages (owner, 2026-10-19): no gold fills. The pill labels are white
   with a thin gold outline; gold-filled buttons turn white (outlined in ink
   on the page, plain white over a photograph). Home keeps its own look. */
.wf:not(:has(> .wf-intro)) .it-tag { background: var(--wf-paper); color: var(--wf-gold); border: 1px solid var(--wf-gold); padding: 4px 11px; }
.wf:not(:has(> .wf-intro)) :is(.wf-form .wf-btn, .wf-btn--gold) { background: var(--wf-paper); border: 1px solid var(--wf-ink); color: var(--wf-ink); }
.wf:not(:has(> .wf-intro)) :is(.wf-form .wf-btn, .wf-btn--gold):is(:hover, :focus-visible) { background: var(--wf-ink); border-color: var(--wf-ink); color: var(--wf-paper); }
.wf:not(:has(> .wf-intro)) .wf-promo .wf-btn { background: #fff; border-color: #fff; color: #0D0D0C; }
.wf:not(:has(> .wf-intro)) .wf-promo .wf-btn:is(:hover, :focus-visible) { background: transparent; color: #fff; }
