:root {
  --ink: #101010;
  --ink-soft: #171717;
  --paper: #efeee8;
  --paper-2: #deddd6;
  --green: #a5ff93;
  --pink: #ff8dc1;
  --violet: #6358f5;
  --blue: #4748cf;
  --white: #ffffff;
  --muted: #aaa9a3;
  --line-dark: rgba(239, 238, 232, .18);
  --line-light: rgba(16, 16, 16, .18);
  --gutter: clamp(1rem, 3.2vw, 3.75rem);
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: Baskerville, "Times New Roman", serif;
  --mono: "SFMono-Regular", Menlo, Monaco, Consolas, monospace;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --header-h: 5.25rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; background: var(--ink); }
body { margin: 0; overflow-x: clip; color: var(--paper); background: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.5; }
body.no-scroll { overflow: hidden; }
body.has-cursor, body.has-cursor a, body.has-cursor button, body.has-cursor input, body.has-cursor textarea, body.has-cursor label { cursor: none; }
main { position: relative; }
a { color: inherit; text-decoration: none; }
button, input, textarea { color: inherit; font: inherit; }
button { border: 0; }
img, svg { display: block; max-width: 100%; }
p { margin: 0; }
h1, h2, h3 { text-wrap: balance; }
::selection { color: var(--ink); background: var(--green); }
:focus-visible { outline: 2px solid var(--green); outline-offset: 5px; }

/* Skip link: niewidoczny (1px, przycięty) — nie pokazuje się przy overscrollu; widoczny tylko po fokusie klawiaturą */
.skip-link { position: absolute; z-index: 2000; top: 0; left: 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { position: fixed; top: .75rem; left: .75rem; width: auto; height: auto; padding: .8rem 1rem; overflow: visible; clip-path: none; color: var(--ink); background: var(--green); }

.grain { position: fixed; z-index: 800; inset: -40%; width: 180%; height: 180%; pointer-events: none; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); animation: grain .3s steps(2) infinite; }
@keyframes grain { 0% { transform: translate(0); } 33% { transform: translate(1%, -1%); } 66% { transform: translate(-1%, 1%); } 100% { transform: translate(.5%, .5%); } }
@keyframes mobile-scroll-pulse { 0%,100% { opacity: .45; transform: scale(.75); } 50% { opacity: 1; transform: scale(1.25); } }
@keyframes mobile-swipe { 0%,100% { opacity: .45; transform: scaleX(.2); } 45% { opacity: 1; transform: scaleX(1); } }
@keyframes mobile-title-settle { from { transform: translateY(1.4rem) scale(.98); } to { transform: translateY(0) scale(1); } }
@keyframes counter-orbit { to { transform: rotate(-360deg); } }

.site-loader { position: fixed; z-index: 1900; inset: 0; display: grid; place-items: center; color: var(--ink); background: var(--green); clip-path: inset(0); transition: clip-path 1s var(--ease), visibility 1s; }
.site-loader.is-done { visibility: hidden; clip-path: inset(0 0 100% 0); }
.site-loader.is-done .loader-mark, .site-loader.is-done .loader-line i { animation: none; }
.loader-inner { display: grid; width: min(76vw, 36rem); justify-items: center; gap: 1.2rem; }
.loader-mark { font-size: clamp(3.3rem, 10vw, 8rem); font-weight: 700; line-height: .78; letter-spacing: -.09em; animation: loader-pulse 1s var(--ease) infinite alternate; }
.loader-line { width: 100%; height: 2px; overflow: hidden; background: rgba(16,16,16,.2); }
.loader-line i { display: block; width: 100%; height: 100%; background: var(--ink); transform: translateX(-100%); animation: loader-progress 1s var(--ease) forwards; }
.loader-inner span { font: 600 .66rem/1 var(--mono); letter-spacing: .15em; }
@keyframes loader-progress { to { transform: translateX(0); } }
@keyframes loader-pulse { to { letter-spacing: -.025em; transform: skewX(-5deg); } }

.cursor { position: fixed; z-index: 1800; top: 0; left: 0; width: 2.7rem; height: 2.7rem; border: 1px solid rgba(165,255,147,.75); border-radius: 50%; pointer-events: none; transform: translate3d(-100px,-100px,0); mix-blend-mode: difference; transition: width .3s var(--ease), height .3s var(--ease), background .3s; }
.cursor::after { content: ""; position: absolute; top: 50%; left: 50%; width: 4px; height: 4px; border-radius: 50%; background: white; transform: translate(-50%, -50%); }
.cursor span { position: absolute; inset: 0; display: grid; place-items: center; visibility: hidden; font: 600 .48rem/1 var(--mono); letter-spacing: .08em; }
.cursor.is-hover { width: 5.2rem; height: 5.2rem; background: rgba(255,255,255,.09); }
.cursor.is-hover::after { visibility: hidden; }
.cursor.is-hover span { visibility: visible; }

