:root {
    --bg: #06080c;
    --bg-soft: #0d1118;
    --paper: #f3f5f7;
    --muted: #929ba6;
    --yellow: #ffd51b;
    --cyan: #7ce7ff;
    --line: rgba(255,255,255,.13);
    --pad: clamp(20px, 4vw, 72px);
    --px: 0;
    --py: 0;
    --light-x: 50vw;
    --light-y: 50vh;
    --tilt-x: 0deg;
    --tilt-y: 0deg;
    color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--bg); color: var(--paper); font-family: "Manrope", system-ui, sans-serif; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.is-modal-open, body.is-leaving { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }

@view-transition { navigation: auto; }
::view-transition-old(root) { animation: page-old 420ms cubic-bezier(.7,0,.2,1) both; }
::view-transition-new(root) { animation: page-new 620ms cubic-bezier(.2,.7,.2,1) both; }
@keyframes page-old { to { opacity: 0; transform: scale(.975); filter: blur(10px); } }
@keyframes page-new { from { opacity: 0; transform: translateY(30px) scale(1.015); filter: blur(12px); } }

.neo-skip { position: fixed; top: 10px; left: 10px; z-index: 400; padding: 10px 16px; border-radius: 999px; background: var(--yellow); color: #080a0d; font-weight: 800; transform: translateY(-150%); }
.neo-skip:focus { transform: none; }

.inner-particles { position: fixed; inset: 0; z-index: 1; width: 100%; height: 100%; pointer-events: none; mix-blend-mode: screen; }

.neo-noise { position: fixed; inset: 0; z-index: 2; opacity: .04; pointer-events: none; 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='.76' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.pointer-light { position: fixed; left: var(--light-x); top: var(--light-y); z-index: 2; width: 48vw; height: 48vw; border-radius: 50%; pointer-events: none; background: radial-gradient(circle, rgba(124,231,255,.08), transparent 62%); transform: translate(-50%, -50%); filter: blur(10px); }

.neo-transition { position: fixed; inset: 0; z-index: 350; display: grid; grid-template-columns: repeat(5, 1fr); visibility: hidden; pointer-events: none; }
.neo-transition i { display: block; background: #05070a; transform: translateY(102%); transition: transform 520ms cubic-bezier(.75,0,.2,1); }
.neo-transition i:nth-child(2) { transition-delay: 40ms; }
.neo-transition i:nth-child(3) { transition-delay: 80ms; }
.neo-transition i:nth-child(4) { transition-delay: 120ms; }
.neo-transition i:nth-child(5) { transition-delay: 160ms; }
.neo-transition.is-active { visibility: visible; }
.neo-transition.is-active i { transform: none; }

.neo-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 18px var(--pad); border-bottom: 1px solid transparent; transition: background 260ms ease, border-color 260ms ease, padding 260ms ease; }
.neo-header.is-compact { padding-top: 11px; padding-bottom: 11px; border-color: rgba(255,255,255,.08); background: rgba(6,8,12,.82); backdrop-filter: blur(18px); }
.neo-brand { justify-self: start; display: inline-flex; align-items: center; gap: 12px; font-family: "Space Grotesk", sans-serif; font-size: 16px; font-weight: 700; letter-spacing: -.04em; text-transform: uppercase; }
.neo-brand span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,213,27,.35); border-radius: 13px; background: rgba(255,255,255,.045); }
.neo-brand img { width: 29px; filter: brightness(0) invert(1); }
.neo-nav { display: flex; gap: 5px; padding: 5px; border: 1px solid rgba(255,255,255,.11); border-radius: 999px; background: rgba(6,8,12,.5); backdrop-filter: blur(14px); }
.neo-nav a { padding: 8px 14px; border-radius: 999px; color: rgba(255,255,255,.6); font-size: 11px; font-weight: 800; transition: color 180ms ease, background 180ms ease; }
.neo-nav a:hover, .neo-nav a[aria-current="page"] { color: #fff; background: rgba(255,255,255,.085); }
.neo-header__cta { justify-self: end; display: inline-flex; align-items: center; gap: 15px; padding: 10px 13px 10px 17px; border: 1px solid rgba(255,255,255,.23); border-radius: 999px; font-size: 11px; font-weight: 800; }
.neo-header__cta b { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: var(--yellow); color: #080a0d; }

.neo-main { position: relative; z-index: 3; }
.neo-kicker { margin: 0; color: var(--yellow); font-family: "Space Grotesk", sans-serif; font-size: 10px; font-weight: 800; letter-spacing: .21em; text-transform: uppercase; }
.neo-title { margin: 20px 0; font-family: "Space Grotesk", sans-serif; font-weight: 500; letter-spacing: -.075em; line-height: .88; }
.neo-title em { color: var(--yellow); font-style: normal; }
.neo-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 24px; padding: 12px 19px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(255,255,255,.04); color: #fff; font-size: 12px; font-weight: 800; backdrop-filter: blur(10px); transition: transform 180ms ease, border-color 180ms ease, background 180ms ease; }
.neo-button:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.48); background: rgba(255,255,255,.08); }
.neo-button--yellow { border-color: var(--yellow); background: var(--yellow); color: #080a0d; }

.neo-hero { position: relative; display: grid; min-height: 100svh; grid-template-columns: 1fr 1fr; align-items: center; gap: 7vw; overflow: hidden; padding: 120px var(--pad) 70px; }
.neo-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 72% 40%, rgba(124,231,255,.12), transparent 25%), radial-gradient(circle at 48% 62%, rgba(255,213,27,.08), transparent 27%), linear-gradient(100deg, #06080c 5%, transparent 72%); }
.neo-hero::after { content: ""; position: absolute; left: -20%; right: -20%; bottom: -38%; height: 62%; opacity: .5; background-image: linear-gradient(rgba(255,213,27,.15) 1px, transparent 1px), linear-gradient(90deg, rgba(124,231,255,.11) 1px, transparent 1px); background-size: 70px 70px; transform: perspective(500px) rotateX(63deg); mask-image: linear-gradient(to bottom, transparent, #000 32%, transparent 96%); }
.neo-hero__copy, .neo-hero__visual { position: relative; z-index: 3; }
.neo-hero__copy { max-width: 820px; }
.neo-hero__copy .neo-title { font-size: clamp(64px, 8.4vw, 136px); }
.neo-hero__copy > p:not(.neo-kicker) { max-width: 580px; margin: 28px 0 32px; color: rgba(255,255,255,.62); font-size: clamp(16px,1.25vw,20px); }
.neo-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }

.hero-machine { position: relative; width: min(44vw, 650px); aspect-ratio: 1; justify-self: center; perspective: 1000px; transform-style: preserve-3d; }
.hero-machine__ring { position: absolute; inset: 8%; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 80px rgba(124,231,255,.035); animation: machine-orbit 15s linear infinite; }
.hero-machine__ring::before { content: ""; position: absolute; top: 50%; left: -5px; width: 9px; height: 9px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 20px var(--yellow); }
.hero-machine__ring:nth-child(2) { inset: 20%; border-style: dashed; animation-direction: reverse; animation-duration: 11s; }
.hero-machine__ring:nth-child(3) { inset: 33%; border-color: rgba(255,213,27,.22); animation-duration: 7s; }
.hero-machine__core { position: absolute; inset: 27%; overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: 34%; transform: rotate(8deg) rotateY(var(--tilt-y)) rotateX(var(--tilt-x)); box-shadow: 0 40px 90px rgba(0,0,0,.55); }
.hero-machine__core img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(1.08); }
.hero-machine__core::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,213,27,.12), transparent 38%, rgba(124,231,255,.1)); }
.hero-machine__float { position: absolute; width: 31%; overflow: hidden; border: 1px solid rgba(255,255,255,.24); border-radius: 18px; box-shadow: 0 24px 60px rgba(0,0,0,.5); animation: float-card 6s ease-in-out infinite; }
.hero-machine__float img { width: 100%; aspect-ratio: .82; object-fit: cover; }
.hero-machine__float--a { top: 11%; right: -2%; transform: rotate(9deg); }
.hero-machine__float--b { left: -4%; bottom: 14%; transform: rotate(-8deg); animation-delay: -2.2s; }
@keyframes machine-orbit { to { transform: rotate(360deg); } }
@keyframes float-card { 50% { translate: 0 -14px; } }

