:root {
  --ai-ink: #090d12;
  --ai-paper: #f5f2ea;
  --ai-white: #fffefa;
  --ai-blue: #2f62ff;
  --ai-cyan: #54d6e8;
  --ai-coral: #ff684f;
  --ai-pink: #ea3eb7;
  --ai-gold: #f2b544;
  --ai-green: #4cc49a;
  --ai-violet: #8b6cff;
  --ai-muted: #aeb9c7;
  --ai-line: rgba(255,255,255,.16);
}

html { scroll-behavior: smooth; }
.ai-studio-page { background: var(--ai-ink); color: var(--ai-white); overflow-x: hidden; }
.ai-studio-page main { overflow: clip; }
.ai-studio-page .site-header { background: rgba(8,12,18,.84); border-bottom-color: rgba(255,255,255,.1); backdrop-filter: blur(20px); }
.ai-studio-page .site-header .brand,
.ai-studio-page .site-header .nav > a,
.ai-studio-page .site-header .portfolio-trigger { color: #fff; }
.ai-studio-page .site-header .brand span { color: var(--ai-cyan); }
.ai-studio-page .site-header .nav > a.nav-cta { background: #fff; color: #081017; }
.ai-studio-page .portfolio-submenu { background: #111821; border-color: rgba(255,255,255,.12); }
.ai-studio-page .portfolio-submenu a { color: #e8edf2; }

.ai-hero { min-height: 94svh; position: relative; display: flex; align-items: flex-end; isolation: isolate; padding: 9.5rem 0 5rem; background: #070a0f; }
.ai-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -4; }
.ai-hero-wash { position: absolute; inset: 0; z-index: -3; background: linear-gradient(90deg, rgba(3,7,13,.94) 0%, rgba(3,7,13,.78) 32%, rgba(3,7,13,.2) 67%, rgba(3,7,13,.42) 100%), linear-gradient(0deg, rgba(3,7,13,.9) 0%, transparent 55%); }
.ai-orbit { position: absolute; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; pointer-events: none; mix-blend-mode: screen; }
.orbit-one { width: 38rem; height: 38rem; right: -9rem; top: 7rem; box-shadow: 0 0 100px rgba(47,98,255,.12); }
.orbit-two { width: 18rem; height: 18rem; right: 11rem; top: 17rem; border-color: rgba(255,104,79,.32); }
.ai-hero-content { width: 100%; position: relative; z-index: 2; }
.ai-kicker { display: flex; gap: 1.4rem; align-items: center; font-size: .7rem; letter-spacing: .19em; font-weight: 800; text-transform: uppercase; color: #dfe8ef; margin-bottom: 1.65rem; }
.ai-kicker span:first-child { color: var(--ai-cyan); }
.ai-kicker span + span { border-left: 1px solid rgba(255,255,255,.35); padding-left: 1.4rem; }
.ai-hero h1 { font-size: clamp(4.5rem, 10vw, 9.5rem); line-height: .82; letter-spacing: -.065em; max-width: 9ch; margin: 0; font-weight: 650; }
.ai-hero h1 em { color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.9); font-family: Georgia, serif; font-weight: 400; }
.ai-hero-content > p { max-width: 45rem; font-size: clamp(1.05rem, 1.55vw, 1.35rem); line-height: 1.58; color: #d9e0e8; margin: 2.2rem 0 2.35rem; }
.ai-hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; }
.ai-button { min-height: 3.5rem; display: inline-flex; align-items: center; justify-content: center; gap: 1.25rem; padding: .9rem 1.3rem; border: 1px solid rgba(255,255,255,.32); text-decoration: none; font-size: .77rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease; }
.ai-button:hover { transform: translateY(-2px); }
.ai-button.primary { background: #fff; color: #090d12; border-color: #fff; }
.ai-button.ghost { color: #fff; background: rgba(8,12,18,.32); backdrop-filter: blur(10px); }
.ai-disclosure { position: absolute; right: clamp(1rem, 3vw, 3rem); bottom: 1.5rem; max-width: 24rem; display: flex; gap: .8rem; align-items: flex-start; font-size: .62rem; letter-spacing: .07em; line-height: 1.45; color: #dbe4eb; }
.ai-disclosure strong { color: var(--ai-gold); white-space: nowrap; }

.proof-ribbon { overflow: hidden; border-block: 1px solid rgba(255,255,255,.11); background: #0e151e; }
.proof-track { min-height: 4.3rem; display: flex; align-items: center; justify-content: center; gap: clamp(1.2rem, 3vw, 3.4rem); white-space: nowrap; padding: 0 1.25rem; font-size: .66rem; letter-spacing: .18em; font-weight: 800; color: #dfe7ee; }
.proof-track i { width: .38rem; height: .38rem; border-radius: 50%; background: linear-gradient(135deg, var(--ai-coral), var(--ai-violet)); box-shadow: 0 0 18px var(--ai-violet); }

.ai-intro { padding: clamp(6rem, 10vw, 10rem) 0; background: var(--ai-paper); color: #11161d; }
.intro-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(3rem, 7vw, 8rem); align-items: start; }
.ai-eyebrow { font-size: .7rem; letter-spacing: .18em; font-weight: 850; text-transform: uppercase; color: #67717d; margin-bottom: 1.2rem; }
.intro-grid h2,
.section-heading h2,
.outcome-heading h2,
.truth-grid h2,
.ai-cta h2 { font-size: clamp(3rem, 6.2vw, 6.5rem); line-height: .93; letter-spacing: -.055em; margin: 0; font-weight: 590; }
.intro-grid h2 em,
.section-heading h2 em,
.outcome-heading h2 em,
.truth-grid h2 em,
.ai-cta h2 em { font-family: Georgia, serif; font-weight: 400; }
.intro-copy { border-top: 1px solid #b7b9b2; padding-top: 1.45rem; }
.intro-copy p { color: #4b545e; line-height: 1.72; font-size: 1.04rem; }
.intro-copy .lead { font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.46; color: #10161c; margin-top: 0; }

.architecture-story { padding: clamp(6rem, 10vw, 10rem) 0; background: #e7e0d5; color: #11161d; }
.section-heading { display: grid; grid-template-columns: 1fr .52fr; gap: 3rem; align-items: end; margin-bottom: 3.3rem; }
.section-heading .ai-eyebrow { grid-column: 1 / -1; margin-bottom: -.4rem; }
.section-heading p { color: #56606a; line-height: 1.7; font-size: 1rem; margin: 0 0 .5rem; }
.architecture-frame { position: relative; min-height: 44rem; overflow: hidden; background: #bfb7aa; box-shadow: 0 32px 80px rgba(31,28,22,.18); }
.architecture-frame > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.architecture-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(6,10,14,.8), transparent 45%), linear-gradient(90deg, rgba(5,8,12,.28), transparent 25%, transparent 76%, rgba(5,8,12,.2)); pointer-events: none; }
.stage-marker { position: absolute; top: 2rem; display: grid; grid-template-columns: auto 1fr; column-gap: .65rem; align-items: center; padding: .75rem .9rem; color: white; background: rgba(6,10,14,.48); border: 1px solid rgba(255,255,255,.24); backdrop-filter: blur(12px); cursor: pointer; transition: .2s ease; font: inherit; text-align: left; }
.stage-marker:hover,
.stage-marker.is-active { background: #fff; color: #0d1218; transform: translateY(-2px); }
.stage-marker span { grid-row: 1 / 3; color: var(--ai-coral); font-weight: 900; font-size: .68rem; }
.stage-marker strong { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.stage-marker small { font-size: .65rem; opacity: .72; }
.stage-plan { left: 2rem; }
.stage-model { left: 42%; transform: translateX(-50%); }
.stage-model:hover,
.stage-model.is-active { transform: translateX(-50%) translateY(-2px); }
.stage-finish { right: 2rem; }
.architecture-note { position: absolute; left: 2rem; bottom: 2rem; max-width: 34rem; color: white; }
.architecture-note-label { color: var(--ai-cyan); font-size: .67rem; font-weight: 900; letter-spacing: .15em; }
.architecture-note p { font-size: clamp(1.08rem, 1.7vw, 1.35rem); line-height: 1.55; margin: .65rem 0 0; }
.concept-stamp { position: absolute; right: 1.25rem; bottom: 1.25rem; color: rgba(255,255,255,.78); font-size: .58rem; letter-spacing: .1em; transform: rotate(-90deg) translateX(100%); transform-origin: bottom right; }
.architecture-foot { display: grid; grid-template-columns: 1.2fr auto; gap: 3rem; align-items: center; padding: 1.7rem 0 0; color: #4d555d; line-height: 1.65; }
.architecture-foot p { margin: 0; max-width: 60rem; }
.architecture-foot a { color: #11161d; font-weight: 800; text-decoration: none; border-bottom: 1px solid #11161d; padding-bottom: .25rem; white-space: nowrap; }

.outcome-lab { padding: clamp(6rem, 10vw, 10rem) 0; background: #0b1017; }
.outcome-heading { display: grid; grid-template-columns: 1fr .48fr; gap: 3rem; align-items: end; margin-bottom: 3.5rem; }
.outcome-heading .ai-eyebrow { color: var(--ai-cyan); }
.outcome-heading p { color: var(--ai-muted); line-height: 1.7; max-width: 31rem; margin: 0; }
.outcome-layout { display: grid; gap: 1rem; }
.outcome-tabs { display: grid; grid-template-columns: repeat(4,1fr); gap: .7rem; align-content: start; }
.outcome-tab { width: 100%; display: grid; grid-template-columns: auto 1fr; column-gap: .8rem; text-align: left; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.13); padding: 1rem; cursor: pointer; transition: .2s ease; }
.outcome-tab:hover,
.outcome-tab.is-active { background: #fff; color: #0b1017; border-color: #fff; transform: translateY(-.2rem); }
.outcome-tab span { grid-row: 1 / 3; color: var(--ai-coral); font-size: .62rem; font-weight: 900; }
.outcome-tab strong { font-size: .82rem; letter-spacing: .07em; text-transform: uppercase; }
.outcome-tab small { font-size: .7rem; opacity: .65; margin-top: .2rem; }
.compare-card { min-width: 0; background: #131b24; border: 1px solid rgba(255,255,255,.12); }
.compare-viewport { --split: 0%; position: relative; aspect-ratio: 16/9; overflow: hidden; background: #1b2530; }
.compare-viewport img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.compare-before { width: 100%; max-width: none; height: 100%; object-fit: cover; }
.compare-after-wrap { position: absolute; inset: 0; width: 100%; overflow: hidden; clip-path: inset(0 calc(100% - var(--split)) 0 0); }
.compare-after { width: 100%; max-width: none; height: 100%; object-fit: cover; }
.compare-line { position: absolute; z-index: 4; left: clamp(1.5rem, var(--split), calc(100% - 1.5rem)); top: 0; bottom: 0; transform: translateX(-50%); pointer-events: none; }
.compare-line span { position: absolute; left: 50%; top: 50%; width: 3rem; height: 3rem; border-radius: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; background: #fff; color: #111; font-size: 1.1rem; box-shadow: 0 8px 28px rgba(0,0,0,.3); }
.compare-range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; z-index: 8; }
.compare-label { position: absolute; z-index: 5; top: 1rem; padding: .55rem .72rem; background: rgba(7,12,18,.76); border: 1px solid rgba(255,255,255,.22); color: white; font-size: .61rem; font-weight: 900; letter-spacing: .13em; pointer-events: none; }
.label-before { left: 1rem; }
.label-after { right: 1rem; color: var(--ai-cyan); }
.compare-instruction { min-height: 2.65rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .72rem 1rem; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); background: #0d141d; color: #9ea9b5; font-size: .6rem; font-weight: 850; letter-spacing: .12em; }
.compare-instruction strong { color: var(--ai-cyan); }
.compare-copy { display: grid; grid-template-columns: 1fr .8fr; gap: 2rem; padding: 1.6rem 1.7rem 1.75rem; }
.compare-status { color: var(--ai-cyan); font-size: .62rem; font-weight: 900; letter-spacing: .13em; }
.compare-copy h3 { margin: .55rem 0 0; font-size: clamp(1.4rem, 2.4vw, 2.2rem); line-height: 1.08; }
.compare-copy p { color: #aeb8c3; line-height: 1.65; margin: .05rem 0 0; }
.outcome-next { margin-top: 1.25rem; padding: 1.2rem 1.3rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.045); }
.outcome-next p { margin: 0; max-width: 42rem; color: #b8c2cd; line-height: 1.55; }
.outcome-next strong { color: #fff; }
.outcome-next > div { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; justify-content: flex-end; }
.outcome-next a { color: var(--ai-cyan); font-size: .69rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .2rem; white-space: nowrap; }

.campaign-system { padding: clamp(6rem, 10vw, 10rem) 0; background: linear-gradient(145deg, #301050, #142a68 54%, #092c35); }
.section-heading.light { color: white; }
.section-heading.light .ai-eyebrow { color: #90f2f2; }
.section-heading.light p { color: #d6ddeb; }
.campaign-canvas { display: grid; grid-template-columns: 1.45fr .62fr .88fr; grid-template-rows: 22rem 17rem; gap: 1rem; }
.campaign-card { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.2); background: rgba(10,16,28,.52); box-shadow: 0 25px 70px rgba(9,6,23,.22); }
.campaign-card > img { width: 100%; height: 100%; object-fit: cover; }
.campaign-main { grid-row: 1 / 3; }
.campaign-vertical { grid-row: 1 / 3; }
.campaign-vertical > img { object-position: center; }
.card-tone { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(6,9,16,.9), transparent 55%); }
.campaign-tag { position: absolute; top: .9rem; left: .9rem; padding: .48rem .58rem; font-size: .54rem; letter-spacing: .11em; font-weight: 900; background: rgba(6,10,18,.78); border: 1px solid rgba(255,255,255,.22); }
.campaign-tag.real { color: #9af1de; }
.campaign-card-copy { position: absolute; left: 1.2rem; right: 1.2rem; bottom: 1.2rem; z-index: 2; }
.campaign-card-copy span { font-size: .58rem; font-weight: 900; letter-spacing: .14em; color: #9af1de; }
.campaign-card-copy h3 { margin: .45rem 0 0; font-size: clamp(1.25rem, 2.2vw, 2.2rem); line-height: 1.07; }
.campaign-tiles { background: linear-gradient(135deg, #f05ca7, #ff7f4f 48%, #f5c344); }
.format-stack { position: absolute; inset: 1.2rem 1.2rem 5.6rem; }
.format-tile { position: absolute; display: grid; place-items: center; color: #12151b; font-weight: 900; font-size: .82rem; box-shadow: 0 15px 35px rgba(33,17,32,.22); background: #fff; border: 1px solid rgba(255,255,255,.65); }
.tile-a { width: 62%; aspect-ratio: 16/9; left: 0; top: 10%; transform: rotate(-5deg); }
.tile-b { width: 42%; aspect-ratio: 1; right: 4%; top: 0; background: #c6fff0; transform: rotate(6deg); }
.tile-c { width: 28%; aspect-ratio: 9/16; right: 22%; bottom: -18%; background: #ced8ff; transform: rotate(1deg); }
.campaign-copycard { position: relative; padding: 1.5rem; background: rgba(8,15,28,.72); }
.campaign-copycard .mini-label { color: var(--ai-cyan); font-size: .58rem; letter-spacing: .15em; font-weight: 900; }
.campaign-copycard ul { margin: 1.15rem 0 0; padding: 0; list-style: none; display: grid; gap: .58rem; color: #edf1f6; font-size: .86rem; }
.campaign-copycard li::before { content: "↗"; color: var(--ai-coral); margin-right: .65rem; }
.pulse-dot { width: .65rem; height: .65rem; border-radius: 50%; background: var(--ai-coral); box-shadow: 0 0 0 0 rgba(255,104,79,.55); animation: pulse 2.2s infinite; margin-bottom: 1rem; }
@keyframes pulse { 70% { box-shadow: 0 0 0 12px rgba(255,104,79,0); } 100% { box-shadow: 0 0 0 0 rgba(255,104,79,0); } }

.nyc-stories { padding: clamp(6rem, 10vw, 10rem) 0; background: #e9edf1; color: #10151c; }
.nyc-stories .outcome-heading .ai-eyebrow { color: #2b6374; }
.nyc-stories .outcome-heading p { color: #4d5965; }
.nyc-panorama { position: relative; min-height: clamp(31rem, 53vw, 48rem); margin: 0 0 1rem; overflow: hidden; background: #0a1119; box-shadow: 0 30px 70px rgba(24,37,49,.18); }
.nyc-panorama > a { position: absolute; inset: 0; display: block; }
.nyc-panorama img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
.nyc-panorama:hover img { transform: scale(1.018); }
.nyc-panorama::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(4,8,14,.94),rgba(4,8,14,.08) 63%); pointer-events: none; }
.nyc-panorama figcaption { position: absolute; z-index: 2; left: clamp(1.3rem,3vw,3rem); right: clamp(1.3rem,3vw,3rem); bottom: clamp(1.4rem,3vw,2.8rem); max-width: 53rem; color: #fff; pointer-events: none; }
.nyc-panorama figcaption span,
.nyc-source-card span { display: block; color: #2b6b72; font-size: .59rem; font-weight: 900; letter-spacing: .14em; }
.nyc-panorama figcaption span { color: #91fff2; }
.nyc-panorama figcaption strong { display: block; max-width: 20ch; margin-top: .55rem; font-size: clamp(2rem,4.3vw,4.75rem); line-height: .97; letter-spacing: -.04em; }
.nyc-panorama figcaption p { max-width: 44rem; margin: .75rem 0 0; color: #d9e4ea; line-height: 1.55; }
.nyc-source-grid { display: grid; grid-template-columns: 1.35fr .78fr .78fr; gap: 1rem; margin-top: 1rem; }
.nyc-source-card { min-width: 0; background: #fff; border: 1px solid rgba(15,22,29,.1); display: flex; flex-direction: column; box-shadow: 0 14px 36px rgba(35,49,60,.08); }
.nyc-source-card > a { display: block; height: 22rem; overflow: hidden; background: #0d131a; }
.nyc-source-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .55s ease, filter .55s ease; }
.nyc-source-card:hover img { transform: scale(1.03); filter: saturate(1.06); }
.nyc-source-feature img { object-position: center 68%; }
.nyc-source-card > div { padding: 1.25rem 1.3rem 1.45rem; }
.nyc-source-card h3 { margin: .5rem 0 .6rem; font-size: clamp(1.25rem,2.1vw,2.1rem); line-height: 1.06; letter-spacing: -.03em; }
.nyc-source-card p { margin: 0; color: #58626c; line-height: 1.58; font-size: .9rem; }
.nyc-ai-case { display: grid; grid-template-columns: minmax(0,1fr) minmax(22rem,.72fr); gap: clamp(2rem,5vw,5rem); align-items: center; margin-top: clamp(4rem,8vw,7rem); padding: clamp(2rem,5vw,4.8rem); background: linear-gradient(145deg,#0a111a,#17283a); color: #fff; box-shadow: 0 30px 75px rgba(18,31,43,.2); }
.nyc-ai-case-copy .ai-eyebrow { color: #8ff2eb; }
.nyc-ai-case-copy h3 { margin: 0; font-size: clamp(2.8rem,5vw,5.4rem); line-height: .94; letter-spacing: -.055em; }
.nyc-ai-case-copy h3 em { font-family: Georgia,serif; font-weight: 400; }
.nyc-ai-case-copy > p { max-width: 38rem; margin: 1.5rem 0; color: #c7d2dc; line-height: 1.72; }
.nyc-ai-rule { display: flex; flex-wrap: wrap; gap: .55rem; }
.nyc-ai-rule span { padding: .55rem .65rem; border: 1px solid rgba(143,242,235,.33); color: #a8fff6; font-size: .56rem; font-weight: 900; letter-spacing: .11em; }
.nyc-compare-card { width: min(100%,35rem); justify-self: end; background: #080d13; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 25px 60px rgba(0,0,0,.3); }
.nyc-compare-viewport { position: relative; aspect-ratio: 3/4; overflow: hidden; background: #131c25; }
.nyc-compare-viewport img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nyc-compare-after-wrap { position: absolute; inset: 0; overflow: hidden; clip-path: inset(0 calc(100% - var(--nyc-split)) 0 0); }
.nyc-compare-line { position: absolute; z-index: 4; left: clamp(1.5rem,var(--nyc-split),calc(100% - 1.5rem)); top: 0; bottom: 0; width: 2px; transform: translateX(-50%); background: rgba(255,255,255,.86); pointer-events: none; }
.nyc-compare-line span { position: absolute; left: 50%; top: 50%; width: 3rem; height: 3rem; border-radius: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; background: #fff; color: #111; box-shadow: 0 8px 28px rgba(0,0,0,.35); }
.nyc-compare-range { position: absolute; inset: 0; z-index: 7; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; }
.nyc-compare-guide { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; color: #9daab6; font-size: .57rem; font-weight: 900; letter-spacing: .11em; }
.nyc-compare-guide strong { color: #8ff2eb; text-align: right; }
.wtc-story { margin-top: clamp(4rem,8vw,7rem); padding: clamp(1.5rem,4vw,3.3rem); background: #0a0f15; color: #fff; }
.wtc-story-heading { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(2rem,5vw,5rem); align-items: end; margin-bottom: 2rem; }
.wtc-story-heading .ai-eyebrow { color: #9adfd8; }
.wtc-story-heading h3 { margin: 0; font-size: clamp(2.5rem,5vw,5.4rem); line-height: .95; letter-spacing: -.055em; }
.wtc-story-heading h3 em { font-family: Georgia,serif; font-weight: 400; }
.wtc-story-heading p { margin: 0 0 1rem; color: #c4ced8; line-height: 1.7; }
.wtc-truth-label { color: #8ff2eb; font-size: .59rem; font-weight: 900; letter-spacing: .13em; }
.wtc-gallery { display: grid; grid-template-columns: minmax(0,1fr) minmax(16rem,20rem); gap: 1rem; }
.wtc-stage { min-width: 0; color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.16); background: #05080c; }
.wtc-stage-image { height: clamp(32rem,47vw,44rem); display: grid; place-items: center; overflow: hidden; background: #030507; }
.wtc-stage-image img { width: 100%; height: 100%; object-fit: contain; display: block; transition: opacity .2s ease; }
.wtc-stage-copy { min-height: 8.8rem; display: grid; align-content: center; padding: 1.15rem 1.25rem 1.35rem; }
.wtc-stage-copy span { color: #8ff2eb; font-size: .58rem; font-weight: 900; letter-spacing: .14em; }
.wtc-stage-copy strong { margin-top: .45rem; font-size: clamp(1.25rem,2vw,1.9rem); line-height: 1.08; }
.wtc-stage-copy p { margin: .5rem 0 0; color: #aeb9c4; line-height: 1.55; font-size: .87rem; }
.wtc-thumbs { display: grid; grid-template-rows: repeat(5,1fr); gap: .65rem; }
.wtc-thumb { min-width: 0; display: grid; grid-template-columns: 6rem 1fr; gap: .8rem; align-items: center; padding: .65rem; border: 1px solid rgba(255,255,255,.14); background: #101821; color: #e7edf2; text-align: left; cursor: pointer; font: inherit; transition: background .2s ease,border-color .2s ease,transform .2s ease; }
.wtc-thumb:hover,
.wtc-thumb.is-active { background: #182733; border-color: #8ff2eb; transform: translateX(-.2rem); }
.wtc-thumb img { width: 6rem; height: 5rem; object-fit: cover; display: block; }
.wtc-thumb span { display: grid; gap: .28rem; font-size: .77rem; font-weight: 800; }
.wtc-thumb b { color: #8ff2eb; font-size: .58rem; letter-spacing: .12em; }
.twilight-lab { margin-top: clamp(3.5rem,7vw,6.5rem); padding-top: clamp(2.5rem,5vw,4.5rem); border-top: 1px solid rgba(255,255,255,.17); }
.twilight-lab-heading { display: grid; grid-template-columns: 1fr .82fr; gap: clamp(2rem,5vw,5rem); align-items: end; }
.twilight-lab-heading .ai-eyebrow { color: #ffbd86; }
.twilight-lab-heading h4 { margin: .65rem 0 0; font-size: clamp(2.35rem,4.6vw,5rem); line-height: .96; letter-spacing: -.052em; }
.twilight-lab-heading h4 em { font-family: Georgia,serif; font-weight: 400; }
.twilight-lab-copy p { margin: 0 0 1rem; color: #c4ced8; line-height: 1.7; }
.twilight-lab-copy span { color: #ffbd86; font-size: .58rem; font-weight: 900; letter-spacing: .13em; }
.twilight-controls { display: flex; justify-content: space-between; align-items: center; margin: 2rem 0 1rem; }
.twilight-count { display: flex; align-items: baseline; gap: .4rem; color: #81909c; font-size: .72rem; letter-spacing: .12em; }
.twilight-count b { color: #fff; font-size: 1.55rem; letter-spacing: -.03em; }
.twilight-actions { display: flex; gap: .5rem; }
.twilight-actions button { width: 3rem; height: 3rem; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: transparent; color: #fff; cursor: pointer; font: inherit; font-size: 1.2rem; transition: background .2s ease,color .2s ease,border-color .2s ease; }
.twilight-actions button:hover { background: #8ff2eb; border-color: #8ff2eb; color: #071014; }
.twilight-actions button:disabled { opacity: .28; cursor: default; }
.twilight-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(19rem,34rem); gap: 1rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-color: #5f7785 #111922; scrollbar-width: thin; padding: 0 0 1rem; }
.twilight-card { position: relative; height: clamp(25rem,42vw,39rem); overflow: hidden; isolation: isolate; scroll-snap-align: start; color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.16); background: #05080c; }
.twilight-card::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,transparent 42%,rgba(4,8,12,.9) 100%); }
.twilight-card img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1),filter .35s ease; }
.twilight-card-portrait img { object-position: center 44%; }
.twilight-card:hover img { transform: scale(1.035); filter: saturate(1.08); }
.twilight-card > span { position: absolute; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; align-items: end; padding: 1.3rem 1.35rem 1.4rem; }
.twilight-card b { grid-column: 1 / -1; color: #8ff2eb; font-size: .57rem; letter-spacing: .13em; }
.twilight-card strong { font-size: clamp(1.2rem,2vw,1.8rem); line-height: 1.05; }
.twilight-card small { color: #d4dde3; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.travel-note { display: grid; grid-template-columns: 1fr auto auto; gap: 1.5rem; align-items: center; padding: 1.2rem 0 0; color: #4b5661; }
.travel-note strong { color: #111821; }
.travel-note span { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.travel-note a { color: #111821; text-decoration: none; font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid currentColor; padding-bottom: .18rem; }

.history-story { padding: clamp(6rem, 10vw, 10rem) 0; background: #141116; color: #fff; }
.history-story-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(2rem,5vw,5rem); align-items: center; }
.history-story-copy .ai-eyebrow { color: var(--ai-gold); }
.history-story-copy h2 { margin: 0; font-size: clamp(2.8rem,5vw,5.3rem); line-height: .96; letter-spacing: -.05em; }
.history-story-copy h2 em { font-family: Georgia,serif; font-weight: 400; }
.history-story-copy > p { color: #c9c3cc; line-height: 1.7; }
.history-story-copy ul { list-style: none; padding: 0; margin: 1.6rem 0; display: grid; gap: .7rem; }
.history-story-copy li { border-top: 1px solid rgba(255,255,255,.14); padding-top: .7rem; color: #ece6ef; }
.history-story-copy li::before { content: "↗"; color: var(--ai-coral); margin-right: .65rem; }
.history-story-copy .history-disclosure { padding: 1rem; border-left: 3px solid var(--ai-gold); background: rgba(255,255,255,.055); font-size: .86rem; }
.history-story-copy .history-disclosure strong { color: #fff; }
.history-story-copy a { display: inline-block; margin-top: .4rem; color: var(--ai-cyan); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .2rem; font-size: .72rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.history-story-media { min-width: 0; }
.history-switch { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin-bottom: .7rem; }
.history-switch button { min-width: 0; display: grid; grid-template-columns: auto 1fr; column-gap: .7rem; align-items: center; padding: .85rem .9rem; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.035); color: #fff; text-align: left; cursor: pointer; font: inherit; transition: background .2s ease,border-color .2s ease,transform .2s ease; }
.history-switch button:hover,
.history-switch button.is-active { background: #fff; color: #101218; border-color: #fff; transform: translateY(-2px); }
.history-switch button > span { grid-row: 1 / 3; color: var(--ai-coral); font-size: .61rem; font-weight: 900; }
.history-switch strong { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.history-switch small { margin-top: .22rem; font-size: .65rem; opacity: .68; }
.history-story-visual { margin: 0; border: 1px solid rgba(255,255,255,.16); background: #07090c; box-shadow: 0 30px 80px rgba(0,0,0,.32); }
.history-story-visual > a { display: block; min-height: 26rem; background: #07090c; }
.history-story-visual img { display: block; width: 100%; height: auto; min-height: 26rem; object-fit: contain; }
.history-story-visual figcaption { display: grid; gap: .42rem; padding: 1rem 1.15rem 1.2rem; }
.history-story-visual figcaption span { color: var(--ai-gold); font-size: .57rem; letter-spacing: .13em; font-weight: 900; }
.history-story-visual figcaption strong { font-size: 1rem; }
.history-context { position: relative; display: grid; grid-template-columns: minmax(12rem,.82fr) 1fr; gap: 0; margin-top: .75rem; overflow: hidden; border: 1px solid rgba(255,255,255,.16); background: #211b22; color: #fff; text-decoration: none; }
.history-context img { width: 100%; height: 16rem; object-fit: cover; transition: transform .65s ease,filter .35s ease; }
.history-context:hover img { transform: scale(1.025); filter: saturate(1.06); }
.history-context > span { display: grid; align-content: center; gap: .55rem; padding: 1.25rem 1.4rem; }
.history-context b { color: var(--ai-gold); font-size: .57rem; letter-spacing: .13em; }
.history-context strong { font-size: clamp(1.15rem,2vw,1.75rem); line-height: 1.08; }
.history-context small { color: #c9c3cc; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.possibility-grid { padding: clamp(6rem, 10vw, 10rem) 0; background: var(--ai-paper); color: #10151b; }
.possibility-grid .outcome-heading .ai-eyebrow { color: #67717d; }
.possibility-grid .outcome-heading p { color: #59626c; }
.capability-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.capability-card { min-height: 33rem; position: relative; display: block; overflow: hidden; isolation: isolate; background: #0b1117; color: #fff; text-decoration: none; box-shadow: 0 18px 42px rgba(22,31,40,.1); transition: transform .28s ease, box-shadow .28s ease; }
.capability-card::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,rgba(4,8,12,.08) 18%,rgba(4,8,12,.34) 52%,rgba(4,8,12,.96) 100%); }
.capability-card > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.2,.7,.2,1), filter .45s ease; }
.capability-card:hover { transform: translateY(-7px); box-shadow: 0 30px 68px rgba(19,28,36,.22); }
.capability-card:hover > img { transform: scale(1.045); filter: saturate(1.08); }
.capability-index { position: absolute; top: 1.2rem; left: 1.2rem; padding: .55rem .65rem; border: 1px solid rgba(255,255,255,.55); background: rgba(6,11,16,.5); backdrop-filter: blur(8px); font-size: .6rem; letter-spacing: .13em; font-weight: 900; }
.capability-content { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.6rem 1.55rem 1.65rem; }
.capability-card h3 { max-width: 12ch; margin: 0 0 .8rem; font-size: clamp(1.7rem,2.35vw,2.65rem); line-height: 1.02; letter-spacing: -.04em; }
.capability-card p { max-width: 31rem; margin: 0 0 1.25rem; color: #d9e1e7; line-height: 1.55; font-size: .91rem; }
.capability-card b { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.32); color: #fff; font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.capability-card b i { color: #8ff2eb; font-size: 1.05rem; font-style: normal; transition: transform .25s ease; }
.capability-card:hover b i { transform: translate(.22rem,-.22rem); }

.truth-system { padding: clamp(6rem, 9vw, 9rem) 0; background: #111821; }
.truth-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 9rem); }
.truth-grid .ai-eyebrow { color: var(--ai-cyan); }
.truth-list { display: grid; border-top: 1px solid rgba(255,255,255,.18); }
.truth-list > div { display: grid; grid-template-columns: 6.8rem 1fr; gap: 1.3rem; padding: 1.4rem 0; border-bottom: 1px solid rgba(255,255,255,.18); align-items: start; }
.truth-list p { margin: 0; color: #b9c3ce; line-height: 1.6; }
.truth-list strong { color: #fff; }
.truth-chip { display: inline-flex; width: max-content; padding: .48rem .58rem; border: 1px solid currentColor; font-size: .59rem; font-weight: 900; letter-spacing: .13em; }
.truth-chip.real { color: #79e4bd; }
.truth-chip.assisted { color: #72c7ff; }
.truth-chip.generated { color: #ff907c; }

.ai-cta { min-height: 44rem; position: relative; display: flex; align-items: center; isolation: isolate; padding: 6rem 0; }
.ai-cta > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -3; filter: saturate(.85); }
.ai-cta-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(5,9,15,.96), rgba(5,9,15,.72) 50%, rgba(5,9,15,.25)); }
.ai-cta .shell { width: 100%; }
.ai-cta .ai-eyebrow { color: var(--ai-cyan); }
.ai-cta h2 { max-width: 10ch; font-size: clamp(3.5rem, 7vw, 7rem); }
.ai-cta p { max-width: 39rem; color: #d7dee7; font-size: 1.1rem; line-height: 1.65; margin: 1.7rem 0 2rem; }
.ai-footer { background: #06090d; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
  .ai-hero { min-height: 54rem; }
  .intro-grid,
  .section-heading,
  .outcome-heading,
  .truth-grid { grid-template-columns: 1fr; }
  .outcome-layout { grid-template-columns: 1fr; }
  .outcome-tabs { grid-template-columns: repeat(4,1fr); }
  .outcome-tab { transform: none !important; }
  .campaign-canvas { grid-template-columns: 1fr 1fr; grid-template-rows: 24rem 22rem; }
  .campaign-main { grid-row: auto; grid-column: 1 / -1; }
  .campaign-vertical { grid-row: 2; }
  .capability-grid { grid-template-columns: repeat(2,1fr); }
  .architecture-frame { min-height: 38rem; }
  .architecture-foot { grid-template-columns: 1fr; }
  .travel-note { grid-template-columns: 1fr; }
  .history-story-grid { grid-template-columns: 1fr; }
  .nyc-source-grid { grid-template-columns: 1fr 1fr; }
  .nyc-source-feature { grid-column: 1 / -1; }
  .nyc-source-feature > a { height: 28rem; }
  .nyc-ai-case { grid-template-columns: 1fr; }
  .nyc-compare-card { justify-self: start; }
  .wtc-story-heading,
  .wtc-gallery,
  .twilight-lab-heading { grid-template-columns: 1fr; }
  .wtc-thumbs { grid-template-columns: repeat(5,minmax(0,1fr)); grid-template-rows: auto; }
  .wtc-thumb { grid-template-columns: 1fr; gap: .45rem; }
  .wtc-thumb img { width: 100%; height: 7rem; }
  .wtc-thumb:hover,
  .wtc-thumb.is-active { transform: translateY(-.18rem); }
  .twilight-rail { grid-auto-columns: minmax(18rem,66vw); }
}

@media (max-width: 680px) {
  .ai-hero { align-items: center; padding-top: 8rem; }
  .ai-hero-image { object-position: 64% center; }
  .ai-hero-wash { background: linear-gradient(90deg, rgba(3,7,13,.92), rgba(3,7,13,.55)), linear-gradient(0deg, rgba(3,7,13,.92), transparent 60%); }
  .ai-kicker { align-items: flex-start; flex-direction: column; gap: .55rem; }
  .ai-kicker span + span { border-left: 0; padding-left: 0; }
  .ai-hero h1 { font-size: clamp(4rem, 20vw, 6rem); }
  .ai-disclosure { left: 1rem; right: 1rem; bottom: .9rem; }
  .proof-track { justify-content: flex-start; overflow-x: auto; }
  .architecture-frame { min-height: 34rem; }
  .stage-marker { top: 1rem; padding: .6rem; }
  .stage-marker small { display: none; }
  .stage-plan { left: 1rem; }
  .stage-model { left: 50%; }
  .stage-finish { right: 1rem; }
  .architecture-note { left: 1rem; right: 1rem; bottom: 1rem; }
  .concept-stamp { display: none; }
  .outcome-tabs { grid-template-columns: 1fr 1fr; }
  .compare-viewport { aspect-ratio: 4/3; }
  .compare-copy { grid-template-columns: 1fr; }
  .compare-instruction { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .outcome-next { align-items: flex-start; flex-direction: column; }
  .outcome-next > div { justify-content: flex-start; }
  .campaign-canvas { display: grid; grid-template-columns: 1fr; grid-template-rows: 24rem 26rem 20rem auto; }
  .campaign-main,
  .campaign-vertical { grid-column: auto; grid-row: auto; }
  .campaign-copycard { min-height: 19rem; }
  .nyc-panorama { min-height: 31rem; }
  .nyc-panorama figcaption p { font-size: .86rem; }
  .nyc-source-grid { grid-template-columns: 1fr; }
  .nyc-source-feature { grid-column: auto; }
  .nyc-source-card > a,
  .nyc-source-feature > a { height: 21rem; }
  .nyc-ai-case { padding: 1.35rem; }
  .nyc-compare-card { width: 100%; }
  .nyc-compare-guide { flex-direction: column; }
  .nyc-compare-guide strong { text-align: left; }
  .wtc-story { padding: 1rem; }
  .wtc-stage-image { height: 26rem; }
  .wtc-thumbs { display: flex; overflow-x: auto; padding-bottom: .35rem; scroll-snap-type: x mandatory; }
  .wtc-thumb { min-width: 10.5rem; scroll-snap-align: start; }
  .wtc-thumb img { height: 6.2rem; }
  .twilight-rail { grid-auto-columns: 86vw; }
  .twilight-card { height: 31rem; }
  .twilight-card > span { grid-template-columns: 1fr; }
  .twilight-actions button { width: 2.7rem; height: 2.7rem; }
  .history-switch { grid-template-columns: 1fr; }
  .history-context { grid-template-columns: 1fr; }
  .history-context img { height: 17rem; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card { min-height: 19rem; }
  .truth-list > div { grid-template-columns: 1fr; }
  .ai-cta-wash { background: rgba(5,9,15,.82); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
}