.site-header { position: fixed; z-index: 1000; top: 0; left: 0; display: grid; grid-template-columns: auto 1fr auto; width: 100%; min-height: var(--header-h); padding: .8rem var(--gutter); align-items: center; gap: 2rem; border-bottom: 1px solid transparent; transition: background .35s, border-color .35s, transform .35s; }
.site-header.is-scrolled, .site-header.menu-open { border-color: var(--line-dark); background: rgba(16,16,16,.88); }
.site-header.is-scrolled:not(.menu-open) { backdrop-filter: blur(18px); }
.site-header.menu-open { backdrop-filter: none; }
.header-logo { position: relative; z-index: 3; display: flex; width: 9.3rem; align-items: center; }
.header-logo img { width: 100%; height: auto; }
.desktop-nav { display: flex; justify-content: center; gap: clamp(.8rem, 2vw, 2rem); }
.desktop-nav a { position: relative; padding: .55rem 0; color: #cac9c3; font: 600 .62rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.desktop-nav a::after { content: ""; position: absolute; right: 0; bottom: .18rem; left: 0; height: 1px; background: var(--green); transform: scaleX(0); transform-origin: right; transition: transform .4s var(--ease); }
.desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.desktop-nav a[aria-current="page"] { color: var(--paper); }
.header-contact { display: flex; align-items: center; gap: .7rem; color: var(--paper); font: 600 .62rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.header-contact i { display: grid; width: 2.65rem; height: 2.65rem; border-radius: 50%; color: var(--ink); background: var(--green); place-items: center; font-style: normal; font-size: 1rem; transition: transform .4s var(--ease), background .3s; }
.header-contact:hover i { transform: rotate(45deg); background: var(--pink); }
.menu-toggle { position: relative; z-index: 3; display: none; width: 3rem; height: 3rem; border: 1px solid var(--line-dark); border-radius: 50%; background: transparent; }
.menu-toggle i, .menu-toggle::before { content: ""; position: absolute; left: .8rem; width: 1.35rem; height: 1px; background: var(--paper); transition: transform .3s, top .3s; }
.menu-toggle i { top: 1.25rem; }
.menu-toggle::before { top: 1.7rem; }
.menu-open .menu-toggle i { top: 1.47rem; transform: rotate(45deg); }
.menu-open .menu-toggle::before { top: 1.47rem; transform: rotate(-45deg); }
.mobile-nav { position: fixed; z-index: 2; inset: 0; display: grid; align-content: center; padding: 7rem var(--gutter) 5rem; color: var(--paper); background: var(--ink); visibility: hidden; clip-path: inset(0 0 100% 0); transition: clip-path .75s var(--ease), visibility .75s; }
.menu-open .mobile-nav { visibility: visible; clip-path: inset(0); }
.mobile-nav a { display: flex; padding: .7rem 0; align-items: baseline; gap: 1rem; border-bottom: 1px solid var(--line-dark); font-size: clamp(2.2rem, 10vw, 4.5rem); font-weight: 300; line-height: 1; letter-spacing: -.06em; }
.mobile-nav a span { color: var(--green); font: 500 .6rem/1 var(--mono); letter-spacing: .08em; }

.service-dock { position: fixed; z-index: 950; right: var(--gutter); bottom: 1.15rem; display: flex; height: 2.7rem; padding: 0 .45rem 0 1rem; border: 1px solid rgba(239,238,232,.35); border-radius: 99px; align-items: center; gap: 1.25rem; color: var(--paper); background: rgba(16,16,16,.78); backdrop-filter: blur(12px); font: 600 .58rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: transform .25s; }
.service-dock b { display: grid; width: 1.9rem; height: 1.9rem; border-radius: 50%; color: var(--ink); background: var(--pink); place-items: center; font-size: .55rem; }
.service-panel { position: fixed; z-index: 940; right: 0; bottom: 0; left: 0; max-height: min(88vh, 48rem); padding: 4rem var(--gutter) 5.5rem; overflow-y: auto; color: var(--ink); background: var(--paper); visibility: hidden; transform: translateY(101%); transition: transform .75s var(--ease), visibility .75s; }
.service-panel.is-open { visibility: visible; transform: translateY(0); }
.panel-close { position: absolute; top: 1.2rem; right: var(--gutter); width: 2.8rem; height: 2.8rem; border: 1px solid var(--line-light); border-radius: 50%; color: var(--ink); background: transparent; font-size: 1.2rem; }
.panel-head { display: flex; margin-bottom: 3rem; justify-content: space-between; align-items: end; border-bottom: 1px solid var(--line-light); }
.panel-head p { padding-bottom: 1.2rem; font: 600 .65rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.panel-head a { display: flex; padding: 0 0 1rem; align-items: center; gap: .8rem; font-size: clamp(2rem, 4.5vw, 4.5rem); font-weight: 300; line-height: .9; letter-spacing: -.06em; }
.panel-groups { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.panel-group h3, .panel-group .panel-title { margin: 0 0 1rem; color: #696863; font: 600 .6rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.panel-group a { display: block; padding: .6rem 0; border-bottom: 1px solid rgba(16,16,16,.12); font-size: .95rem; transition: padding-left .25s, color .25s; }
.panel-group a:hover { padding-left: .5rem; color: var(--blue); }

.section-meta { display: grid; grid-template-columns: 1fr 1fr 1fr; padding: 1.2rem var(--gutter); border-bottom: 1px solid currentColor; border-color: var(--line-dark); font: 600 .58rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.section-meta span:nth-child(2) { text-align: center; }
.section-meta span:last-child { text-align: right; }
.light-section .section-meta { border-color: var(--line-light); }
.accent { color: var(--green); font-family: var(--serif); font-style: italic; font-weight: 400; }
.accent.pink { color: var(--pink); }
.accent.violet { color: var(--violet); }
.light-section .accent, .inner-main .content-section:not(.dark) .accent { color: var(--blue); }

/* HOME: SCROLL THEATRE */
.mvm-theatre { position: relative; height: var(--theatre-height,560svh); background: var(--ink); }
.mvm-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; background: var(--stage-bg, var(--ink)); color: var(--stage-color, var(--paper)); transition: background .5s, color .5s; }
.mvm-stage.is-light::before { opacity: .34; }
.mvm-canvas { position: absolute; z-index: 2; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
.stage-halo { position: absolute; z-index: 1; top: 50%; left: 70%; width: 52vw; aspect-ratio: 1; border-radius: 50%; background: var(--green); opacity: var(--halo-o, .05); filter: blur(95px); transform: translate(-50%,-50%) scale(var(--halo-s, 1)); }
.stage-word { position: absolute; z-index: 1; inset: 11vh var(--gutter) 6.5rem; display: grid; align-content: center; opacity: var(--word-o, .78); transform: scale(var(--word-s, 1)) rotate(var(--word-r, 0deg)); pointer-events: none; }
.stage-word-row { display: flex; height: 34vh; align-items: center; justify-content: space-between; color: transparent; -webkit-text-stroke: 1px rgba(239,238,232,.34); font-size: clamp(9rem, 24vw, 25rem); font-weight: 700; line-height: .64; letter-spacing: -.13em; }
.stage-word-row:last-child { padding-left: 16vw; }
.stage-word-row span { display: block; transform: translate(var(--letter-x,0),var(--letter-y,0)) rotate(var(--letter-r,0deg)); will-change: transform; }
.stage-word-row small { align-self: start; margin: 1.5rem 4vw 0 0; color: var(--green); font: 600 .65rem/1 var(--mono); letter-spacing: .06em; -webkit-text-stroke: 0; }
.mvm-stage.is-light .stage-word-row { -webkit-text-stroke-color: rgba(16,16,16,.28); }
.mvm-stage.is-light .stage-word-row small { color: var(--violet); }
.act-stack { position: absolute; z-index: 8; top: 19%; left: var(--gutter); width: clamp(29rem,43vw,43rem); height: 68vh; }
.act-copy { position: absolute; inset: 0; clip-path: inset(0 0 100% 0); transform: translateY(2rem); transition: clip-path .7s var(--ease), transform .7s var(--ease); }
.act-copy.is-active { clip-path: inset(-5%); transform: translateY(0); }
.mvm-stage:not(.is-light) .act-copy { text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.mvm-stage.is-light .act-copy { text-shadow: 0 1px 1.8rem rgba(239,238,232,.72); }
.act-kicker { display: block; font: 600 .58rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.act-copy h1, .act-copy h2 { margin: 2rem 0 2.25rem; font-size: clamp(4rem, 7.3vw, 8.3rem); font-weight: 300; line-height: .84; letter-spacing: -.08em; }
.act-copy p { max-width: 28rem; color: var(--white); font-size: clamp(1rem, 1.1vw, 1.1rem); line-height: 1.65; }
.mvm-stage.is-light .act-copy p { color: #3f3f3c; }
.stage-index { position: absolute; z-index: 12; top: 50%; right: 1.25rem; display: flex; align-items: center; gap: .7rem; transform: translateY(-50%) rotate(90deg); font: 600 .55rem/1 var(--mono); letter-spacing: .1em; }
.stage-index b { color: var(--green); font-weight: 600; }
.mvm-stage.is-light .stage-index b { color: var(--violet); }
.stage-index i { width: 5rem; height: 1px; background: currentColor; opacity: .35; }
.stage-bottom { position: absolute; z-index: 15; right: var(--gutter); bottom: 1.25rem; left: var(--gutter); display: grid; grid-template-columns: 1fr auto 1fr; padding-top: 1rem; border-top: 1px solid var(--line-dark); align-items: center; }
.mvm-stage.is-light .stage-bottom { border-color: var(--line-light); }
.scroll-note { display: flex; align-items: center; gap: .75rem; font: 600 .55rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.scroll-note i { width: .45rem; height: .45rem; border-radius: 50%; background: var(--green); box-shadow: 0 0 1rem var(--green); }
.stage-tabs { display: flex; gap: 1.35rem; color: #555; font: 600 .5rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.stage-tabs span { transition: color .3s; }
.stage-tabs .is-active { color: var(--paper); }
.mvm-stage.is-light .stage-tabs .is-active { color: var(--ink); }
.stage-count { justify-self: end; font: 600 .58rem/1 var(--mono); }
.stage-count b { color: var(--green); font-weight: 600; }
.stage-progress { position: absolute; z-index: 30; right: 0; bottom: 0; left: 0; height: 3px; background: rgba(165,255,147,.13); }
.stage-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--green),var(--pink),var(--violet),var(--blue)); transform: scaleX(0); transform-origin: left; }

/* HOME: SERVICES */
.light-section { color: var(--ink); background: var(--paper); }
.service-overview { min-height: 150vh; padding-bottom: 10rem; }
.section-intro { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(17rem, 1fr); padding: clamp(7rem, 13vw, 12rem) var(--gutter) clamp(4rem, 8vw, 7rem); align-items: end; gap: 4rem; }
.section-intro h2 { margin: 0; font-size: clamp(4rem, 9vw, 9.5rem); font-weight: 300; line-height: .83; letter-spacing: -.08em; }
.intro-side { display: grid; gap: 2.2rem; }
.intro-side p { max-width: 30rem; font-size: 1.05rem; line-height: 1.7; }
.route-link { display: flex; width: fit-content; padding-bottom: .65rem; align-items: center; gap: 1rem; border-bottom: 1px solid currentColor; font: 600 .66rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.route-link i { font-style: normal; transition: transform .35s var(--ease); }
.route-link:hover i { transform: translate(8px,-3px); }
.service-rows { border-top: 1px solid var(--line-light); }
.service-row { position: relative; display: grid; grid-template-columns: 5rem 1.1fr 1fr auto; min-height: 8.2rem; padding: 1.25rem var(--gutter); overflow: hidden; align-items: center; border-bottom: 1px solid var(--line-light); isolation: isolate; }
.service-row::before { content: ""; position: absolute; z-index: -1; inset: 0; background: var(--row-color,var(--green)); transform: translateY(101%); transition: transform .6s var(--ease); }
.service-row:hover::before { transform: translateY(0); }
.service-row:hover { color: var(--row-text,var(--ink)); }
.service-row .num { color: #74736e; font: 600 .62rem/1 var(--mono); letter-spacing: .08em; transition: transform .5s var(--ease), color .3s; }
.service-row:hover .num { color: var(--row-text,var(--ink)); transform: translateX(1rem) rotate(8deg); }
.service-row h3 { margin: 0; font-size: clamp(1.9rem, 3.5vw, 4rem); font-weight: 300; line-height: .95; letter-spacing: -.055em; }
.service-row p { max-width: 30rem; color: #5d5c58; font-size: .94rem; line-height: 1.55; }
.service-row:hover p { color: inherit; }
.service-row .arr { display: grid; width: 3rem; height: 3rem; border: 1px solid rgba(16,16,16,.35); border-radius: 50%; place-items: center; font-style: normal; font-size: 1rem; transition: transform .35s, background .35s; }
.service-row:hover .arr { color: var(--paper); background: var(--ink); transform: rotate(45deg); }

/* HOME: WORK CORRIDOR */
.work-corridor { height: var(--corridor-height,430svh); color: var(--paper); background: var(--ink); }
.work-sticky { position: sticky; top: 0; height: 100svh; padding: clamp(5.4rem,12svh,6.8rem) var(--gutter) clamp(1rem,3svh,2rem); overflow: hidden; }
.corridor-head { display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: end; gap: 2rem; }
.corridor-head > span { font: 600 .58rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.corridor-head h2 { margin: 0; font-size: clamp(3.5rem, 6.5vw, 7rem); font-weight: 300; line-height: .85; letter-spacing: -.07em; }
.corridor-count { justify-self: end; font: 600 .64rem/1 var(--mono); }
.corridor-count b { color: var(--green); font-weight: 600; }
.swipe-note { display: none; }
.work-track { display: flex; width: max-content; margin-top: clamp(1.5rem,5svh,4rem); gap: clamp(1rem, 2.4vw, 2.5rem); will-change: transform; }
.work-card { width: min(59vw, 49rem); display: grid; grid-template-columns: 1.55fr .75fr; gap: 1.3rem; align-items: end; }
.work-visual { position: relative; height: min(57vh, 35rem); padding: 1.35rem; overflow: hidden; color: var(--ink); background: var(--card-color); transform: perspective(1200px) rotateY(var(--tilt,0deg)) scale(var(--card-scale,1)); transform-origin: center; transition: transform .18s linear; }
.work-visual::after { content: ""; position: absolute; z-index: 1; right: -12%; bottom: -35%; width: 75%; aspect-ratio: 1; border-radius: var(--work-radius,50%); background: var(--card-shape); transform: rotate(var(--work-r,0deg)); }
.work-card:nth-child(1) { --card-color: var(--green); --card-shape: var(--violet); --work-radius: 50%; }
.work-card:nth-child(2) { --card-color: var(--pink); --card-shape: var(--ink); --work-radius: 15% 85% 55% 45%; --work-r: 20deg; }
.work-card:nth-child(3) { --card-color: var(--violet); --card-shape: var(--green); --work-radius: 50% 15% 50% 15%; --work-r: -18deg; color: var(--paper); }
.work-card:nth-child(4) { --card-color: var(--paper); --card-shape: var(--pink); --work-radius: 0; --work-r: 45deg; }
.work-card:nth-child(5) { --card-color: var(--blue); --card-shape: var(--paper); --work-radius: 45% 55% 30% 70%; color: var(--paper); }
.work-card:nth-child(6) { --card-color: var(--ink-soft); --card-shape: var(--green); --work-radius: 60% 40% 70% 30%; color: var(--paper); }
.work-card:nth-child(7) { --card-color: var(--paper-2); --card-shape: var(--blue); --work-radius: 70% 30% 50% 50%; --work-r: -30deg; }
.work-label { position: relative; z-index: 2; font: 600 .56rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.work-visual strong { position: relative; z-index: 2; display: block; margin-top: 9vh; font-size: clamp(3.2rem, 7vw, 7.4rem); font-weight: 700; line-height: .76; letter-spacing: -.085em; }
.work-visual strong em { font-family: var(--serif); font-weight: 400; }
.work-result { position: absolute; z-index: 3; right: 1.35rem; bottom: 1.35rem; font: 600 .72rem/1 var(--mono); letter-spacing: .05em; }
.work-open { position: absolute; z-index: 3; left: 1.35rem; bottom: 1.35rem; display: inline-flex; align-items: center; gap: .45rem; padding: .6rem .9rem; border: 1px solid currentColor; border-radius: 99px; font: 600 .56rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: background .25s, color .25s; }
.work-open i { font-style: normal; transition: transform .25s; }
.work-card:hover .work-open { background: rgba(16,16,16,.85); color: var(--paper); }
.work-card:nth-child(3):hover .work-open, .work-card:nth-child(5):hover .work-open, .work-card:nth-child(6):hover .work-open { background: rgba(239,238,232,.92); color: var(--ink); }
.work-card:hover .work-open i { transform: translate(2px,-2px); }
.work-copy h3 { margin: 0 0 1.2rem; font-size: clamp(1.9rem, 3vw, 3.2rem); font-weight: 300; line-height: .95; letter-spacing: -.055em; }
.work-copy p { color: #a5a49f; font-size: .95rem; line-height: 1.6; }

/* HOME: AI, TRAINING, PROOF */
.ai-ecosystem { position: relative; min-height: 140vh; overflow: hidden; color: var(--paper); background: var(--ink); }
.ai-copy { position: relative; z-index: 3; display: grid; grid-template-columns: .8fr 2fr; padding: clamp(8rem, 13vw, 13rem) var(--gutter) 6rem; gap: 4rem; }
.ai-copy > p { max-width: 22rem; color: #aaa9a3; font-size: 1rem; line-height: 1.7; }
.ai-copy h2 { margin: 0; font-size: clamp(4.5rem, 10vw, 10.5rem); font-weight: 300; line-height: .82; letter-spacing: -.08em; }
.agent-orbit { position: absolute; right: -5vw; bottom: -22vw; width: min(76vw, 75rem); aspect-ratio: 1; border: 1px solid var(--line-dark); border-radius: 50%; transform: translateY(var(--orbit-y,0)) rotate(var(--orbit-r,0)); }
.orbit-ring { position: absolute; border: 1px solid var(--line-dark); border-radius: 50%; animation: orbit 30s linear infinite; }
.orbit-ring.ring-a { inset: 10%; }
.orbit-ring.ring-b { inset: 29%; animation-direction: reverse; animation-duration: 21s; }
.orbit-ring span { position: absolute; padding: .45rem .65rem; color: var(--ink); background: var(--green); font: 600 .55rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.orbit-ring span:nth-child(1) { top: -.9rem; left: 50%; }
.orbit-ring span:nth-child(2) { top: 50%; right: -3.2rem; background: var(--pink); }
.orbit-ring span:nth-child(3) { bottom: -.9rem; left: 48%; background: var(--violet); color: var(--paper); }
.orbit-ring span:nth-child(4) { top: 50%; left: -2.8rem; background: var(--paper); }
.orbit-core { position: absolute; inset: 42%; display: grid; border-radius: 50%; color: var(--ink); background: var(--green); place-items: center; font-size: clamp(1.1rem, 2.5vw, 2.6rem); font-weight: 700; letter-spacing: -.05em; }
@keyframes orbit { to { transform: rotate(360deg); } }
.ai-route { position: absolute; z-index: 4; bottom: 3rem; left: var(--gutter); }

.training-preview { padding-bottom: 9rem; color: var(--ink); background: var(--paper); }
.training-grid { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 var(--gutter); gap: 1px; background: rgba(16,16,16,.25); }
.training-card { position: relative; min-height: 32rem; padding: 2rem; overflow: hidden; background: var(--paper); isolation: isolate; }
.training-card::before { content: ""; position: absolute; z-index: -1; inset: 0; background: var(--training-color); clip-path: circle(0 at 90% 10%); transition: clip-path .8s var(--ease); }
.training-card:hover::before { clip-path: circle(145% at 90% 10%); }
.training-card:hover { color: var(--training-text,var(--ink)); }
.training-card .card-num { font: 600 .58rem/1 var(--mono); letter-spacing: .1em; }
.training-card h3 { margin: 8rem 0 1.4rem; font-size: clamp(2.5rem, 4vw, 4.4rem); font-weight: 300; line-height: .9; letter-spacing: -.065em; }
.training-card p { max-width: 22rem; font-size: 1rem; line-height: 1.65; }
.training-price { position: absolute; right: 2rem; bottom: 1.8rem; left: 2rem; display: flex; padding-top: 1rem; justify-content: space-between; border-top: 1px solid rgba(16,16,16,.25); font: 700 .7rem/1 var(--mono); letter-spacing: .06em; }

.proof { position: relative; min-height: 120vh; padding: 7rem var(--gutter); overflow: hidden; color: var(--paper); background: var(--ink); }
.proof h2 { margin: 8rem 0 4rem; max-width: 12ch; font-size: clamp(5rem, 14vw, 15rem); font-weight: 300; line-height: .75; letter-spacing: -.09em; }
.proof-number { color: var(--green); font-family: var(--serif); font-style: italic; }
.proof-sub { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; border-top: 1px solid var(--line-dark); padding-top: 1.5rem; }
.proof-sub p { max-width: 35rem; color: #aaa9a3; font-size: 1rem; line-height: 1.7; }
.testimonial-controls { display: flex; margin-top: 4rem; justify-content: flex-end; }
.motion-toggle { display: inline-flex; min-height: 2.75rem; padding: .7rem 1rem; gap: .65rem; align-items: center; border: 1px solid var(--line-dark); border-radius: 999px; color: var(--paper); background: transparent; font: 600 .58rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: color .25s, background .25s; }
.motion-toggle:hover, .motion-toggle:focus-visible { color: var(--ink); background: var(--green); }
.motion-toggle-icon { font-size: .72rem; letter-spacing: -.14em; }
.testimonial-strip { display: flex; width: max-content; margin-top: 1rem; gap: 1rem; animation: marquee 42s linear infinite; }
.testimonial-strip:hover, .testimonial-strip.is-paused { animation-play-state: paused; }
.quote-card { width: min(78vw, 35rem); min-height: 18rem; padding: 1.8rem; border: 1px solid var(--line-dark); background: var(--ink); }
.quote-card .stars { color: var(--green); letter-spacing: .15em; }
.quote-card blockquote { margin: 3rem 0 2.5rem; color: #cfcec8; font-size: 1rem; line-height: 1.7; }
.quote-card cite { font: 600 .6rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
@keyframes marquee { to { transform: translateX(calc(-50% - .5rem)); } }

.final-cta { position: relative; min-height: 100svh; display: flex; padding: 7rem var(--gutter) 2rem; overflow: hidden; flex-direction: column; color: var(--ink); background: var(--green); }
.final-blob { position: absolute; top: 52%; left: 70%; width: min(58vw, 55rem); aspect-ratio: 1; border-radius: 56% 44% 63% 37% / 40% 62% 38% 60%; background: var(--violet); transform: translate(-50%,-50%); animation: final-blob 8s ease-in-out infinite alternate; }
@keyframes final-blob { to { border-radius: 35% 65% 33% 67% / 63% 35% 65% 37%; transform: translate(-50%,-50%) rotate(18deg) scale(1.06); } }
.final-top { position: relative; z-index: 2; display: flex; justify-content: space-between; font: 600 .58rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.final-cta h2 { position: relative; z-index: 2; margin: auto 0; max-width: 9ch; font-size: clamp(4.8rem,calc(12vw + 1.5rem),15rem); font-weight: 300; line-height: .74; letter-spacing: -.09em; }
.signal-cta { position: absolute; z-index: 4; top: 43%; right: 11%; display: grid; width: clamp(11rem, 17vw, 17rem); aspect-ratio: 1; border-radius: 50%; color: var(--paper); background: var(--ink); place-items: center; transition: transform .25s, box-shadow .4s; }
.signal-cta:hover { box-shadow: 0 0 0 1.2rem rgba(16,16,16,.12); }
.signal-cta > span { font: 700 .7rem/1.3 var(--mono); letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.signal-ring { position: absolute; inset: .55rem; animation: orbit 16s linear infinite; }
.signal-ring text { fill: var(--paper); font: 600 7px/1 var(--mono); letter-spacing: 1.2px; }
.final-note { position: relative; z-index: 2; display: flex; padding-top: 1rem; justify-content: space-between; border-top: 1px solid rgba(16,16,16,.25); font: 600 .58rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }

/* INNER PAGES */
.inner-main { background: var(--paper); color: var(--ink); }
.inner-hero { position: relative; min-height: 92svh; display: flex; padding: calc(var(--header-h) + 6rem) var(--gutter) 3rem; overflow: hidden; flex-direction: column; justify-content: flex-end; color: var(--paper); background: var(--ink); }
.inner-hero .mvm-canvas { z-index: 1; }
.inner-hero::after { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg,rgba(16,16,16,.86) 0%,rgba(16,16,16,.35) 58%,rgba(16,16,16,.08)); pointer-events: none; }
.inner-hero-content { position: relative; z-index: 3; display: grid; grid-template-columns: 2.2fr 1fr; align-items: end; gap: 4rem; }
.breadcrumbs { position: absolute; z-index: 4; top: calc(var(--header-h) + 1.6rem); left: var(--gutter); display: flex; align-items: center; gap: .7rem; color: #b7b6b0; font: 600 .57rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.breadcrumbs a:hover { color: var(--green); }
.inner-hero h1 { margin: 0; max-width: 11ch; font-size: clamp(3.4rem,calc(8vw + 1.8rem),11rem); font-weight: 300; line-height: .8; letter-spacing: -.085em; }
.inner-hero-lead { display: grid; padding-bottom: .8rem; gap: 2rem; }
.inner-hero-lead p { max-width: 32rem; color: #c4c3bd; font-size: 1.08rem; line-height: 1.7; }
.hero-signal { display: flex; width: fit-content; align-items: center; gap: .8rem; font: 600 .62rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.hero-signal i { width: .5rem; height: .5rem; border-radius: 50%; background: var(--page-accent,var(--green)); box-shadow: 0 0 1rem var(--page-accent,var(--green)); }
.page-marquee { overflow: hidden; padding: 1.1rem 0; border-bottom: 1px solid var(--line-light); background: var(--page-accent,var(--green)); }
.page-marquee div { display: flex; width: max-content; animation: marquee 32s linear infinite; }
.page-marquee span { padding-right: 2rem; font: 700 .64rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }

.content-section { padding: clamp(6rem, 11vw, 11rem) var(--gutter); }
.content-section.dark { color: var(--paper); background: var(--ink); }
.content-grid { display: grid; grid-template-columns: 1fr 2fr; gap: clamp(3rem, 8vw, 9rem); }
.sticky-label { height: fit-content; position: sticky; top: calc(var(--header-h) + 2rem); color: #6f6e69; font: 600 .6rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.dark .sticky-label { color: #8a8983; }
.content-copy h2 { margin: 0 0 3rem; font-size: clamp(3.5rem, 7vw, 7.5rem); font-weight: 300; line-height: .85; letter-spacing: -.07em; }
.content-copy > p { max-width: 48rem; color: #4f4e4a; font-size: clamp(1.08rem, 1.6vw, 1.35rem); line-height: 1.75; }
.dark .content-copy > p { color: #b4b3ad; }
.large-statement { max-width: 16ch !important; color: inherit !important; font-size: clamp(2.5rem, 5.5vw, 6rem) !important; font-weight: 300; line-height: 1.02 !important; letter-spacing: -.055em; }

.group-block { border-top: 1px solid var(--line-light); }
.group-head { display: grid; grid-template-columns: 5rem 1fr 1fr; padding: 2.2rem 0; align-items: start; gap: 2rem; }
.group-head > span { font: 600 .62rem/1 var(--mono); }
.group-head h2 { margin: 0; font-size: clamp(2.4rem, 5vw, 5.2rem); font-weight: 300; line-height: .92; letter-spacing: -.06em; }
.group-head p { max-width: 27rem; color: #5b5a56; line-height: 1.65; }
.group-services { margin-left: calc(5rem + 2rem); border-top: 1px solid var(--line-light); }
.group-service { display: grid; grid-template-columns: 1fr 1fr auto; padding: 1.4rem 0; align-items: center; gap: 2rem; border-bottom: 1px solid var(--line-light); }
.group-service h3 { margin: 0; font-size: clamp(1.5rem, 2.7vw, 2.8rem); font-weight: 300; letter-spacing: -.045em; }
.group-service p { color: #686762; font-size: .95rem; }
.group-service i { display: grid; width: 2.7rem; height: 2.7rem; border: 1px solid var(--line-light); border-radius: 50%; place-items: center; font-style: normal; transition: transform .3s, background .3s, color .3s; }
.group-service:hover i { color: var(--paper); background: var(--ink); transform: rotate(45deg); }

.detail-lead { display: grid; grid-template-columns: 1.2fr 1fr; gap: 5rem; }
.detail-lead h2 { margin: 0; font-size: clamp(3.5rem, 7vw, 7.5rem); font-weight: 300; line-height: .86; letter-spacing: -.07em; }
.detail-lead-text { display: grid; gap: 2rem; align-content: end; }
.detail-lead-text p { color: #504f4b; font-size: 1.15rem; line-height: 1.75; }
.scope-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.scope-item { min-height: 16rem; padding: 1.5rem; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.scope-item span { color: var(--page-accent,var(--green)); font: 600 .6rem/1 var(--mono); }
.scope-item h3 { margin: 6rem 0 1rem; font-size: 1.7rem; font-weight: 300; line-height: 1; letter-spacing: -.04em; }
.scope-item p { color: #aeada7; font-size: .94rem; line-height: 1.6; }
.process-list { counter-reset: process; border-top: 1px solid var(--line-light); }
.process-step { counter-increment: process; display: grid; grid-template-columns: 6rem 1fr 1fr; padding: 2rem 0; border-bottom: 1px solid var(--line-light); align-items: start; gap: 2rem; }
.process-step::before { content: "0" counter(process); color: var(--violet); font: 700 .64rem/1 var(--mono); }
.process-step h3 { margin: 0; font-size: clamp(1.7rem, 3vw, 3.2rem); font-weight: 300; line-height: 1; letter-spacing: -.05em; }
.process-step p { color: #5c5b57; line-height: 1.65; }
.dark .process-step { border-color: var(--line-dark); }
.dark .process-step p { color: #aaa9a3; }
.faq-list { border-top: 1px solid var(--line-light); }
.faq-list details { border-bottom: 1px solid var(--line-light); }
.faq-list summary { position: relative; padding: 1.75rem 4rem 1.75rem 0; list-style: none; font-size: clamp(1.3rem, 2.4vw, 2.25rem); font-weight: 300; letter-spacing: -.035em; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: .4rem; top: 50%; font: 300 1.5rem/1 var(--sans); transform: translateY(-50%); transition: transform .3s; }
.faq-list details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.faq-list details p { max-width: 52rem; padding: 0 0 1.8rem; color: #5c5b57; line-height: 1.7; }

.agent-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: rgba(16,16,16,.22); }
.agent-card { position: relative; min-height: 29rem; padding: 2rem; overflow: hidden; background: var(--paper); }
.agent-card::after { content: ""; position: absolute; right: -16%; bottom: -38%; width: 60%; aspect-ratio: 1; border-radius: 50%; background: var(--agent-color); transition: transform .7s var(--ease), border-radius .7s var(--ease); }
.agent-card:hover::after { border-radius: 30% 70% 65% 35%; transform: translate(-12%,-12%) scale(1.2); }
.agent-tag { display: inline-flex; padding: .45rem .7rem; border: 1px solid var(--line-light); font: 600 .55rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.agent-card h2 { position: relative; z-index: 2; margin: 8rem 0 1.5rem; max-width: 11ch; font-size: clamp(2.2rem, 4vw, 4.2rem); font-weight: 300; line-height: .92; letter-spacing: -.06em; }
.agent-card p { position: relative; z-index: 2; max-width: 32rem; color: #55544f; line-height: 1.7; }
.agent-for { position: absolute; z-index: 2; right: 2rem; bottom: 1.6rem; left: 2rem; display: flex; padding-top: 1rem; justify-content: space-between; border-top: 1px solid var(--line-light); font: 600 .56rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }

.training-list { display: grid; gap: 1px; background: rgba(16,16,16,.25); }
.training-detail { display: grid; grid-template-columns: .65fr 1fr 1fr; min-height: 38rem; padding: 2.5rem; gap: 3rem; background: var(--paper); }
.training-detail .training-number { font: 700 .62rem/1 var(--mono); }
.training-detail h2 { margin: 0; font-size: clamp(3rem, 5.7vw, 6.4rem); font-weight: 300; line-height: .86; letter-spacing: -.07em; }
.training-detail h2 span { display: block; margin-top: 1.5rem; color: var(--violet); font: 700 .8rem/1 var(--mono); letter-spacing: .05em; }
.training-info { display: grid; align-content: space-between; gap: 2rem; }
.training-info > p { font-size: 1.1rem; line-height: 1.7; }
.training-info ul { margin: 0; padding: 0; list-style: none; }
.training-info li { padding: .65rem 0; border-bottom: 1px solid var(--line-light); }
.model-table { width: 100%; border-collapse: collapse; }
.model-table th, .model-table td { padding: 1.3rem 1rem; border-bottom: 1px solid var(--line-light); text-align: left; vertical-align: top; }
.model-table th { color: #6a6965; font: 600 .58rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.dark .model-table th, .dark .model-table td { border-color: var(--line-dark); }
.dark .model-table th { color: #aaa9a3; }
.dark .group-services, .dark .group-service { border-color: var(--line-dark); }
.dark .group-service p { color: #aaa9a3; }
.dark .group-service i { border-color: var(--line-dark); }
.dark .group-service:hover i { color: var(--ink); background: var(--green); }

.case-list { display: grid; gap: 1px; background: rgba(16,16,16,.25); }
.case-row { display: grid; grid-template-columns: 5rem 1.3fr .7fr 1fr; min-height: 19rem; padding: 2rem; gap: 2rem; background: var(--paper); transition: background .35s; }
.case-row:hover { color: var(--case-text,var(--ink)); background: var(--case-color,var(--green)); }
.case-index { font: 700 .62rem/1 var(--mono); }
.case-row h2 { margin: 0; font-size: clamp(2.6rem, 5vw, 5.4rem); font-weight: 300; line-height: .9; letter-spacing: -.065em; }
.case-type { color: #5c5b57; font: 600 .62rem/1.5 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.case-type small { display: block; max-width: 14rem; margin-top: 1rem; color: #777671; font: inherit; text-transform: none; }
.case-result { display: grid; align-content: space-between; }
.case-result p { color: #4f4e4a; line-height: 1.65; }
.case-result strong { font-size: clamp(1.8rem, 3vw, 3.4rem); font-weight: 300; line-height: 1; letter-spacing: -.05em; }
.case-row:hover .case-type, .case-row:hover .case-type small, .case-row:hover .case-result p { color: inherit; }

.about-principles { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.principle { min-height: 24rem; padding: 1.5rem; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.principle span { color: var(--green); font: 600 .6rem/1 var(--mono); }
.principle h3 { margin: 10rem 0 1rem; font-size: 1.9rem; font-weight: 300; line-height: 1; letter-spacing: -.045em; }
.principle p { color: #a7a6a0; line-height: 1.65; }
.founder-block { display: grid; grid-template-columns: 1.2fr 1fr; min-height: 70vh; }
.founder-portrait { position: relative; display: grid; min-height: 42rem; padding: 2rem; overflow: hidden; color: var(--founder-ink,var(--paper)); background: var(--founder-color,var(--violet)); align-content: end; }
.founder-portrait::before, .founder-portrait::after { content: ""; position: absolute; border-radius: 50%; filter: blur(20px); }
.founder-portrait::before { top: -10%; right: -8%; width: 66%; aspect-ratio: 1; background: var(--founder-blob-a,var(--green)); }
.founder-portrait::after { bottom: -18%; left: -15%; width: 76%; aspect-ratio: 1; background: var(--founder-blob-b,var(--pink)); }
.founder-monogram { position: relative; z-index: 2; font-size: clamp(10rem, 23vw, 25rem); font-weight: 700; line-height: .65; letter-spacing: -.14em; }
.founder-copy { display: grid; padding: clamp(3rem,7vw,8rem); align-content: center; gap: 2rem; color: var(--ink); background: var(--paper); }
.founder-copy span { font: 600 .6rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.founder-copy h2 { margin: 0; font-size: clamp(3rem,6vw,6.5rem); font-weight: 300; line-height: .88; letter-spacing: -.07em; }
.founder-copy p { color: #55544f; font-size: 1.05rem; line-height: 1.75; }
.founder-mail { width: fit-content; padding-bottom: .2rem; border-bottom: 1px solid var(--line-light); font: 600 .8rem/1.4 var(--mono); transition: color .25s, border-color .25s; }
.founder-mail:hover { color: var(--violet); border-color: var(--violet); }

.contact-layout { display: grid; grid-template-columns: .82fr 1.35fr; }
.contact-details { padding: 6rem var(--gutter); color: var(--paper); background: var(--ink); }
.contact-details h2 { margin: 0 0 2rem; font-size: clamp(3.2rem,6vw,6.5rem); font-weight: 300; line-height: .86; letter-spacing: -.07em; }
.contact-intro { max-width: 34rem; margin: 0 0 3rem; color: #b2b1ac; font-size: 1rem; line-height: 1.7; }
.contact-line { display: grid; grid-template-columns: 8rem 1fr; padding: 1.3rem 0; border-bottom: 1px solid var(--line-dark); gap: 1.5rem; }
.contact-line span { color: #888781; font: 600 .58rem/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.contact-line a, .contact-line p { font-size: 1rem; line-height: 1.55; }
.contact-form-wrap { padding: 6rem var(--gutter); color: var(--ink); background: var(--paper); }
.contact-form-wrap h2 { margin: 0 0 4rem; font-size: clamp(3.2rem,6vw,6rem); font-weight: 300; line-height: .88; letter-spacing: -.07em; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.form-field { display: grid; gap: .55rem; }
.form-field.full { grid-column: 1 / -1; }
.form-field label, .interest-field legend { font: 600 .59rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-field input, .form-field textarea { width: 100%; padding: 1rem 0; border: 0; border-bottom: 1px solid rgba(16,16,16,.35); border-radius: 0; color: var(--ink); background: transparent; outline: none; }
.form-field input:focus, .form-field textarea:focus { border-color: var(--violet); }
.form-field textarea { min-height: 9rem; resize: vertical; }
.form-error { min-height: 1rem; color: #a5123d; font-size: .78rem; }
#consent-error { grid-column: 1 / -1; }
.interest-field { grid-column: 1/-1; margin: 1.5rem 0 0; padding: 0; border: 0; }
.interest-field legend { margin-bottom: 1rem; }
.interest-chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.interest-chip { position: relative; }
.interest-chip input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: .01; }
.interest-chip span { display: block; padding: .72rem .9rem; border: 1px solid rgba(16,16,16,.3); font-size: .82rem; transition: background .25s, color .25s, border-color .25s; }
.interest-chip input:checked + span { color: var(--paper); border-color: var(--violet); background: var(--violet); }
.interest-chip input:focus-visible + span { outline: 2px solid var(--violet); outline-offset: 3px; }
.consent { grid-column: 1/-1; display: grid; grid-template-columns: auto 1fr; margin-top: 1rem; align-items: start; gap: .8rem; color: #55544f; font-size: .86rem; line-height: 1.5; }
.consent input { width: 1.05rem; height: 1.05rem; accent-color: var(--violet); }
.form-submit { grid-column: 1/-1; position: relative; display: flex; margin-top: 1rem; padding: 1.35rem 1.5rem; overflow: hidden; justify-content: space-between; color: var(--paper); background: var(--ink); isolation: isolate; }
.form-submit::before { content: ""; position: absolute; z-index: -1; inset: 0; background: var(--violet); transform: translateX(-101%); transition: transform .6s var(--ease); }
.form-submit:hover::before { transform: translateX(0); }
.form-submit span { font: 700 .65rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.form-status { grid-column: 1/-1; display: none; padding: 1.2rem; border: 1px solid var(--violet); line-height: 1.6; }
.form-status.is-visible { display: block; }

.legal { max-width: 72rem; margin: 0 auto; padding: 8rem var(--gutter); }
.legal-meta { color: #6a6965; font: 600 .6rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.legal > p { margin: 2rem 0 5rem; font-size: 1.15rem; line-height: 1.8; }
.legal section { padding: 2.5rem 0; border-top: 1px solid var(--line-light); }
.legal h2 { margin: 0 0 1.4rem; font-size: clamp(1.8rem,3vw,3.2rem); font-weight: 300; letter-spacing: -.04em; }
.legal section p, .legal li { color: #55544f; line-height: 1.75; }

.not-found { min-height: 100svh; display: grid; padding: 8rem var(--gutter) 3rem; color: var(--paper); background: var(--ink); align-content: center; }
.not-found span { color: var(--green); font: 600 .62rem/1 var(--mono); letter-spacing: .1em; }
.not-found h1 { margin: 2rem 0; max-width: 10ch; font-size: clamp(5rem,13vw,14rem); font-weight: 300; line-height: .76; letter-spacing: -.09em; }
.not-found p { max-width: 35rem; color: #aaa9a3; font-size: 1.1rem; line-height: 1.7; }
.not-found-links { display: flex; margin-top: 3rem; gap: 2rem; }

/* FOOTER */
.site-footer { position: relative; z-index: 4; padding: 5rem var(--gutter) 1.3rem; color: var(--paper); background: var(--ink); border-top: 1px solid var(--line-dark); }
.footer-top { display: grid; grid-template-columns: 1.25fr .7fr 1fr; gap: 5rem; }
.footer-brand img { width: min(16rem, 80%); }
.footer-brand p { max-width: 26rem; margin-top: 2.5rem; color: #aaa9a3; line-height: 1.7; }
.google-proof { display: inline-flex; margin-top: 2rem; padding: .8rem 1rem; border: 1px solid var(--line-dark); color: var(--green); font: 700 .62rem/1 var(--mono); letter-spacing: .06em; }
.footer-column h2 { margin: 0 0 1.5rem; color: #7f7e79; font: 600 .58rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.footer-column a, .footer-column p { display: block; width: fit-content; margin: .75rem 0; color: #d1d0ca; line-height: 1.5; }
.footer-column a:hover { color: var(--green); }
.footer-social { display: flex; margin-top: 1.5rem; gap: 1.2rem; }
.footer-social a { font: 600 .58rem/1 var(--mono); letter-spacing: .08em; }
.footer-bottom { display: grid; grid-template-columns: 1.3fr 1fr auto; margin-top: 6rem; padding-top: 1.1rem; border-top: 1px solid var(--line-dark); gap: 2rem; color: #7d7c77; font: 600 .53rem/1.45 var(--mono); letter-spacing: .06em; text-transform: uppercase; }

/* SITE PREVIEW OVERLAY */
.site-preview { position: fixed; z-index: 1500; inset: 0; display: flex; flex-direction: column; visibility: hidden; opacity: 0; background: var(--ink); transition: opacity .3s, visibility 0s .3s; }
.site-preview.is-open { visibility: visible; opacity: 1; transition: opacity .3s; }
.site-preview-bar { display: flex; align-items: center; flex-shrink: 0; gap: 1rem; min-height: 3.5rem; padding: .5rem var(--gutter); border-bottom: 1px solid var(--line-dark); color: var(--paper); font: 600 .58rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.site-preview-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.site-preview-title::before { content: "Podgląd / "; color: #7f7e79; }
.site-preview-spacer { flex: 1; }
.site-preview-newtab, .site-preview-close { display: inline-flex; align-items: center; gap: .4rem; padding: .6rem .9rem; border: 1px solid var(--line-dark); border-radius: 99px; background: transparent; color: var(--paper); font: inherit; letter-spacing: inherit; text-transform: inherit; transition: background .25s, color .25s, border-color .25s; }
.site-preview-newtab:hover, .site-preview-close:hover { border-color: var(--green); color: var(--green); }
.site-preview-frame { flex: 1; width: 100%; border: 0; background: var(--ink); }
body.preview-open .cursor { opacity: 0; }
body.has-cursor.preview-open, body.has-cursor.preview-open a, body.has-cursor.preview-open button { cursor: auto; }
@media (max-width: 640px) { .site-preview-newtab span { display: none; } }

@media (max-width: 1080px) {
  .desktop-nav { display: none; }
  .site-header { grid-template-columns: 1fr auto; }
  .header-contact { display: none; }
  .menu-toggle { display: block; }
  .panel-groups { grid-template-columns: 1fr 1fr; }
  .act-stack { width: clamp(29rem,43vw,43rem); }
  .stage-tabs { display: none; }
  .stage-bottom { grid-template-columns: 1fr 1fr; }
  .stage-count { grid-column: 2; }
  .service-row { grid-template-columns: 4rem 1.2fr 1fr auto; }
  .training-grid { grid-template-columns: 1fr; }
  .training-card { min-height: 27rem; }
  .training-card h3 { margin-top: 5rem; }
  .inner-hero-content { grid-template-columns: 1.6fr 1fr; }
  .scope-grid, .about-principles { grid-template-columns: 1fr 1fr; }
  .training-detail { grid-template-columns: .3fr 1fr 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/-1; }
}

@media (min-width: 761px) and (max-width: 900px) {
  .mvm-theatre { height: var(--theatre-height,520svh); }
  .act-stack { top: clamp(7.2rem,14svh,9rem); right: 1.5rem; left: 1.5rem; width: auto; height: 53svh; }
  .act-copy { transform: translateY(1.6rem) scale(.988); transition-duration: .65s; }
  .act-copy.is-active { transform: translateY(0) scale(1); }
  .act-copy h1, .act-copy h2 { margin: 1.5rem 0 1.35rem; font-size: clamp(3.5rem,8.7vw,5rem); }
  .act-copy p { display: -webkit-box; max-width: 40ch; overflow: hidden; font-size: clamp(.9rem,1.8vw,1rem); line-height: 1.52; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
  .stage-word { inset: 50svh 1.5rem 5.5rem; }
  .stage-word-row { height: 18svh; font-size: 29vw; }
  .stage-word-row:last-child { padding-left: 7vw; }
  .stage-word-row small, .stage-index { display: none; }
  .stage-bottom { right: 1.5rem; bottom: 1rem; left: 1.5rem; }

  .section-intro { grid-template-columns: 1fr; gap: 2.5rem; }
  .service-row { grid-template-columns: 3rem minmax(0,1fr) auto; gap: .65rem 1.25rem; }
  .service-row p { grid-column: 2; max-width: 38rem; }
  .service-row .arr { grid-column: 3; grid-row: 1/3; }

  .work-corridor { height: auto; }
  .work-sticky { position: relative; height: auto; padding: 6.5rem var(--gutter) 3.5rem; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-padding-inline: 12vw; scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-x pan-y pinch-zoom; }
  .work-sticky::-webkit-scrollbar { display: none; }
  .corridor-head { position: sticky; z-index: 4; left: 0; width: calc(100vw - var(--gutter) - var(--gutter)); grid-template-columns: 1fr auto; pointer-events: none; }
  .corridor-head > span { display: none; }
  .corridor-head h2 { font-size: clamp(4.5rem,10vw,6rem); }
  .swipe-note { position: sticky; z-index: 4; left: 0; display: flex; width: calc(100vw - var(--gutter) - var(--gutter)); margin-top: 1.2rem; align-items: center; gap: .65rem; color: #8e8d88; font: 600 .52rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; pointer-events: none; }
  .swipe-note i { width: 2.5rem; height: 1px; background: var(--green); transform-origin: left; animation: mobile-swipe 1.8s var(--ease) infinite; }
  .work-track { margin-top: 1.5rem; padding-inline: max(0px,calc(12vw - var(--gutter))); transform: none !important; will-change: auto; }
  .work-card { width: 76vw; grid-template-columns: 1fr; gap: 1rem; scroll-snap-align: center; scroll-snap-stop: always; }
  .work-visual { height: min(48svh,31rem); }
  .work-visual strong { margin-top: 8svh; font-size: clamp(5rem,14vw,7rem); }
  .work-copy p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }

  .ai-ecosystem { min-height: 120svh; }
  .ai-copy { grid-template-columns: 1fr; padding-top: 8rem; gap: 2rem; }
  .ai-copy h2 { font-size: 12vw; }
  .agent-orbit { right: auto; bottom: -15vw; left: 50%; width: 105vw; transform: translateX(-50%) translateY(var(--orbit-y,0)) rotate(var(--orbit-r,0)); }
  .final-blob { left: 76%; width: 84vw; }
  .signal-cta { right: 5%; width: clamp(10rem,23vw,13rem); }
  .inner-hero-content { grid-template-columns: 1fr; gap: 2.5rem; }
}

@media (pointer: coarse) and (min-width: 901px) and (max-width: 1100px) {
  .work-corridor { height: auto; }
  .work-sticky { position: relative; height: auto; padding: 6.5rem var(--gutter) 3.5rem; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-padding-inline: 14vw; scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-x pan-y pinch-zoom; }
  .work-sticky::-webkit-scrollbar { display: none; }
  .corridor-head { position: sticky; z-index: 4; left: 0; width: calc(100vw - var(--gutter) - var(--gutter)); grid-template-columns: 1fr auto; pointer-events: none; }
  .corridor-head > span { display: none; }
  .swipe-note { position: sticky; z-index: 4; left: 0; display: flex; width: calc(100vw - var(--gutter) - var(--gutter)); margin-top: 1.15rem; align-items: center; gap: .65rem; color: #8e8d88; font: 600 .52rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; pointer-events: none; }
  .swipe-note i { width: 2.5rem; height: 1px; background: var(--green); transform-origin: left; animation: mobile-swipe 1.8s var(--ease) infinite; }
  .work-track { margin-top: 1.5rem; padding-inline: max(0px,calc(14vw - var(--gutter))); transform: none !important; will-change: auto; }
  .work-card { width: 72vw; scroll-snap-align: center; scroll-snap-stop: always; }
  .work-visual { height: min(53svh,34rem); }
  .agent-orbit { right: auto; left: 50%; width: 92vw; transform: translateX(-50%) translateY(var(--orbit-y,0)) rotate(var(--orbit-r,0)); }
}

@media (pointer: coarse) and (min-width: 901px) and (max-width: 1100px) and (orientation: portrait) {
  .act-stack { top: 14svh; right: var(--gutter); left: var(--gutter); width: auto; height: 54svh; }
  .act-copy h1, .act-copy h2 { font-size: clamp(4.5rem,8.6vw,6rem); }
  .stage-word { inset: 52svh var(--gutter) 5.5rem; }
  .stage-word-row { height: 18svh; font-size: 28vw; }
  .stage-index { display: none; }
}

@media (max-width: 760px) {
  :root { --header-h: 4.6rem; }
  .grain { opacity: .025; animation: none; }
  .site-header { min-height: calc(var(--header-h) + env(safe-area-inset-top)); padding-top: max(.8rem,env(safe-area-inset-top)); }
  body.has-cursor, body.has-cursor a, body.has-cursor button, body.has-cursor input, body.has-cursor textarea, body.has-cursor label { cursor: auto; }
  .cursor { display: none; }
  .header-logo { width: 7.8rem; }
  .mobile-nav { padding-top: calc(6rem + env(safe-area-inset-top)); padding-bottom: calc(4rem + env(safe-area-inset-bottom)); overflow-y: auto; }
  .service-dock { right: 1rem; bottom: max(.8rem,env(safe-area-inset-bottom)); min-height: 2.9rem; }
  .service-panel { max-height: min(90dvh,48rem); padding: 4rem 1rem calc(5rem + env(safe-area-inset-bottom)); }
  .panel-head { align-items: start; flex-direction: column; }
  .panel-head a { font-size: 2.7rem; }
  .panel-groups { grid-template-columns: 1fr; }
  .section-meta { grid-template-columns: 1fr auto; }
  .section-meta span:nth-child(2) { display: none; }
  .mvm-theatre { height: var(--theatre-height,500svh); }
  .act-stack { top: clamp(6.8rem,15svh,8rem); right: 1rem; left: 1rem; width: auto; height: 50svh; }
  .act-copy { transform: translateY(1.35rem) scale(.985); transition-duration: .62s; }
  .act-copy.is-active { transform: translateY(0) scale(1); }
  .act-kicker { font-size: .52rem; line-height: 1.35; }
  .act-copy h1, .act-copy h2 { margin: 1.15rem 0 1rem; font-size: clamp(2.75rem,12.4vw,4.15rem); line-height: .86; }
  .act-copy:first-child h1 { font-size: clamp(2.35rem,10.5vw,3.75rem); }
  .act-copy p { display: -webkit-box; max-width: 34ch; overflow: hidden; color: var(--white); font-size: .9rem; line-height: 1.48; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
  .act-copy:first-child p { -webkit-line-clamp: 4; }
  .mvm-stage.is-light .act-copy p { color: #3f3f3c; }
  .stage-word { inset: 50svh 1rem calc(5rem + env(safe-area-inset-bottom)); }
  .stage-word-row { height: 16svh; font-size: 32vw; }
  .stage-word-row:last-child { padding-left: 4vw; }
  .stage-word-row small { display: none; }
  .stage-index { display: none; }
  .stage-bottom { right: 1rem; bottom: calc(1rem + env(safe-area-inset-bottom)); left: 1rem; }
  .scroll-note { font-size: .5rem; }
  .scroll-note i { animation: mobile-scroll-pulse 1.4s ease-in-out infinite; }
  .stage-progress { height: 4px; }
  .section-intro { grid-template-columns: 1fr; padding-top: 7rem; gap: 2.5rem; }
  .section-intro h2 { font-size: 14vw; }
  .service-overview { padding-bottom: 6rem; }
  .service-row { grid-template-columns: 2.5rem 1fr auto; min-height: 7rem; padding: 1rem; }
  .service-row::before { transition-duration: .72s; }
  .service-row p { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .service-row h3 { font-size: 7vw; }
  .service-row.is-inview { color: var(--row-text,var(--ink)); }
  .service-row.is-inview::before { transform: translateY(0); }
  .service-row.is-inview .num { color: inherit; transform: translateX(.35rem) rotate(6deg); }
  .service-row.is-inview .arr { color: var(--paper); background: var(--ink); transform: rotate(45deg); }
  .work-corridor { height: auto; }
  .work-sticky { position: relative; height: auto; padding: 6rem 1rem 3rem; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-padding-inline: 8vw; scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-x pan-y pinch-zoom; }
  .work-sticky::-webkit-scrollbar { display: none; }
  .corridor-head { position: sticky; z-index: 4; left: 0; width: calc(100vw - 2rem); grid-template-columns: 1fr auto; pointer-events: none; }
  .corridor-head > span { display: none; }
  .corridor-head h2 { font-size: 11vw; }
  .swipe-note { position: sticky; z-index: 4; left: 0; display: flex; width: calc(100vw - 2rem); margin-top: 1.25rem; align-items: center; gap: .65rem; color: #8e8d88; font: 600 .52rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; pointer-events: none; }
  .swipe-note i { width: 2.3rem; height: 1px; background: var(--green); transform-origin: left; animation: mobile-swipe 1.8s var(--ease) infinite; }
  .work-track { margin-top: 1.35rem; padding-inline: max(0px,calc(8vw - 1rem)); transform: none !important; will-change: auto; }
  .work-card { width: 84vw; grid-template-columns: 1fr; gap: .8rem; scroll-snap-align: center; scroll-snap-stop: always; }
  .work-visual { height: min(48svh,25rem); padding: 1rem; }
  .work-visual strong { margin-top: 7svh; font-size: clamp(3rem,16vw,5.25rem); }
  .work-result { right: 1rem; bottom: 1rem; font-size: .62rem; }
  .work-copy h3 { margin-bottom: .5rem; }
  .work-copy p { display: -webkit-box; overflow: hidden; font-size: .84rem; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .ai-ecosystem { min-height: 112svh; contain: paint; }
  .ai-copy { grid-template-columns: 1fr; padding: 6.5rem 1rem 0; gap: 1.5rem; }
  .ai-copy h2 { font-size: 14vw; }
  .ai-copy > p { font-size: .92rem; line-height: 1.55; }
  .agent-orbit { right: auto; bottom: 3.8rem; left: 50%; width: 116vw; transform: translateX(-50%) translateY(var(--orbit-y,0)) rotate(var(--orbit-r,0)); }
  .orbit-ring span { padding: .38rem .5rem; font-size: .47rem; }
  .orbit-ring.ring-a span { animation: counter-orbit 30s linear infinite; }
  .orbit-ring.ring-b span { animation: orbit 21s linear infinite; }
  .ai-route { bottom: calc(1.4rem + env(safe-area-inset-bottom)); }
  .training-grid { padding: 0 1rem; }
  .training-card::before { clip-path: circle(0 at 92% 8%); }
  .training-card:nth-child(even)::before { clip-path: circle(0 at 8% 92%); }
  .training-card.is-inview::before { clip-path: circle(145% at 92% 8%); }
  .training-card.is-inview { color: var(--training-text,var(--ink)); }
  .training-card:nth-child(even).is-inview::before { clip-path: circle(145% at 8% 92%); }
  .agent-card.is-inview::after { border-radius: 30% 70% 65% 35%; transform: translate(-12%,-12%) scale(1.2); }
  .case-row.is-inview { color: var(--case-text,var(--ink)); background: var(--case-color,var(--green)); }
  .case-row.is-inview .case-type, .case-row.is-inview .case-type small, .case-row.is-inview .case-result p { color: inherit; }
  .proof { min-height: 100svh; padding: 6rem 1rem; contain: paint; }
  .proof h2 { margin-top: 5rem; font-size: 20vw; }
  .proof-sub { grid-template-columns: 1fr; }
  .testimonial-strip { animation-duration: 50s; will-change: transform; }
  .quote-card { width: 84vw; min-height: 17rem; padding: 1.4rem; }
  .final-cta { min-height: 108svh; padding: 6rem 1rem calc(1.4rem + env(safe-area-inset-bottom)); contain: paint; }
  .final-cta h2 { font-size: clamp(4.8rem,calc(12vw + 1.5rem),15rem); }
  .final-blob { top: 58%; left: 76%; width: 104vw; }
  .signal-cta { top: auto; right: 1rem; bottom: calc(6.2rem + env(safe-area-inset-bottom)); width: clamp(8.8rem,41vw,10.5rem); }
  .signal-cta:active { transform: scale(.94); }
  .final-note span:nth-child(2) { display: none; }
  .agent-orbit .orbit-ring, .agent-orbit .orbit-ring span, .testimonial-strip, .final-blob, .signal-ring, .page-marquee div { animation-play-state: paused; }
  .is-motion-visible .orbit-ring, .is-motion-visible .orbit-ring span, .proof.is-motion-visible .testimonial-strip:not(.is-paused), .final-cta.is-motion-visible .final-blob, .final-cta.is-motion-visible .signal-ring, .page-marquee.is-motion-visible div { animation-play-state: running; }
  .proof .testimonial-strip.is-paused { animation-play-state: paused; }
  body.at-final .service-dock { transform: translateY(calc(100% + 2rem + env(safe-area-inset-bottom))); }
  .mobile-motion-item { transform: translateY(1.2rem) scale(.985); transition: transform .8s var(--ease), background .35s, color .35s; }
  .mobile-motion-item.is-inview { transform: none; }
  .inner-hero { min-height: 92svh; padding: calc(var(--header-h) + 5rem) 1rem 2rem; }
  .inner-hero-content { grid-template-columns: 1fr; gap: 2rem; }
  .inner-hero h1 { max-width: 12ch; font-size: clamp(2.85rem,13.6vw,5.8rem); line-height: .84; animation: mobile-title-settle .95s var(--ease) both; }
  .inner-hero-lead { gap: 1.25rem; }
  .inner-hero-lead p { display: -webkit-box; overflow: hidden; font-size: .95rem; line-height: 1.55; -webkit-line-clamp: 5; -webkit-box-orient: vertical; }
  .breadcrumbs { left: 1rem; max-width: calc(100vw - 2rem); overflow: hidden; white-space: nowrap; }
  .content-section { padding: 6rem 1rem; }
  .content-grid { grid-template-columns: 1fr; gap: 2rem; }
  .sticky-label { position: static; }
  .content-copy h2 { font-size: 12vw; }
  .group-head { grid-template-columns: 2.5rem 1fr; }
  .group-head p { grid-column: 2; }
  .group-services { margin-left: 0; }
  .group-service { grid-template-columns: 1fr auto; gap: 1rem; }
  .group-service p { grid-row: 2; }
  .group-service i { grid-column: 2; grid-row: 1/3; }
  .detail-lead { grid-template-columns: 1fr; gap: 2rem; }
  .detail-lead h2 { font-size: 12vw; }
  .scope-grid, .about-principles { grid-template-columns: 1fr; }
  .scope-item, .principle { min-height: 13rem; }
  .scope-item h3, .principle h3 { margin-top: 4rem; }
  .process-step { grid-template-columns: 3rem 1fr; gap: 1rem; }
  .process-step p { grid-column: 2; }
  .agent-grid { grid-template-columns: 1fr; }
  .agent-card { min-height: 27rem; }
  .training-detail { grid-template-columns: 1fr; min-height: auto; padding: 1.5rem; }
  .training-detail h2 { font-size: 12vw; }
  .model-table { display: block; overflow-x: auto; }
  .case-row { grid-template-columns: 2.5rem 1fr; min-height: 24rem; padding: 1.5rem; gap: 1rem; }
  .case-type, .case-result { grid-column: 2; }
  .founder-block { grid-template-columns: 1fr; }
  .founder-portrait { min-height: 70vh; }
  .founder-copy { padding: 5rem 1rem; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-details, .contact-form-wrap { padding: 5rem 1rem; }
  .contact-line { grid-template-columns: 6.5rem 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field.full, .interest-field, .consent, .form-submit, .form-status { grid-column: 1; }
  .not-found-links { align-items: start; flex-direction: column; }
  .footer-top { grid-template-columns: 1fr; gap: 3rem; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { grid-template-columns: 1fr; margin-top: 4rem; }
}

@media (max-width: 760px) and (max-height: 700px) {
  .mobile-nav { padding-top: calc(5rem + env(safe-area-inset-top)); }
  .mobile-nav a { padding: .48rem 0; font-size: clamp(1.9rem,9vw,3rem); }
  .act-stack { top: 5.9rem; }
  .act-copy h1, .act-copy h2 { font-size: clamp(2.45rem,11.6vw,3.5rem); }
  .act-copy p, .act-copy:first-child p { font-size: .82rem; -webkit-line-clamp: 3; }
  .stage-word { top: 48svh; }
  .work-visual { height: min(45svh,21rem); }
  .ai-ecosystem { min-height: 122svh; }
  .final-cta h2 { font-size: min(calc(12vw + 1.5rem),18vh); }
  .signal-cta { bottom: calc(5rem + env(safe-area-inset-bottom)); width: clamp(8.25rem,38vw,9.25rem); }
}

@media (max-width: 360px) {
  .service-dock { width: 3rem; padding: 0; justify-content: center; }
  .service-dock > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .service-dock b { width: 2rem; height: 2rem; }
  .stage-bottom { grid-template-columns: 1fr; }
  .stage-count { display: none; }
}

@media (max-height: 700px) and (min-width: 901px) and (orientation: landscape) {
  .act-stack { top: 16%; height: 74svh; }
  .act-copy h1, .act-copy h2 { margin: 1rem 0; font-size: clamp(3.25rem,9.8vh,5.5rem); }
  .act-copy p { font-size: .9rem; line-height: 1.45; }
  .stage-word { inset-block: 8svh 4.5rem; }
  .stage-word-row { height: 31svh; font-size: min(21vw,32vh); }
  .work-sticky { padding-top: 5rem; padding-bottom: 1rem; }
  .corridor-head h2 { font-size: clamp(3.2rem,9.5vh,5rem); }
  .work-track { margin-top: 1.25rem; }
  .work-visual { height: min(52svh,22rem); }
  .work-visual strong { margin-top: 5svh; }
}

@media (max-height: 600px) and (pointer: coarse) and (orientation: landscape),
       (max-width: 900px) and (max-height: 600px) and (orientation: landscape) {
  .mvm-theatre { height: var(--theatre-height,500svh); }
  .act-stack { top: 5rem; width: 54vw; height: 68svh; }
  .act-copy h1, .act-copy h2 { margin: .7rem 0; font-size: 11vh; }
  .act-copy p { display: -webkit-box; overflow: hidden; font-size: .78rem; line-height: 1.35; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .stage-word { inset: 12svh 1rem 3.5rem 48vw; }
  .stage-word-row { height: 34svh; font-size: min(11vw,22vh); }
  .work-corridor { height: auto; }
  .work-sticky { position: relative; height: auto; padding: 4.8rem 1rem 2rem; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-x pan-y pinch-zoom; }
  .work-sticky::-webkit-scrollbar { display: none; }
  .corridor-head { position: sticky; z-index: 4; left: 0; width: calc(100vw - 2rem); grid-template-columns: 1fr auto; pointer-events: none; }
  .corridor-head > span { display: none; }
  .corridor-head h2 { font-size: 10vh; }
  .swipe-note { position: sticky; z-index: 4; left: 0; display: flex; width: calc(100vw - 2rem); margin-top: .7rem; gap: .6rem; color: #8e8d88; font: 600 .5rem/1 var(--mono); text-transform: uppercase; }
  .swipe-note i { width: 2rem; height: 1px; background: var(--green); animation: mobile-swipe 1.8s var(--ease) infinite; }
  .work-track { margin-top: .8rem; padding-inline: max(0px,calc(22vw - 1rem)); transform: none !important; will-change: auto; }
  .work-card { width: 56vw; grid-template-columns: 1.35fr .65fr; scroll-snap-align: center; }
  .work-visual { height: 57svh; }
  .work-copy p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
  .final-cta h2 { font-size: 14vh; }
  .signal-cta { top: 34%; right: 5%; bottom: auto; width: 8rem; }
  .service-row.is-inview { color: var(--row-text,var(--ink)); }
  .service-row.is-inview::before { transform: translateY(0); }
  .service-row.is-inview .num { color: inherit; transform: translateX(.35rem) rotate(6deg); }
  .service-row.is-inview .arr { color: var(--paper); background: var(--ink); transform: rotate(45deg); }
  .training-card.is-inview::before { clip-path: circle(145% at 92% 8%); }
  .training-card:nth-child(even).is-inview::before { clip-path: circle(145% at 8% 92%); }
  .training-card.is-inview { color: var(--training-text,var(--ink)); }
  .agent-card.is-inview::after { border-radius: 30% 70% 65% 35%; transform: translate(-12%,-12%) scale(1.2); }
  .case-row.is-inview { color: var(--case-text,var(--ink)); background: var(--case-color,var(--green)); }
  .case-row.is-inview .case-type, .case-row.is-inview .case-type small, .case-row.is-inview .case-result p { color: inherit; }
  .agent-orbit .orbit-ring, .agent-orbit .orbit-ring span, .testimonial-strip, .final-blob, .signal-ring, .page-marquee div { animation-play-state: paused; }
  .is-motion-visible .orbit-ring, .is-motion-visible .orbit-ring span, .proof.is-motion-visible .testimonial-strip:not(.is-paused), .final-cta.is-motion-visible .final-blob, .final-cta.is-motion-visible .signal-ring, .page-marquee.is-motion-visible div { animation-play-state: running; }
  .proof .testimonial-strip.is-paused { animation-play-state: paused; }
  body.at-final .service-dock { transform: translateY(calc(100% + 2rem + env(safe-area-inset-bottom))); }
  .mobile-motion-item { transform: translateY(1.2rem) scale(.985); transition: transform .8s var(--ease), background .35s, color .35s; }
  .mobile-motion-item.is-inview { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .grain { animation: none; }
  .mvm-theatre { height: auto; }
  .mvm-stage { position: relative; height: auto; min-height: 100svh; padding-top: var(--header-h); }
  .mvm-stage .mvm-canvas, .stage-halo, .stage-word, .stage-index, .stage-bottom, .stage-progress { display: none; }
  .act-stack { position: relative; top: auto; left: auto; width: auto; height: auto; padding: 4rem var(--gutter); }
  .act-copy, .act-copy:not(.is-active) { position: relative; inset: auto; display: block; visibility: visible; clip-path: none; transform: none; padding: 3rem 0; border-bottom: 1px solid var(--line-dark); }
  .act-copy p { display: block !important; }
  .work-corridor { height: auto; }
  .work-sticky { position: relative; height: auto; overflow-x: auto; }
  .work-track { transform: none !important; }
  .testimonial-strip { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: auto; animation: none; }
  .testimonial-controls { display: none; }
  .quote-card { width: auto; }
  .quote-card:nth-child(n+7) { display: none; }
  .mobile-motion-item, .mobile-motion-item.is-inview { transform: none; }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .testimonial-strip { grid-template-columns: 1fr; }
}

/* MOBILE PERFORMANCE — tańsze zamienniki efektów na urządzeniach dotykowych i wąskich ekranach */
@media (pointer: coarse), (max-width: 1080px) {
  .grain { animation: none; }
  .site-header.is-scrolled:not(.menu-open) { backdrop-filter: none; background: rgba(16,16,16,.95); }
  .service-dock { backdrop-filter: none; background: rgba(16,16,16,.93); }
  .stage-halo { width: 78vw; filter: none; background: radial-gradient(circle, rgba(165,255,147,.5) 0%, rgba(165,255,147,.24) 42%, rgba(165,255,147,0) 86%); }
}
/* Tylko prawdziwe urządzenia dotykowe */
@media (pointer: coarse) {
  .grain { display: none; }
  .stage-word-row span { will-change: auto; }
}