.service-orbit-section { position: relative; height: 620vh; min-height: 4200px; border-top: 1px solid var(--line); background: linear-gradient(#080b10,#0b1017 46%,#07090d); }
.service-orbit__sticky { position: sticky; top: 0; display: grid; height: 100vh; min-height: 650px; grid-template-columns: .75fr 1.45fr .8fr; align-items: center; gap: 3vw; overflow: hidden; padding: 100px var(--pad) 70px; perspective: 1200px; }
.service-orbit__copy { position: relative; z-index: 10; }
.service-orbit__copy h2 { margin: 18px 0; font-family: "Space Grotesk", sans-serif; font-size: clamp(46px,5vw,78px); font-weight: 500; letter-spacing: -.07em; line-height: .9; }
.service-orbit__copy p { color: rgba(255,255,255,.48); font-size: 13px; }
.service-orbit { position: relative; width: min(42vw,640px); aspect-ratio: 1; justify-self: center; transform-style: preserve-3d; }
.service-orbit::before { content: ""; position: absolute; inset: 17%; border: 1px dashed rgba(255,255,255,.13); border-radius: 50%; transform: rotateX(68deg); }
.service-orbit::after { content: ""; position: absolute; inset: 32%; border-radius: 50%; background: radial-gradient(circle, rgba(255,213,27,.14), transparent 68%); filter: blur(20px); }
.orbit-card { position: absolute; top: 50%; left: 50%; width: min(17vw,240px); aspect-ratio: .76; overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-radius: 20px; background: #11161e; box-shadow: 0 34px 90px rgba(0,0,0,.58); transform-style: preserve-3d; will-change: transform, opacity; }
.orbit-card img { width: 100%; height: 100%; object-fit: cover; }
.orbit-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 35%, rgba(2,4,7,.9)); }
.orbit-card span { position: absolute; left: 17px; right: 17px; bottom: 17px; z-index: 2; font-family: "Space Grotesk", sans-serif; font-size: 17px; font-weight: 600; letter-spacing: -.03em; line-height: 1.05; }
.service-rail { position: relative; z-index: 12; display: grid; gap: 4px; }
.service-rail button { display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 10px; width: 100%; border: 0; border-left: 1px solid rgba(255,255,255,.12); padding: 10px 0 10px 14px; background: transparent; color: rgba(255,255,255,.35); text-align: left; cursor: pointer; transition: color 220ms ease, border-color 220ms ease; }
.service-rail button b { font-family: "Space Grotesk", monospace; font-size: 9px; }
.service-rail button span { font-size: 11px; font-weight: 700; }
.service-rail button.is-active { border-color: var(--yellow); color: #fff; }
.orbit-progress { position: absolute; left: var(--pad); right: var(--pad); bottom: 28px; height: 1px; background: rgba(255,255,255,.1); }
.orbit-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--yellow),var(--cyan)); transform: scaleX(var(--orbit-progress, 0)); transform-origin: left; }

