/* OGEC v2: One Good Eye Concepts, 2003 to 2019. Loaded after style.css on every /ogec/ page (never on GR).
   Identity: ink black, ivory type, one signal red (the pupil of the eye). Cormorant Garamond at large sizes
   like a magazine masthead, Jost for small caps and labels. Deliberately unlike GR (Bodoni, silver, ice blue, plum). */
body.brand-ogec {
  --display: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  background: var(--bg); color: var(--text);
  font-size: var(--fs-4); font-weight: 300;
}
body.brand-ogec ::selection { background: var(--red); color: #060606; }
body.brand-ogec h1, body.brand-ogec h2, body.brand-ogec h3 { font-family: var(--display); font-weight: 300; letter-spacing: var(--track-tight); line-height: 1.02; }
body.brand-ogec em { font-style: italic; }
body.brand-ogec a { text-decoration-color: rgba(229,66,75,.5); }
body.brand-ogec a:hover { color: var(--ivory); }
body.brand-ogec .eyebrow { color: var(--accent); font-size: var(--fs-1); letter-spacing: var(--track-wide); font-weight: 400; }
body.brand-ogec .lede { color: var(--text-3); font-size: var(--fs-4); line-height: 1.7; }

/* film grain: one tiny fixed layer, no cost on scroll */
body.brand-ogec::before {
  content: ""; position: fixed; inset:0; z-index: var(--z-overlay); pointer-events: none; opacity: .035; will-change: auto;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* header */
body.brand-ogec .site-header { background: rgba(6,6,6,.78); backdrop-filter: blur(16px) saturate(130%); -webkit-backdrop-filter: blur(16px) saturate(130%); border-bottom:1px solid rgba(239,233,222,.08); transition: background var(--dur-med), border-color var(--dur-med); }
body.brand-ogec .site-header.scrolled { background: rgba(6,6,6,.94); border-bottom-color: rgba(239,233,222,.16); }
body.brand-ogec .site-header .wrap { --max: 1380px; max-width: 1380px; }
body.brand-ogec .logo { display: flex; align-items: center; gap:var(--s-4); text-decoration: none; color: var(--ivory); }
body.brand-ogec .logo svg { width: 46px; height: 28px; flex: none; overflow: visible; }
body.brand-ogec .logo svg .arch { stroke: var(--ivory); }
body.brand-ogec .logo svg .pupil { fill: var(--red); transition: transform var(--dur-med) var(--ease); transform-origin: 50% 62%; }
body.brand-ogec .logo:hover svg .pupil { transform: scale(1.18); }
body.brand-ogec .logo .word { font: 400 var(--fs-1)/1.25 var(--sans); letter-spacing: var(--track-wide); text-transform: uppercase; white-space: nowrap; }
body.brand-ogec .logo .word b { display: block; font-weight: 400; color: var(--accent); letter-spacing: var(--track-wide); }
body.brand-ogec .nav a { color: var(--text-2); font-size: var(--fs-1); letter-spacing: var(--track-label); font-weight: 400; }
body.brand-ogec .nav a:hover, body.brand-ogec .nav a[aria-current] { color: var(--ivory); }
body.brand-ogec .nav > ul > li > a[aria-current] { box-shadow: inset 0 -1px 0 var(--red); }
body.brand-ogec .nav .sub { background: rgba(8,8,8,.98); border: 1px solid rgba(239,233,222,.14); border-top:1px solid var(--red); box-shadow: 0 30px 60px rgba(0,0,0,.65); }
body.brand-ogec .brand-switch { border: 1px solid var(--ui-line); border-radius: 0; padding:0; gap:0; }
body.brand-ogec .brand-switch a { border-radius: 0; padding:var(--s-2) var(--s-4); font-size: var(--fs-1); letter-spacing: var(--track-wide); color: var(--muted); }
body.brand-ogec .brand-switch a[aria-current] { background: var(--ivory); color: #060606; }
body.brand-ogec .brand-switch a:not([aria-current]):hover { background: transparent; color: var(--ivory); }
body.brand-ogec .menu-btn { border-color: var(--ui-line); color: var(--ivory); border-radius: 0; }
@media (max-width: 1340px) {
  body.brand-ogec .menu-btn { display: inline-block; margin-left:auto; }
  body.brand-ogec .brand-switch { order: 2; }
  body.brand-ogec .nav { display: none; position: absolute; top:100%; left:0; right:0; background: #060606; border-bottom:1px solid var(--line); padding:var(--s-2) var(--pad) var(--s-5); max-height: calc(100vh - var(--header-h)); overflow: auto; }
  body.brand-ogec .nav.open { display: block; }
  body.brand-ogec .nav ul { flex-direction: column; align-items: stretch; }
  body.brand-ogec .nav .sub { display: flex; position: static; border: 0; box-shadow: none; background: transparent; padding:0 0 var(--s-1) var(--s-4); min-width: 0; }
  body.brand-ogec .nav a { padding:var(--s-3) var(--s-1); }
}
@media (max-width: 520px) { body.brand-ogec .logo .word { display: none; } body.brand-ogec .logo svg { width: 42px; } }

/* buttons */
body.brand-ogec .btn { border: 1px solid rgba(239,233,222,.4); border-radius: 0; color: var(--ivory); letter-spacing: var(--track-wide); font-size: var(--fs-1); padding:var(--s-4) var(--s-8); position: relative; overflow: hidden; transition: color var(--dur-med), border-color var(--dur-med); }
body.brand-ogec .btn::before { content: ""; position: absolute; inset:0; background: var(--red); transform: translateY(101%); transition: transform var(--dur-med) var(--ease); z-index: var(--z-behind); }
body.brand-ogec .btn:hover { background: transparent; border-color: var(--red); color: #060606; }
body.brand-ogec .btn:hover::before { transform: none; }
body.brand-ogec .btn.solid { background: var(--ivory); color: #060606; border-color: var(--ivory); }
body.brand-ogec .btn.solid:hover { color: #060606; filter: none; }
body.brand-ogec .btn { isolation: isolate; }

/* ---------- home ---------- */
.o2-hero { position: relative; min-height: min(92vh, 940px); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: stretch; overflow: hidden; border-bottom:1px solid var(--line); }
.o2-hero .copy { position: relative; z-index: calc(var(--z-base) + 1); display: flex; flex-direction: column; justify-content: center; padding:clamp(var(--s-10), 7vw, var(--s-24)) var(--pad); padding-right:0; max-width: 980px; margin-left:auto; width: 100%; }
.o2-hero h1 { font-size: clamp(2.8rem, min(9.2vw, 8.6vw + 1px), 9.6rem); line-height: .88; letter-spacing: var(--track-tight); margin:.22em 0 .32em; font-weight: 300; }
.o2-hero h1 em { color: var(--ivory); font-weight: 400; }
.o2-hero h1 .dot { color: var(--red); font-style: normal; }
.o2-hero .lede { max-width: 31em; margin:0 0 var(--s-9); }
.o2-hero .actions { display: flex; flex-wrap: wrap; gap:var(--s-4); }
.o2-hero .plate { position: relative; min-height: 420px; display: flex; align-items: center; justify-content: flex-end; padding:clamp(var(--s-6), 4vw, var(--s-14)) clamp(var(--s-5), 3vw, var(--s-12)) clamp(var(--s-6), 4vw, var(--s-14)) 0; }
.o2-hero .plate .frame { position: relative; aspect-ratio: 3 / 4; height: 100%; max-width: 100%; max-height: 940px; overflow: hidden; background: #0a0a0a; }
.o2-hero .plate img { position: absolute; inset:0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; animation: o2-drift 24s ease-in-out infinite alternate; filter: contrast(1.03); }
.o2-hero .plate .frame::after { content: ""; position: absolute; inset:0; background: linear-gradient(0deg, rgba(6,6,6,.5), rgba(6,6,6,0) 30%); }
.o2-hero .plate .tag { position: absolute; z-index: calc(var(--z-base) + 2); right:clamp(36px, 4vw, 60px); bottom:clamp(36px, 5vw, 72px); font: 400 var(--fs-1)/1 var(--sans); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--ivory); writing-mode: vertical-rl; transform: rotate(180deg); opacity: .85; }
.o2-hero .years { position: absolute; z-index: calc(var(--z-base) + 2); left:var(--pad); bottom:clamp(20px, 3vw, 36px); font: 300 var(--fs-1)/1 var(--sans); letter-spacing: var(--track-wide); color: var(--muted); display: flex; align-items: center; gap:var(--s-4); }
.o2-hero .years i { display: block; width: 72px; height: 1px; background: var(--red); }
@keyframes o2-drift { from { transform: scale(1.02) translateY(0); } to { transform: scale(1.1) translateY(-1.5%); } }
@media (max-width: 880px) {
  .o2-hero { grid-template-columns: 1fr; min-height: 0; }
  .o2-hero .copy { padding-right:var(--pad); padding-bottom:var(--s-5); }
  .o2-hero .plate { min-height: 62vh; }
  .o2-hero .plate { padding:0 var(--pad) var(--s-10); justify-content: center; }
  .o2-hero .plate .frame { height: auto; width: 100%; max-width: 560px; }
  .o2-hero .years { position: static; padding:0 var(--pad) var(--s-6); }
}

.o2-head { display: flex; justify-content: space-between; align-items: baseline; gap:var(--s-5); flex-wrap: wrap; margin-bottom:clamp(var(--s-5), 3vw, var(--s-9)); }
.o2-head h2 { font-size: var(--fs-8); margin:0; }
.o2-head h2 em { color: var(--accent); }
.o2-head a { font-size: var(--fs-1); letter-spacing: var(--track-wide); text-transform: uppercase; text-decoration: none; color: var(--muted); }
.o2-head a:hover { color: var(--ivory); }

.o2-index { list-style: none; margin:0; padding:0; border-top:1px solid var(--line); counter-reset: idx; }
.o2-index li { counter-increment: idx; border-bottom:1px solid var(--line); }
.o2-index a { display: grid; grid-template-columns: 70px 1fr auto; align-items: center; gap:var(--s-5); padding:clamp(var(--s-5), 2.6vw, var(--s-9)) var(--s-1); text-decoration: none; position: relative; transition: padding var(--dur-med) var(--ease), color var(--dur-fast); }
.o2-index a::before { content: counter(idx, decimal-leading-zero); font: 400 var(--fs-1)/1 var(--sans); letter-spacing: var(--track-label); color: var(--muted); transition: color var(--dur-fast); }
.o2-index .t { font-family: var(--display); font-weight: 300; font-size: var(--fs-9); line-height: .95; letter-spacing: var(--track-tight); }
.o2-index .t em { color: var(--accent); }
.o2-index .k { font: 400 var(--fs-1)/1 var(--sans); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--muted); text-align: right; }
.o2-index .k::after { content: "\2192"; display: inline-block; margin-left:var(--s-4); transition: transform var(--dur-med) var(--ease), color var(--dur-fast); font-size: var(--fs-4); letter-spacing: 0; vertical-align: -1px; }
.o2-index a:hover { padding-left:var(--s-6); color: var(--ivory); }
.o2-index a:hover::before, .o2-index a:hover .k { color: var(--accent); }
.o2-index a:hover .k::after { transform: translateX(8px); color: var(--accent); }
@media (max-width: 700px) { .o2-index a { grid-template-columns: 38px 1fr; } .o2-index .k { display: none; } }
.o2-float { position: fixed; z-index: var(--z-overlay); left:0; top:0; width: 260px; aspect-ratio: 4 / 5; pointer-events: none; opacity: 0; transform: translate3d(0,0,0) scale(.92); transition: opacity var(--dur-fast), scale var(--dur-fast); overflow: hidden; background: #111; box-shadow: 0 30px 80px rgba(0,0,0,.7); }
.o2-float.on { opacity: 1; }
.o2-float img { width: 100%; height: 100%; object-fit: cover; }

.o2-band { position: relative; display: block; width: 100%; overflow: hidden; text-decoration: none; background: #000; aspect-ratio: 2400 / 1557; max-height: 94vh; min-height: 280px; }
.o2-band img { position: absolute; inset:0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; transition: transform var(--dur-slow) var(--ease); }
.o2-band:hover img { transform: scale(1.04); }
.o2-band::after { content: ""; position: absolute; inset:0; background: linear-gradient(0deg, rgba(6,6,6,.82), rgba(6,6,6,.05) 55%); }
.o2-band .cap { position: absolute; z-index: calc(var(--z-base) + 1); left:var(--pad); right:var(--pad); bottom:clamp(20px, 3.4vw, 44px); display: flex; justify-content: space-between; align-items: end; gap:var(--s-5); flex-wrap: wrap; }
.o2-band .cap strong { font: 300 var(--fs-8)/.95 var(--display); letter-spacing: var(--track-tight); }
.o2-band .cap strong em { color: var(--accent); }
.o2-band .cap span { font: 400 var(--fs-1)/1 var(--sans); letter-spacing: var(--track-wide); text-transform: uppercase; }

.o2-journal { display: grid; grid-template-columns: repeat(3, 1fr); gap:clamp(var(--s-5), 3vw, var(--s-12)); }
.o2-journal a { display: block; text-decoration: none; border-top:1px solid var(--line); padding-top:var(--s-5); }
.o2-journal time { font: 400 var(--fs-1)/1 var(--sans); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--accent); }
.o2-journal h3 { font-size: var(--fs-10); margin:var(--s-4) 0 var(--s-3); transition: color var(--dur-fast); }
.o2-journal a:hover h3 { color: var(--accent); }
.o2-journal p { margin:0; color: var(--muted); font-size: var(--fs-3); line-height: 1.65; }
@media (max-width: 900px) { .o2-journal { grid-template-columns: 1fr; } }

.o2-next { display: block; text-decoration: none; padding:clamp(var(--s-12), 8vw, var(--s-24)) 0; text-align: center; border-top:1px solid var(--line); }
.o2-next small { display: block; font: 400 var(--fs-1)/1 var(--sans); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--muted); margin-bottom:var(--s-6); }
.o2-next strong { display: block; font: 300 var(--fs-12)/.92 var(--display); letter-spacing: var(--track-tight); transition: letter-spacing var(--dur-slow) var(--ease), color var(--dur-fast); }
.o2-next strong em { color: var(--accent); }
.o2-next:hover strong { letter-spacing: 0; color: var(--ivory); }

/* ---------- inner pages ---------- */
body.brand-ogec .section.alt { background: var(--bg2); }
body.brand-ogec .page-head { padding:clamp(var(--s-12), 8vw, 120px) 0 clamp(var(--s-2), 2vw, var(--s-6)); position: relative; }
body.brand-ogec .page-head h1 { font-size: var(--fs-12); letter-spacing: var(--track-tight); line-height: .9; margin:0 0 .2em; font-weight: 300; }
body.brand-ogec .page-head h1::after { content: "."; color: var(--red); }
body.brand-ogec .page-head p { color: var(--text-3); font-size: var(--fs-5); max-width: 36em; line-height: 1.65; }
body.brand-ogec .crumbs { font-size: var(--fs-1); letter-spacing: var(--track-wide); color: var(--muted); margin-bottom:var(--s-6); display: flex; gap:var(--s-3); flex-wrap: wrap; }
body.brand-ogec .crumbs a { color: var(--accent); }
body.brand-ogec .subnav { gap:0 var(--s-8); margin:var(--s-8) 0 var(--s-2); border-bottom:1px solid var(--line); }
body.brand-ogec .subnav a { border: 0; padding:var(--s-3) 0; font-size: var(--fs-1); letter-spacing: var(--track-wide); color: var(--muted); position: relative; }
body.brand-ogec .subnav a::after { content: ""; position: absolute; left:0; right:100%; bottom:-1px; height: 1px; background: var(--red); transition: right var(--dur-med) var(--ease); }
body.brand-ogec .subnav a:hover, body.brand-ogec .subnav a[aria-current] { color: var(--ivory); border: 0; }
body.brand-ogec .subnav a:hover::after, body.brand-ogec .subnav a[aria-current]::after { right:0; }

/* chapters */
body.brand-ogec main > .wrap { counter-reset: chapter; }
body.brand-ogec .project { margin:0; padding:clamp(var(--s-10), 6vw, var(--s-20)) 0 clamp(var(--s-5), 3vw, var(--s-10)); border-top:1px solid var(--line); counter-increment: chapter; }
body.brand-ogec .page-head + .project { border-top:0; }
body.brand-ogec .project::before { content: "No. " counter(chapter, decimal-leading-zero); display: block; font: 400 var(--fs-1)/1 var(--sans); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--accent); margin-bottom:var(--s-5); }
body.brand-ogec .project h2 { font-size: var(--fs-8); font-style: italic; font-weight: 300; letter-spacing: var(--track-tight); max-width: 22em; margin:0 0 .25em; }
body.brand-ogec .project .credits { color: var(--muted); font-size: var(--fs-2); max-width: 60em; line-height: 1.65; }
body.brand-ogec .project .credits + .gallery, body.brand-ogec .project h2 + .gallery { margin-top:var(--s-8); }

/* galleries */
body.brand-ogec .gallery { column-width: 270px; column-gap:var(--s-5); margin-top:var(--s-8); }
body.brand-ogec .gallery a { margin:0 0 var(--s-5); background: #0b0b0b; overflow: hidden; transition: opacity var(--dur-med) var(--ease); cursor: zoom-in; }
body.brand-ogec .gallery img { transition: transform var(--dur-slow) var(--ease), filter var(--dur-med); filter: brightness(.94); }
body.brand-ogec .gallery a::before { content: ""; position: absolute; z-index: calc(var(--z-base) + 1); left:0; right:0; bottom:0; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform var(--dur-med) var(--ease); }
body.brand-ogec .gallery a.video { cursor: pointer; }
body.brand-ogec .gallery a.video::after { content: "\25B6"; background: rgba(0,0,0,.28); color: var(--ivory); font-size: var(--fs-7); transition: background var(--dur-med), color var(--dur-fast); }
body.brand-ogec .gallery a.video:hover::after { background: rgba(200,36,45,.35); }

/* category pages that use tiles */
body.brand-ogec .tiles { gap:var(--s-4); grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); counter-reset: tile; }
body.brand-ogec .tile { aspect-ratio: 3 / 4; background: #0b0b0b; counter-increment: tile; }
body.brand-ogec .tile img { opacity: .78; filter: grayscale(.35); transition: transform var(--dur-slow) var(--ease), opacity var(--dur-med), filter var(--dur-med); }
body.brand-ogec .tile::after { background: linear-gradient(0deg, rgba(0,0,0,.86), rgba(0,0,0,0) 62%); }
body.brand-ogec .tile::before { content: counter(tile, decimal-leading-zero); position: absolute; z-index: calc(var(--z-base) + 1); left:20px; top:20px; font: 400 var(--fs-1)/1 var(--sans); letter-spacing: var(--track-wide); color: var(--ivory); }
body.brand-ogec .tile span { font-family: var(--display); font-weight: 300; font-size: var(--fs-10); letter-spacing: var(--track-tight); }
body.brand-ogec .tile small { color: var(--accent); }

/* text pages, forms */
body.brand-ogec .prose { max-width: 680px; font-size: var(--fs-4); line-height: 1.85; color: var(--text-2); }
body.brand-ogec .prose strong { color: var(--ivory); font-weight: 500; }
body.brand-ogec .prose a { color: var(--accent); }
body.brand-ogec .prose p:first-child { font: 300 var(--fs-10)/1.3 var(--display); color: var(--ivory); letter-spacing: var(--track-tight); }
body.brand-ogec form.contact label { color: var(--muted); font-size: var(--fs-1); letter-spacing: var(--track-wide); }
body.brand-ogec form.contact input, body.brand-ogec form.contact textarea { background: transparent; border: 0; border-bottom:1px solid var(--ui-line); border-radius: 0; color: var(--ivory); padding:var(--s-3) 0; transition: border-color var(--dur-fast); }
body.brand-ogec form.contact input:focus, body.brand-ogec form.contact textarea:focus { border-bottom-color: var(--red); }
body.brand-ogec .contact-list a { color: var(--ivory); }
body.brand-ogec .switch-banner { background: transparent; border: 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:var(--s-9) 0; }
body.brand-ogec .tags li { border-color: var(--line); }

/* footer */
body.brand-ogec .site-footer { border-top:1px solid var(--line); padding:clamp(var(--s-9), 5vw, var(--s-18)) 0 var(--s-9); color: var(--muted); position: relative; overflow: hidden; }
body.brand-ogec .site-footer a { color: var(--text-2); font-size: var(--fs-1); letter-spacing: var(--track-label); text-transform: uppercase; }
body.brand-ogec .site-footer a:hover { color: var(--accent); }
body.brand-ogec .site-footer .copy a { text-transform: none; letter-spacing: 0; font-size: inherit; }
.o2-mark { font: 300 var(--fs-12)/.84 var(--display); letter-spacing: var(--track-tight); color: var(--ivory); margin:0 0 clamp(var(--s-6), 4vw, var(--s-14)); white-space: nowrap; user-select: none; }
.o2-mark i { color: var(--accent); font-style: normal; font-weight: 400; letter-spacing: var(--track-tight); }

/* lightbox */
body.brand-ogec .lb { background: rgba(3,3,3,.97); }
body.brand-ogec .lb-cap { font: italic 300 var(--fs-4)/1.4 var(--display); color: var(--ivory); }
body.brand-ogec .lb .count { letter-spacing: var(--track-wide); color: var(--muted); }
body.brand-ogec .lb button { font-weight: 200; }
body.brand-ogec .lb button:hover { color: var(--accent); }

/* reveal on scroll (added by ogec2.js) */
html.o2 .rv { opacity: 0; transform: translateY(26px); transition: opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease); transition-delay: calc(var(--i, 0) * 90ms); }
html.o2 .rv.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .o2-hero .plate img { animation: none; }
  html.o2 .rv { opacity: 1; transform: none; transition: none; }
  body.brand-ogec::before { display: none; }
}

/* gallery pictures that are still missing: keep them findable, but on-brand */
body.brand-ogec figure.ph { background: #0e0e0e; outline: 1px dashed #3a3632; outline-offset: -1px; }
body.brand-ogec figure.ph img { opacity: .22; filter: grayscale(1) invert(1); }
body.brand-ogec .ph-tag { background: #2a0f12; color: #f0b3b6; font-size: var(--fs-1); letter-spacing: 0; }

/* hover effects only where there is a real pointer: on a phone one tap must not leave the gallery dimmed */
@media (hover: hover) {
  body.brand-ogec .gallery:hover a { opacity: .5; }
  body.brand-ogec .gallery:hover a:hover { opacity: 1; }
  body.brand-ogec .gallery a:hover img { transform: scale(1.035); filter: brightness(1.04); }
  body.brand-ogec .gallery a:hover::before { transform: scaleX(1); }
  body.brand-ogec .tile:hover img { opacity: 1; filter: none; transform: scale(1.06); }
  body.brand-ogec .tile:hover span { color: var(--ivory); }
}

/* keyboard focus: visible on black */

body.brand-ogec .gallery a:focus-visible, body.brand-ogec .tile:focus-visible, body.brand-ogec .o2-band:focus-visible { outline-offset: -3px; }
body.brand-ogec .lb button:focus-visible { outline-offset: -4px; }

body.brand-ogec .site-footer .row ul { gap:var(--s-1) var(--s-2); } body.brand-ogec .site-footer .row li a { display: inline-block; padding:var(--s-2) var(--s-2); }

@media (prefers-reduced-motion: reduce) {
  body.brand-ogec *::before, body.brand-ogec *::after { transition: none !important; animation: none !important; }
}

/* Work menu: one tab that opens Advertising, Editorial and Costume Design */
body.brand-ogec .nav li.has-mega { position: relative; }
body.brand-ogec .nav li.has-mega > a::after { content: ""; display: inline-block; width: 5px; height: 5px; margin:0 0 4px var(--s-2); border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform: rotate(45deg); }
body.brand-ogec .nav .mega { display: none; position: absolute; top:100%; left:-18px; min-width: 640px; padding:var(--s-6) var(--s-8) var(--s-6); background: rgba(8,8,8,.98); border: 1px solid rgba(239,233,222,.14); border-top:1px solid var(--red); box-shadow: 0 30px 60px rgba(0,0,0,.65); }
body.brand-ogec .nav li.has-mega:hover > .mega, body.brand-ogec .nav li.has-mega:focus-within > .mega { display: block; }
body.brand-ogec .nav .mega .cols { display: grid; grid-template-columns: repeat(3, 1fr); gap:0 var(--s-9); align-items: start; }
body.brand-ogec .nav .mega .grp > a { padding:var(--s-1) 0 var(--s-3); font-size: var(--fs-1); letter-spacing: var(--track-wide); color: var(--ivory); box-shadow: inset 0 -1px 0 var(--line); margin-bottom:var(--s-2); }
body.brand-ogec .nav .mega .grp ul { display: block; }
body.brand-ogec .nav .mega .grp ul a { padding:var(--s-2) 0; letter-spacing: var(--track-label); font-size: var(--fs-1); color: var(--text-3); }
body.brand-ogec .nav .mega .grp ul a:hover, body.brand-ogec .nav .mega .grp ul a[aria-current] { color: var(--accent); }
@media (max-width: 1340px) {
  body.brand-ogec .nav li.has-mega > a::after { display: none; }
  body.brand-ogec .nav .mega { display: block; position: static; min-width: 0; padding:0 0 var(--s-2) var(--s-4); background: transparent; border: 0; box-shadow: none; }
  body.brand-ogec .nav .mega .cols { display: block; }
  body.brand-ogec .nav .mega .grp > a { box-shadow: none; padding:var(--s-2) var(--s-1); margin:0; }
  body.brand-ogec .nav .mega .grp ul { padding-left:var(--s-4); }
}

/* hero headline: the word EYE in capitals and signal red; the pipe in the line above */
.o2-hero h1 .eye { color: var(--accent); font-style: normal; font-weight: 400; letter-spacing: 0; }
.o2-hero .eyebrow .pipe { color: var(--muted); margin:0 .9em; letter-spacing: 0; }

/* ---------- OGEC blog: lists, posts, comments ---------- */
body.brand-ogec .cards { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap:clamp(var(--s-8), 3.4vw, var(--s-14)) clamp(var(--s-5), 2.4vw, var(--s-9)); }
body.brand-ogec .card { background: transparent; border-top:1px solid var(--line); padding-top:var(--s-5); }
body.brand-ogec .card .thumb { aspect-ratio: 4 / 3; background: #0b0b0b; overflow: hidden; }
body.brand-ogec .card .thumb img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.94); transition: transform var(--dur-slow) var(--ease), filter var(--dur-med); }
body.brand-ogec .card .meta { color: var(--accent); font-size: var(--fs-1); letter-spacing: var(--track-wide); margin:var(--s-4) 0 var(--s-2); line-height: 1.7; }
body.brand-ogec .card h3, body.brand-ogec .card h2 { font-family: var(--display); font-weight: 300; font-size: var(--fs-10); letter-spacing: var(--track-tight); line-height: 1.08; transition: color var(--dur-fast); }
body.brand-ogec .card p { color: var(--muted); font-size: var(--fs-3); line-height: 1.65; }
@media (hover: hover) {
  body.brand-ogec .card:hover .thumb img { transform: scale(1.05); filter: brightness(1.04); }
  body.brand-ogec .card:hover h3, body.brand-ogec .card:hover h2 { color: var(--accent); }
}
body.brand-ogec .pager { gap:0; margin-top:clamp(var(--s-10), 6vw, var(--s-20)); }
body.brand-ogec .pager a, body.brand-ogec .pager span { border: 0; border-bottom:1px solid var(--line); min-width: 46px; padding:var(--s-3) var(--s-4); font-size: var(--fs-1); letter-spacing: var(--track-label); color: var(--muted); }
body.brand-ogec .pager span { color: var(--ivory); border-bottom-color: var(--red); }
body.brand-ogec .pager a:hover { color: var(--ivory); border-bottom-color: var(--ivory); }

body.brand-ogec .post-head { text-align: left; max-width: 980px; margin:0 auto; padding:clamp(var(--s-6), 4vw, var(--s-16)) 0 clamp(var(--s-5), 3vw, var(--s-9)); }
body.brand-ogec .post-head h1 { font-size: var(--fs-9); line-height: .96; letter-spacing: var(--track-tight); margin:var(--s-4) 0 0; font-weight: 300; }
body.brand-ogec .post-head .meta { color: var(--accent); font-size: var(--fs-1); letter-spacing: var(--track-wide); text-transform: uppercase; line-height: 1.8; }
body.brand-ogec .post-head .meta a { color: var(--accent); text-decoration: none; }
body.brand-ogec article .crumbs { max-width: 980px; margin:clamp(var(--s-8), 5vw, var(--s-18)) auto 0; }
body.brand-ogec .hero-feature { max-width: 980px; margin:0 auto var(--s-10); }
body.brand-ogec .hero-feature img { width: 100%; height: auto; }
body.brand-ogec article .prose { max-width: 760px; margin-left:auto; margin-right:auto; }
body.brand-ogec article .prose p:first-child { font: inherit; color: inherit; letter-spacing: 0; }
body.brand-ogec .prose h2, body.brand-ogec .prose h3 { font-weight: 300; font-size: var(--fs-10); margin-top:1.8em; }
body.brand-ogec .prose img { margin:1.4em auto; height: auto; }
body.brand-ogec .prose figure { margin:1.8em auto; }
body.brand-ogec .prose figcaption { text-align: center; color: var(--muted); font-size: var(--fs-2); margin-top:var(--s-3); }
body.brand-ogec .prose .gallery { column-width: 210px; column-gap:var(--s-3); margin:1.8em 0; }
body.brand-ogec .prose .gallery a { margin:0 0 var(--s-3); }
body.brand-ogec .prose .gallery img { margin:0; }
body.brand-ogec .tags { gap:var(--s-2); margin:var(--s-12) 0 0; }
body.brand-ogec .tags li { border: 0; border-bottom:1px solid var(--line); padding:4px 4px; margin-right:var(--s-2); font-size: var(--fs-1); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--muted); }
body.brand-ogec .postnav { border-top:1px solid var(--line); margin-top:var(--s-14); padding-top:var(--s-8); font-family: var(--display); font-weight: 300; font-size: var(--fs-6); line-height: 1.15; }
body.brand-ogec .postnav small { font-family: var(--sans); font-size: var(--fs-1); letter-spacing: var(--track-wide); color: var(--accent); margin-bottom:var(--s-2); }
body.brand-ogec .postnav a:hover { color: var(--accent); }
body.brand-ogec .comments { max-width: 760px; margin:var(--s-20) auto 0; padding-top:var(--s-8); border-top:1px solid var(--line); }
body.brand-ogec .comments h2 { font-size: var(--fs-10); font-style: italic; margin-bottom:var(--s-2); }
body.brand-ogec .comments ol { list-style: none; margin:0; padding:0; }
body.brand-ogec .comments .children { margin:var(--s-1) 0 0 clamp(var(--s-3), 3vw, var(--s-8)); padding-left:var(--s-5); border-left:1px solid var(--red); }
body.brand-ogec .comment { padding:var(--s-6) 0 var(--s-2); border-top:1px solid var(--line); }
body.brand-ogec .comments > ol > .comment:first-child { border-top:0; }
body.brand-ogec .c-meta { display: flex; flex-wrap: wrap; gap:var(--s-2) var(--s-4); align-items: baseline; }
body.brand-ogec .c-meta strong { font-weight: 400; color: var(--ivory); }
body.brand-ogec .c-meta span { font-size: var(--fs-1); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--accent); }
body.brand-ogec .c-body p { margin:.5em 0 .9em; color: var(--text-2); font-size: var(--fs-3); }

/* the since line is three segments that wrap at the pipes, never in the middle of a phrase */
.o2-hero .eyebrow span:not(.pipe) { white-space: nowrap; }
.o2-hero .eyebrow { letter-spacing: var(--track-wide); line-height: 2; }
.o2-hero .eyebrow .pipe { margin:0 .6em; }

@media (max-width: 760px) {
  .o2-hero .eyebrow .pipe { display: none; }
  .o2-hero .eyebrow span:not(.pipe) { display: block; }
}

/* ---- 26 Oct 2026 audit, second pass ---- */
body.brand-ogec .o2-hero h1 { line-height: .88; }
body.brand-ogec .prose, body.brand-ogec article .prose { max-width: var(--measure); }
body.brand-ogec form.contact input:user-invalid, body.brand-ogec form.contact textarea:user-invalid { border-bottom-color: #ff8a8a; }

/*reaudit*/body.brand-ogec{--red:#ff6b72}