.inner-section { position: relative; padding: 140px var(--pad); border-top: 1px solid var(--line); background: #090c11; }
.inner-shell { width: min(1440px,100%); margin: 0 auto; }
.inner-heading { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 52px; }
.inner-heading h2 { margin: 14px 0 0; font-family: "Space Grotesk", sans-serif; font-size: clamp(48px,6vw,92px); font-weight: 500; letter-spacing: -.075em; line-height: .9; }
.inner-heading > p { width: min(430px,100%); margin: 0 0 8px; color: rgba(255,255,255,.48); }

.service-panels { display: grid; gap: 18px; }
.service-panel { position: relative; display: grid; min-height: 72vh; grid-template-columns: 1.25fr .75fr; align-items: end; overflow: hidden; border: 1px solid var(--line); border-radius: 30px; background: #10151c; perspective: 1200px; }
.service-panel:nth-child(even) { grid-template-columns: .75fr 1.25fr; }
.service-panel__media { position: absolute; inset: 0; }
.service-panel__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.83) contrast(1.08); transition: transform 900ms cubic-bezier(.2,.8,.2,1); }
.service-panel:hover .service-panel__media img { transform: scale(1.045); }
.service-panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,6,9,.88), rgba(4,6,9,.18) 56%, rgba(4,6,9,.45)), linear-gradient(to top, rgba(4,6,9,.82), transparent 50%); }
.service-panel:nth-child(even)::after { background: linear-gradient(-90deg, rgba(4,6,9,.88), rgba(4,6,9,.18) 56%, rgba(4,6,9,.45)), linear-gradient(to top, rgba(4,6,9,.82), transparent 50%); }
.service-panel__copy { position: relative; z-index: 3; grid-column: 1; padding: clamp(28px,5vw,76px); }
.service-panel:nth-child(even) .service-panel__copy { grid-column: 2; }
.service-panel__copy small { color: var(--yellow); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.service-panel__copy h3 { margin: 14px 0; font-family: "Space Grotesk", sans-serif; font-size: clamp(38px,4.7vw,72px); font-weight: 500; letter-spacing: -.065em; line-height: .92; }
.service-panel__copy p { max-width: 570px; color: rgba(255,255,255,.62); }

.works-hero { min-height: 105svh; }
.works-collage { position: relative; width: min(46vw,720px); aspect-ratio: 1.1; justify-self: center; perspective: 1200px; }
.works-collage figure { position: absolute; width: 45%; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-radius: 24px; box-shadow: 0 32px 90px rgba(0,0,0,.55); transform-style: preserve-3d; animation: collage-float 7s ease-in-out infinite; }
.works-collage figure img { width: 100%; aspect-ratio: .84; object-fit: cover; }
.works-collage figure:nth-child(1) { top: 4%; left: 30%; z-index: 4; transform: rotate(-3deg); }
.works-collage figure:nth-child(2) { top: 23%; left: 1%; z-index: 2; transform: rotate(-11deg) translateZ(-80px); animation-delay: -2s; }
.works-collage figure:nth-child(3) { top: 28%; right: 0; z-index: 3; transform: rotate(10deg) translateZ(-40px); animation-delay: -4s; }
@keyframes collage-float { 50% { translate: 0 -16px; } }

.project-list { display: grid; gap: 24px; }
.project-card { position: relative; display: grid; min-height: 78vh; grid-template-columns: .8fr 1.2fr; overflow: hidden; border: 1px solid var(--line); border-radius: 30px; background: #10151b; perspective: 1300px; transform-style: preserve-3d; }
.project-card:nth-child(even) { grid-template-columns: 1.2fr .8fr; }
.project-card__media { position: relative; min-height: 540px; overflow: hidden; }
.project-card:nth-child(even) .project-card__media { grid-column: 2; }
.project-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 800ms cubic-bezier(.2,.8,.2,1); }
.project-card:hover .project-card__media img { transform: scale(1.045); }
.project-card__copy { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(30px,5vw,74px); }
.project-card:nth-child(even) .project-card__copy { grid-column: 1; grid-row: 1; }
.project-card__copy small { color: var(--yellow); font-size: 10px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.project-card__copy h3 { margin: 17px 0; font-family: "Space Grotesk", sans-serif; font-size: clamp(38px,4.5vw,70px); font-weight: 500; letter-spacing: -.065em; line-height: .92; }
.project-card__copy p { color: rgba(255,255,255,.54); }
.project-card__meta { display: flex; gap: 9px; flex-wrap: wrap; margin: 24px 0 30px; }
.project-card__meta span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.58); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.story-wall { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.story-wall__item { position: relative; min-height: 430px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: #10151b; cursor: pointer; }
.story-wall__item:nth-child(1), .story-wall__item:nth-child(6), .story-wall__item:nth-child(9) { grid-column: span 2; }
.story-wall__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 650ms ease, filter 650ms ease; }
.story-wall__item:hover img { transform: scale(1.045); filter: saturate(1.1); }
.story-wall__item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(3,5,8,.9), transparent 60%); }
.story-wall__item span { position: absolute; left: 20px; right: 20px; bottom: 18px; z-index: 2; }
.story-wall__item small { display: block; color: var(--yellow); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.story-wall__item strong { display: block; margin-top: 5px; font-family: "Space Grotesk", sans-serif; font-size: 22px; line-height: 1.1; }

.work-detail-hero { position: relative; display: flex; min-height: 100svh; align-items: flex-end; overflow: hidden; padding: 130px var(--pad) 70px; }
.work-detail-hero__media { position: absolute; inset: 0; }
.work-detail-hero__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.08); transform: scale(1.06); }
.work-detail-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,6,9,.94), rgba(4,6,9,.35) 65%, rgba(4,6,9,.48)), linear-gradient(to top,#06080c,transparent 55%); }
.work-detail-hero__copy { position: relative; z-index: 3; width: min(990px,92%); }
.work-detail-hero__copy .neo-title { font-size: clamp(62px,9vw,142px); }
.work-detail-hero__copy > p { max-width: 650px; color: rgba(255,255,255,.62); }
.work-detail-hero__counter { position: absolute; right: var(--pad); bottom: 74px; z-index: 3; font-family: "Space Grotesk", sans-serif; font-size: clamp(70px,12vw,180px); font-weight: 500; letter-spacing: -.09em; color: rgba(255,255,255,.08); }

.detail-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: start; margin-bottom: 100px; }
.detail-summary h2 { margin: 14px 0 0; font-family: "Space Grotesk", sans-serif; font-size: clamp(44px,5.6vw,84px); font-weight: 500; letter-spacing: -.07em; line-height: .92; }
.detail-summary p { color: rgba(255,255,255,.54); }
.detail-tags { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 24px; }
.detail-tags span { padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; font-size: 10px; font-weight: 700; }
.modern-gallery { display: grid; grid-template-columns: repeat(12,1fr); gap: 16px; }
.modern-gallery__item { position: relative; grid-column: span 6; min-height: 540px; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: #11161d; cursor: zoom-in; }
.modern-gallery__item:nth-child(3n+1) { grid-column: span 7; }
.modern-gallery__item:nth-child(3n+2) { grid-column: span 5; }
.modern-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease; }
.modern-gallery__item:hover img { transform: scale(1.04); }
.modern-gallery__item span { position: absolute; left: 18px; bottom: 16px; z-index: 2; padding: 7px 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(3,5,8,.35); font-size: 9px; font-weight: 800; backdrop-filter: blur(8px); }

.image-lightbox { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 28px; opacity: 0; visibility: hidden; transition: opacity 220ms ease, visibility 220ms ease; }
.image-lightbox.is-open { opacity: 1; visibility: visible; }
.image-lightbox__backdrop { position: absolute; inset: 0; background: rgba(2,4,7,.9); backdrop-filter: blur(18px); }
.image-lightbox__stage { position: relative; z-index: 2; display: grid; width: min(1180px,100%); height: min(82vh,800px); place-items: center; }
.image-lightbox__stage img { width: 100%; height: 100%; object-fit: contain; }
.image-lightbox button { position: absolute; z-index: 4; display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(0,0,0,.4); color: #fff; cursor: pointer; font-size: 26px; }
.image-lightbox__close { top: 0; right: 0; }
.image-lightbox__prev { left: 0; top: 50%; }
.image-lightbox__next { right: 0; top: 50%; }
.image-lightbox__count { position: absolute; left: 50%; bottom: -22px; z-index: 4; color: rgba(255,255,255,.58); font-family: "Space Grotesk", monospace; font-size: 10px; letter-spacing: .18em; transform: translateX(-50%); }

.neo-cta { position: relative; overflow: hidden; padding: 150px var(--pad); border-top: 1px solid var(--line); background: #07090d; text-align: center; }
.neo-cta::before { content: ""; position: absolute; left: 50%; top: 50%; width: min(72vw,950px); aspect-ratio: 1; border: 1px solid rgba(255,213,27,.11); border-radius: 50%; box-shadow: 0 0 160px rgba(255,213,27,.04), inset 0 0 160px rgba(124,231,255,.03); transform: translate(-50%,-50%); }
.neo-cta > * { position: relative; z-index: 2; }
.neo-cta h2 { margin: 18px auto 32px; font-family: "Space Grotesk", sans-serif; font-size: clamp(56px,8vw,126px); font-weight: 500; letter-spacing: -.08em; line-height: .86; }

.neo-footer { position: relative; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 32px var(--pad); border-top: 1px solid var(--line); background: #05070a; }
.neo-footer p { margin: 0; color: rgba(255,255,255,.36); font-size: 10px; }
.neo-footer div { display: flex; gap: 18px; font-size: 11px; font-weight: 700; }
.neo-mobile-dock { display: none; }

[data-reveal] { opacity: 0; transform: translateY(40px); transition: opacity 800ms cubic-bezier(.2,.7,.2,1), transform 800ms cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
    .neo-header { grid-template-columns: 1fr auto; }
    .neo-nav { display: none; }
    .neo-hero { grid-template-columns: 1fr; min-height: auto; padding-top: 150px; }
    .neo-hero__visual { min-height: 520px; }
    .hero-machine { width: min(80vw,600px); }
    .service-orbit__sticky { grid-template-columns: 1fr 1.2fr; }
    .service-rail { position: absolute; right: 20px; bottom: 70px; width: 220px; }
    .service-orbit { width: min(60vw,580px); }
    .orbit-card { width: min(23vw,220px); }
    .service-panel, .service-panel:nth-child(even) { grid-template-columns: 1fr; }
    .service-panel__copy, .service-panel:nth-child(even) .service-panel__copy { grid-column: 1; }
    .project-card, .project-card:nth-child(even) { grid-template-columns: 1fr; }
    .project-card:nth-child(even) .project-card__media, .project-card:nth-child(even) .project-card__copy { grid-column: 1; grid-row: auto; }
    .story-wall { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 720px) {
    :root { --pad: 20px; }
    body { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
    .neo-header { padding-top: 13px; padding-bottom: 13px; }
    .neo-brand span { width: 38px; height: 38px; }
    .neo-header__cta { padding: 8px 9px 8px 14px; }
    .neo-hero__copy .neo-title { font-size: clamp(58px,17vw,94px); }
    .neo-hero__visual { min-height: 390px; }
    .hero-machine { width: 92vw; }
    .service-orbit-section { height: 340vh; min-height: 2380px; }
    .service-orbit__sticky { display: block; padding-top: 94px; }
    .service-orbit__copy h2 { font-size: 44px; }
    .service-orbit__copy p { display: none; }
    .service-orbit { position: absolute; top: 52%; left: 50%; width: 88vw; transform: translate(-50%,-50%); }
    .orbit-card { width: min(44vw,210px); }
    .service-rail { left: 20px; right: 20px; bottom: 55px; display: flex; width: auto; overflow-x: auto; }
    .service-rail button { min-width: 125px; }
    .inner-section { padding-top: 95px; padding-bottom: 95px; }
    .inner-heading { display: grid; gap: 24px; }
    .service-panel { min-height: 68vh; }
    .service-panel__copy { padding: 28px 24px; }
    .works-collage { width: 92vw; }
    .project-card { min-height: auto; }
    .project-card__media { min-height: 400px; }
    .project-card__copy { padding: 30px 24px 38px; }
    .story-wall { grid-template-columns: 1fr; }
    .story-wall__item, .story-wall__item:nth-child(1), .story-wall__item:nth-child(6), .story-wall__item:nth-child(9) { grid-column: auto; min-height: 420px; }
    .work-detail-hero__copy .neo-title { font-size: clamp(56px,17vw,92px); }
    .work-detail-hero__counter { display: none; }
    .detail-summary { grid-template-columns: 1fr; gap: 28px; }
    .modern-gallery { grid-template-columns: 1fr; }
    .modern-gallery__item, .modern-gallery__item:nth-child(3n+1), .modern-gallery__item:nth-child(3n+2) { grid-column: auto; min-height: 420px; }
    .neo-footer { display: grid; justify-items: center; text-align: center; }
    .pointer-light { display: none; }
    .inner-particles { display: none; }

    .neo-mobile-dock {
        position: fixed;
        right: 10px;
        bottom: calc(9px + env(safe-area-inset-bottom));
        left: 10px;
        z-index: 120;
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 4px;
        padding: 6px;
        border: 1px solid rgba(255,255,255,.13);
        border-radius: 19px;
        background: rgba(9,12,17,.92);
        box-shadow: 0 14px 38px rgba(0,0,0,.38);
        backdrop-filter: blur(16px) saturate(1.1);
    }

    .neo-mobile-dock a {
        display: grid;
        min-width: 0;
        min-height: 50px;
        place-items: center;
        align-content: center;
        gap: 3px;
        border-radius: 14px;
        color: rgba(255,255,255,.58);
    }

    .neo-mobile-dock a[aria-current="page"] { background: rgba(255,213,27,.1); color: var(--yellow); }
    .neo-mobile-dock span { font-size: 17px; line-height: 1; }
    .neo-mobile-dock small { overflow: hidden; font-size: 9px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    .inner-particles { display: none; }
    [data-reveal] { opacity: 1; transform: none; }
    .service-orbit-section { height: auto; min-height: 0; padding: 100px var(--pad); }
    .service-orbit__sticky { position: relative; display: block; height: auto; min-height: 0; overflow: visible; padding: 0; }
    .service-orbit { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; width: 100%; aspect-ratio: auto; margin-top: 40px; }
    .orbit-card { position: relative; top: auto; left: auto; width: 100%; transform: none !important; opacity: 1 !important; }
    .service-rail, .orbit-progress { display: none; }
}
