:root {
  color-scheme: dark;
  --ink: #f2f4f7;
  --paper: #090c12;
  --cream: #f2f4f7;
  --accent: #d9ff72;
  --muted: #bdc5d2;
  --copy-size: 1.25rem;
  --line: rgba(242,244,247,.14);
  --mono: "DM Mono", monospace;
  --sans: "Manrope", sans-serif;
  --serif: "Manrope", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
em { font-family: var(--sans); font-style: normal; font-weight: inherit; }
section[id] { scroll-margin-top: 110px; }
::selection { background: var(--accent); color: #090c12; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
.sr-only, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link:focus { position: fixed; z-index: 100; top: 1rem; left: 1rem; padding: .8rem 1rem; background: var(--accent); color: #090c12; }
.section-wrap { padding-inline: clamp(1.25rem,5vw,6rem); }
.site-header { height: 104px; padding: 0 clamp(1.25rem,5vw,6rem); display: flex; align-items: center; justify-content: space-between; gap: 2rem; position: sticky; top: 0; z-index: 30; background: rgba(9,12,18,.88); border-bottom: 1px solid var(--line); backdrop-filter: blur(20px); }
.brand { display: flex; flex-shrink: 0; gap: .85rem; align-items: center; font-size: 1rem; line-height: 1.2; font-weight: 800; letter-spacing: .01em; text-transform: uppercase; }
.brand > span:first-child { flex-shrink: 0; width: 54px; height: 54px; display: grid; place-items: center; background: var(--accent); color: #090c12; border-radius: 12px 3px 12px 3px; font-size: 1.125rem; font-weight: 800; letter-spacing: -.08em; }
.brand-name { min-width: 66px; }
.primary-nav { display: flex; align-items: center; gap: clamp(1rem,2.5vw,2.8rem); font-size: 1.0625rem; text-transform: uppercase; letter-spacing: .035em; font-weight: 700; }
.primary-nav a { position: relative; padding-block: .8rem; color: var(--muted); transition: color .2s; }
.primary-nav a:hover, .primary-nav a.active { color: var(--accent); }
.primary-nav a::after { content: ""; position: absolute; bottom: .2rem; left: 0; width: 0; height: 2px; background: var(--accent); transition: width .25s; }
.primary-nav a.active::after, .primary-nav a:hover::after { width: 100%; }
.menu-toggle { display: none; border: 1px solid var(--line); border-radius: 50%; width: 42px; height: 42px; background: transparent; cursor: pointer; padding: 10px; }
.menu-toggle span:not(.sr-only) { display: block; height: 1px; width: 20px; background: var(--ink); margin: 5px 0; }
.hero { position: relative; min-height: calc(100svh - 104px); display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 3rem; padding-top: clamp(3rem,6vw,7rem); background: radial-gradient(ellipse at 86% 22%,rgba(101,76,172,.12),transparent 55%); }
.hero-copy { position: relative; z-index: 2; padding-bottom: 2rem; min-width: 0; }
.eyebrow, .section-number { font-family: var(--mono); font-size: .63rem; letter-spacing: .13em; text-transform: uppercase; margin: 0; }
.eyebrow { display: flex; align-items: center; gap: .75rem; color: var(--muted); margin-bottom: 2rem; }
.hero .eyebrow { font-size: 1rem; line-height: 1.6; letter-spacing: .06em; color: var(--ink); }
.eyebrow span { flex: 0 0 6px; height: 6px; background: var(--accent); border-radius: 50%; box-shadow: 0 0 18px rgba(217,255,114,.6); }
.hero h1 { font-size: clamp(4rem,8.5vw,9.7rem); font-weight: 800; letter-spacing: -.075em; line-height: .95; margin: 0; }
.hero h1 em { color: var(--accent); }
.hero-intro { max-width: 560px; color: var(--muted); font-size: clamp(1.25rem,1.1rem + .5vw,1.5rem); line-height: 1.7; margin: 2rem 0 0; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.8rem; margin-top: 2rem; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.2rem 1.3rem; font-size: .7rem; letter-spacing: .055em; font-weight: 800; text-transform: uppercase; border-radius: 3px; transition: transform .25s,box-shadow .25s; }
.button-dark { color: #090c12; background: var(--accent); }
.button:hover { transform: translateY(-4px); box-shadow: 0 7px 32px rgba(217,255,114,.16); }
.button span { font-size: 1.2rem; }
.text-link { display: inline-flex; align-items: center; gap: .75rem; font-size: .875rem; letter-spacing: .04em; font-weight: 700; text-transform: uppercase; border-bottom: 1px solid var(--line); padding-bottom: .6rem; transition: color .25s,border-color .25s; }
.text-link:hover { color: var(--accent); border-color: var(--accent); }
.text-link span { transition: transform .25s; }
.text-link:hover > span:first-of-type { transform: translate(3px,-3px); }
.hero-art { position: relative; min-height: 480px; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--line); border-radius: 50% 50% 8px 8px; background: radial-gradient(ellipse at 50% 55%,#232439 0%,#121623 46%,#0d1119 72%); isolation: isolate; }
.hero-art::before { content: ""; position: absolute; inset: 0; opacity: .3; background-image: linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size: 40px 40px; mask-image: linear-gradient(transparent,black); }
.hero-art::after { content: ""; position: absolute; bottom: 10%; left: 15%; width: 70%; height: 9%; border-radius: 50%; background: #020407; filter: blur(16px); z-index: -1; }
.kinetic-scene { position: absolute; inset: 0; transform: perspective(900px) rotateX(var(--pointer-y,0deg)) rotateY(var(--pointer-x,0deg)); transition: transform .5s ease-out; }
.studio-ring { position: absolute; left: 12%; top: 13%; width: 76%; height: 76%; border: clamp(7px,1.8vw,22px) solid #b5bcc5; border-radius: 50%; box-shadow: inset 0 0 9px #ffffff90,0 0 5px #ffffff44,0 12px 50px #0008; animation: orbit-drift 12s ease-in-out infinite alternate; }
.ring-a { --rz: -35deg; --ry: 60deg; transform: rotateZ(-35deg) rotateY(60deg); border-color: #8f77d7; }
.ring-b { --rz: 40deg; --ry: 58deg; transform: rotateZ(40deg) rotateY(58deg); border-color: #8d99a9; animation-delay: -4s; }
.ring-c { --rz: 95deg; --ry: 65deg; transform: rotateZ(95deg) rotateY(65deg); border-color: #d9ff72; animation-delay: -8s; }
.studio-core { position: absolute; width: 37%; height: 37%; top: 32%; left: 32%; border-radius: 38%; transform: rotate(-18deg); background: linear-gradient(135deg,#c9c9d0 2%,#515965 25%,#202634 57%,#060a11 95%); box-shadow: inset 3px 3px 2px #f3f4ff8c,inset -5px -5px 20px #000,0 18px 40px #0008; display: grid; place-items: center; animation: core-float 7s ease-in-out infinite; }
.core-mark { font-size: clamp(2.5rem,5vw,6rem); font-weight: 800; letter-spacing: -.1em; color: #e2e5ec; text-shadow: 0 2px 9px #0009; transform: rotate(18deg); }
.core-halo { position: absolute; inset: 26%; background: #9777ff; filter: blur(55px); opacity: .18; border-radius: 50%; }
.floating-chip { position: absolute; width: 11%; aspect-ratio: 1; border-radius: 20%; background: linear-gradient(135deg,#d9ff72,#668330); box-shadow: inset 1px 1px 3px #ffffffe0,0 15px 30px #0009; animation: chip-float 6s ease-in-out infinite alternate; }
.chip-one { left: 18%; top: 18%; }
.chip-two { right: 14%; bottom: 18%; width: 7%; border-radius: 50%; background: linear-gradient(135deg,#ab93ff,#493581); animation-delay: -3s; }
.art-label { position: absolute; z-index: 5; font-family: var(--mono); font-size: .55rem; letter-spacing: .12em; color: #bac0cb; text-transform: uppercase; }
.top-label { top: 11%; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.bottom-label { left: 1.2rem; right: 1.2rem; bottom: 1.2rem; display: flex; justify-content: space-between; }
.art-label b { font-weight: 400; color: var(--accent); }
.hero-meta { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.5rem 0 1.8rem; border-top: 1px solid var(--line); font-family: var(--mono); font-size: .57rem; letter-spacing: .09em; color: var(--muted); text-transform: uppercase; }
.scroll-cue { display: flex; align-items: center; gap: .5rem; }
.scroll-cue i { display: inline-block; width: 36px; height: 1px; background: var(--accent); }
.motion-toggle { color: var(--muted); background: transparent; border: 1px solid var(--line); border-radius: 20px; padding: .5rem .8rem; cursor: pointer; font-size: .57rem; text-transform: uppercase; letter-spacing: .04em; }
.motion-toggle:hover { color: var(--ink); border-color: var(--ink); }
.discipline-band { overflow: hidden; border-block: 1px solid var(--line); padding-block: 1.6rem; background: #10151e; }
.discipline-track { display: flex; width: max-content; animation: ticker 28s linear infinite; }
.discipline-track span { flex: 0 0 auto; padding-right: 2rem; font-size: clamp(1.2rem,2.2vw,2.2rem); letter-spacing: -.03em; font-weight: 700; color: #89909c; }
.discipline-track i { color: var(--accent); font-style: normal; padding-inline: 1.4rem; }
.statement { padding-block: clamp(4rem,8vw,9rem); display: grid; grid-template-columns: 1fr; gap: 3rem; }
.section-number { color: var(--accent); }
.statement-content { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 3rem; align-items: center; }
.big-copy { font-size: clamp(2rem,3.6vw,4.5rem); line-height: 1.15; font-weight: 500; letter-spacing: -.055em; margin: 0; }
.big-copy em { color: #9990ca; }
.statement-note { min-width: 0; padding: clamp(1.25rem,2.5vw,2rem); border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(135deg,#111722,#10141d); color: var(--ink); font-size: 1.5rem; line-height: 1.7; }
.statement-note p { margin: 0 0 1.5rem; }
.statement-note a { color: var(--ink); }
.collaboration-card { grid-column: 1; width: 50%; justify-self: start; display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.4fr); align-items: center; gap: 1.5rem; padding: 1.5rem; border: 1px solid var(--line); border-left: 2px solid var(--accent); background: linear-gradient(110deg,rgba(217,255,114,.055),rgba(131,90,255,.045)); }
.collaboration-card > div { min-width: 0; }
.partner-logo { width: 100%; perspective: 800px; }
.partner-logo-turntable { position: relative; width: 100%; height: 140px; transform-style: preserve-3d; animation: partner-turn 24s ease-in-out infinite; }
.partner-logo-face { position: absolute; inset: 0; background: transparent; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.partner-logo-back { transform: rotateY(180deg); }
.partner-motion-toggle { display: block; margin: .9rem auto 0; padding: .4rem .6rem; background: transparent; color: var(--muted); border: 1px solid var(--line); border-radius: 3px; font-family: var(--mono); font-size: .55rem; cursor: pointer; }
.partner-motion-toggle:hover { color: var(--accent); border-color: var(--accent); }
.partner-motion-toggle:disabled { opacity: .5; cursor: default; }
body[data-logo-motion="paused"] .partner-logo-turntable { animation: none; transform: none; }
@keyframes partner-turn { 0%,12% { transform: rotateY(0deg); } 42%,58% { transform: rotateY(180deg); } 88%,100% { transform: rotateY(360deg); } }
.partner-logo-window { height: 100%; }
.partner-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.contact-icon { display: inline-block; flex: 0 0 22px; width: 22px; height: 22px; background: currentColor; }
.icon-instagram { -webkit-mask: url('instagram-icon.svg') center/contain no-repeat; mask: url('instagram-icon.svg') center/contain no-repeat; }
.icon-whatsapp { -webkit-mask: url('whatsapp-icon.svg') center/contain no-repeat; mask: url('whatsapp-icon.svg') center/contain no-repeat; }
.icon-mail { -webkit-mask: url('mail-icon.svg') center/contain no-repeat; mask: url('mail-icon.svg') center/contain no-repeat; }
.partner-details h3 { margin: 0 0 .65rem; font-size: 1.5rem; line-height: 1.3; letter-spacing: -.03em; }
.partner-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 1rem 1.25rem; margin-top: 1.5rem; }
.partner-links .text-link { font-size: 1rem; }
.collaboration-label { margin: 0 0 .75rem; color: var(--accent); font-family: var(--mono); font-size: .875rem; letter-spacing: .08em; text-transform: uppercase; }
.collaboration-copy { margin: 0; color: var(--ink); font-size: 1.375rem; line-height: 1.7; overflow-wrap: anywhere; }
.contact-address { max-width: 640px; margin-top: 2.5rem; padding: 1.75rem; border: 1px solid var(--line); border-radius: 12px; background: #0e1420b3; }
.contact-address .address-label { margin: 0 0 1rem; color: var(--accent); font-family: var(--mono); font-size: 1rem; letter-spacing: .07em; text-transform: uppercase; }
.contact-address .address-name { margin: 0 0 .75rem; font-size: 1.5rem; line-height: 1.4; font-weight: 600; }
.contact-address address { color: var(--ink); font-style: normal; font-size: 1.375rem; line-height: 1.75; overflow-wrap: anywhere; }
@media (max-width: 1400px) { .collaboration-card { grid-template-columns: minmax(0,1fr); }.partner-logo { max-width: 360px; } }
@media (max-width: 1000px) { .collaboration-card { width: 100%; grid-template-columns: minmax(0,.8fr) minmax(0,1.4fr); } }
@media (max-width: 780px) { .collaboration-card { grid-template-columns: minmax(0,1fr); } }
.expertise { padding-block: clamp(4rem,7vw,8rem); border-block: 1px solid var(--line); background: #0e121a; }
.section-heading h2 { font-size: clamp(2.7rem,5.3vw,6rem); line-height: 1.05; letter-spacing: -.065em; font-weight: 600; margin: 1.5rem 0 3rem; }
.section-heading h2 em { color: var(--muted); }
.expertise-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.service { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 2.8rem 1rem; padding: 1.8rem; border: 1px solid var(--line); border-radius: 8px; background: #111722; transition: transform .3s,border-color .3s,background .3s; }
.service:hover { transform: translateY(-6px); border-color: #a5ba6155; background: #161e2a; }
.service-direction { display: inline-block; width: fit-content; font-size: 1.8rem; font-weight: 400; line-height: 1; color: var(--accent); }
.service > div { grid-column: 1/-1; grid-row: 2; min-width: 0; }
.service h3 { margin: 0; font-size: clamp(1.375rem,1.7vw,1.75rem); line-height: 1.3; font-weight: 600; letter-spacing: -.03em; }
.service p { margin: 1rem 0 0; color: var(--muted); font-size: var(--copy-size); line-height: 1.75; }
.projects { padding-block: clamp(4rem,8vw,9rem); }
.projects-heading { display: block; margin-bottom: 3rem; }
.projects-heading h2 { font-size: clamp(2.5rem,4.5vw,5rem); font-weight: 600; letter-spacing: -.06em; margin: 1.3rem 0 0; line-height: 1.1; }
.projects-heading > p { color: var(--ink); font-size: 1.5rem; max-width: 720px; line-height: 1.7; margin: 1.5rem 0 0; }
.project-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; }
.project-card { display: block; min-width: 0; }
.project-visual { position: relative; overflow: hidden; aspect-ratio: 4/5; border: 1px solid var(--line); border-radius: 8px; isolation: isolate; transition: border-color .4s; }
.project-visual > img { transition: transform .6s; }
.project-card:hover .project-visual > img { transform: scale(1.05); }
.project-card:hover .project-visual { border-color: rgba(217,255,114,.5); }
.project-info { padding: 1.2rem 0 1rem; position: relative; }
.project-info > span { color: var(--muted); font-family: var(--mono); font-size: .55rem; text-transform: uppercase; letter-spacing: .08em; }
.project-info h3 { margin: .7rem 0 0; font-size: clamp(1.5rem,2vw,2.5rem); line-height: 1.05; font-weight: 500; letter-spacing: -.045em; }
.project-info i { position: absolute; top: 2.6rem; right: 0; width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; font-style: normal; }
.visual-cube { background: radial-gradient(ellipse at 50% 20%,#403850,#1e1c2a 65%); }
.grid-lines { position: absolute; inset: 0; background-image: linear-gradient(#a091cb22 1px,transparent 1px),linear-gradient(90deg,#a091cb22 1px,transparent 1px); background-size: 28px 28px; transform: perspective(400px) rotateX(60deg) scale(1.6); transform-origin: bottom; }
.cube { position: absolute; width: 36%; aspect-ratio: 1; top: 30%; transform: rotate(30deg) skewY(-30deg) scaleY(.86); box-shadow: 15px 17px 21px #07071088; transition: top .6s; z-index: 2; }
.cube-left { left: 12%; background: linear-gradient(110deg,#ddffa8,#94b84c); }
.cube-right { right: 12%; top: 42%; background: linear-gradient(110deg,#b29ae9,#746395); }
.project-card:hover .cube-left { top: 26%; }.project-card:hover .cube-right { top: 45%; }
.cube-shadow { position: absolute; width: 75%; height: 15%; bottom: 13%; left: 13%; border-radius: 50%; background: #0008; filter: blur(18px); }
.visual-vessel { background: radial-gradient(ellipse at 50% 28%,#394d54,#152027 70%); }
.vessel { position: absolute; z-index: 3; width: 38%; aspect-ratio: .68; left: 31%; top: 27%; background: linear-gradient(100deg,#24414a,#b9d6cf 45%,#37676c); border-radius: 48% 48% 39% 39% / 30% 30% 53% 53%; box-shadow: 15px 18px 27px #0007; transition: transform .6s; }
.vessel::after { content: ""; position: absolute; width: 72%; height: 7%; top: 3%; left: 14%; border-radius: 50%; background: #122b32; }
.project-card:hover .vessel { transform: translateY(-10px) rotate(3deg); }
.vessel-ring { position: absolute; width: 85%; aspect-ratio: 1; left: 7.5%; top: 13%; border: 1px solid #82c8c855; border-radius: 50%; transform: scaleY(.39) rotate(-32deg); }
.ring-two { top: 37%; transform: scaleY(.39) rotate(34deg); }
.vessel-light { position: absolute; width: 35%; aspect-ratio: 1; top: 19%; left: 34%; background: #65c7ba; filter: blur(30px); opacity: .15; }
.visual-pack { background: radial-gradient(ellipse at 50% 22%,#463f31,#211e18 70%); }
.pack-back { position: absolute; width: 34%; aspect-ratio: .63; top: 30%; left: 17%; background: #4a5141; transform: rotate(-14deg); box-shadow: 12px 18px 20px #0008; }
.pack-front { position: absolute; width: 38%; aspect-ratio: .63; top: 25%; left: 40%; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; color: #17200d; background: #c9df8b; box-shadow: 11px 16px 21px #0006; transition: transform .6s; }
.project-card:hover .pack-front { transform: translateY(-8px) rotate(4deg); }
.pack-front > span { font-size: clamp(1.4rem,2.3vw,3rem); font-weight: 800; letter-spacing: -.1em; }
.pack-front small { font-family: var(--mono); font-size: .45rem; line-height: 1.3; }
.projects-footnote { color: var(--muted); font-family: var(--mono); font-size: .55rem; line-height: 1.8; text-transform: uppercase; letter-spacing: .07em; margin-top: 1.5rem; }
.process { padding-block: clamp(4rem,7vw,8rem); display: grid; grid-template-columns: 1fr; gap: 3rem; border-top: 1px solid var(--line); }
.process-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.2rem; }
.process-steps article { min-width: 0; padding: clamp(1.25rem,2vw,1.75rem); border: 1px solid rgba(242,244,247,.22); border-radius: 12px; background: linear-gradient(145deg,#151d29,#10151e); }
.process-steps span { font-family: var(--mono); color: var(--accent); font-size: .875rem; }
.process-steps h3 { margin: 2rem 0 .8rem; font-size: 1.5rem; line-height: 1.3; font-weight: 600; letter-spacing: -.03em; }
.process-steps p { margin: 0; color: var(--muted); font-size: var(--copy-size); line-height: 1.75; }
.contact { position: relative; overflow: hidden; isolation: isolate; min-height: 570px; padding-top: clamp(4rem,7vw,8rem); padding-bottom: 4rem; border-top: 1px solid var(--line); background: radial-gradient(ellipse at 90% 70%,#26213d,#10151f 60%); }
.contact-copy { position: relative; z-index: 3; max-width: 760px; }
.contact h2 { font-size: clamp(3.3rem,6.6vw,7.5rem); line-height: 1; letter-spacing: -.065em; font-weight: 600; margin: 1.5rem 0 2rem; }
.contact h2 em { color: var(--accent); }
.contact-copy > p:not(.section-number) { max-width: 640px; color: var(--ink); font-size: 1.5rem; line-height: 1.7; margin: 0; }
.contact-mail { display: inline-flex; align-items: center; gap: 1rem; max-width: 100%; padding: 1rem 1.2rem; margin-top: 2rem; border: 1px solid var(--line); border-radius: 3px; font-size: clamp(1rem,1.8vw,1.65rem); font-weight: 600; letter-spacing: -.03em; transition: background .25s,color .25s; }
.contact-mail:hover { background: var(--accent); color: #090c12; }
.contact-mail span { color: var(--accent); }.contact-mail:hover span { color: #090c12; }
.contact-links { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: 1.5rem; }
.contact-whatsapp { display: grid; grid-template-columns: 26px 1fr auto; gap: .35rem .8rem; width: fit-content; max-width: 100%; margin-top: 1rem; padding: 1rem 1.2rem; border: 1px solid var(--accent); border-radius: 3px; color: var(--accent); transition: background .25s, color .25s; }
.contact-whatsapp .contact-icon { grid-column: 1; grid-row: 1 / 3; align-self: center; width: 26px; height: 26px; }
.whatsapp-label { grid-column: 2; font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.whatsapp-number { grid-column: 2; font-size: clamp(1rem, 1.8vw, 1.5rem); font-weight: 600; }
.whatsapp-arrow { grid-column: 3; grid-row: 1 / 3; align-self: center; font-size: 1.4rem; }
.contact-whatsapp:hover { background: var(--accent); color: #090c12; }
.contact-orb { position: absolute; z-index: -1; width: 55%; aspect-ratio: 1; top: 14%; right: -15%; border: 1px solid #9982d044; border-radius: 50%; box-shadow: inset 0 0 0 60px #9982d008,inset 0 0 0 120px #9982d008; }
.contact-orb::after { content: ""; position: absolute; width: 9%; aspect-ratio: 1; top: 5%; left: 24%; border-radius: 50%; background: var(--accent); box-shadow: 0 0 35px #d9ff7222; }
.contact-side { position: relative; color: var(--muted); font-family: var(--mono); font-size: .6rem; margin-top: 2rem; }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 130px; background: #07090e; border-top: 1px solid var(--line); }
.site-footer p, .back-to-top { color: var(--muted); font-family: var(--mono); font-size: .55rem; letter-spacing: .05em; text-transform: uppercase; margin: 0; }
.back-to-top { border-bottom: 1px solid var(--line); padding-bottom: .4rem; }
.reveal { opacity: 1; transform: none; }
.js-reveal .reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s,transform .7s cubic-bezier(.2,.7,.3,1); }
.js-reveal .reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal-delay { transition-delay: .12s; }.reveal-delay-2 { transition-delay: .2s; }
body[data-motion="paused"] .studio-ring, body[data-motion="paused"] .studio-core, body[data-motion="paused"] .floating-chip, body[data-motion="paused"] .discipline-track { animation-play-state: paused; }
body[data-motion="paused"] .kinetic-scene { transform: none; }
@keyframes orbit-drift { from { transform: rotateZ(var(--rz)) rotateY(var(--ry)); } to { transform: rotateZ(calc(var(--rz) + 30deg)) rotateY(calc(var(--ry) - 18deg)); } }
@keyframes core-float { 0%,100% { transform: translateY(0) rotate(-18deg); } 50% { transform: translateY(-13px) rotate(-9deg); } }
@keyframes chip-float { from { transform: translateY(0) rotate(-16deg); } to { transform: translateY(20px) rotate(12deg); } }
@keyframes ticker { to { transform: translateX(-50%); } }
@media (max-width: 1000px) {
  .site-header { height: 88px; }.menu-toggle { display: block; }
  .primary-nav { display: none; position: absolute; top: 88px; left: 0; right: 0; padding: 1.2rem 1.25rem 1.7rem; background: #0e121a; border-bottom: 1px solid var(--line); flex-direction: column; gap: .7rem; align-items: flex-start; }
  .primary-nav.open { display: flex; }
  .hero { gap: 1.5rem; }.hero-art { min-height: 380px; }.hero h1 { font-size: clamp(4rem,8.5vw,7rem); }
  .statement { grid-template-columns: 1fr; }.statement-content { gap: 2rem; }.process { grid-template-columns: 1fr; }.service { padding: 1.2rem; }
  .process-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 780px) {
  :root { --copy-size: 1.125rem; }
  .site-header { height: 72px; }.menu-toggle { display: block; }
  .primary-nav { display: none; position: absolute; top: 72px; left: 0; right: 0; padding: 1.2rem 1.25rem 1.7rem; background: #0e121a; border-bottom: 1px solid var(--line); flex-direction: column; gap: .7rem; align-items: flex-start; }
  .primary-nav.open { display: flex; }
  .brand { font-size: .9375rem; }.brand > span:first-child { width: 46px; height: 46px; font-size: 1rem; }
  .hero .eyebrow { font-size: .875rem; letter-spacing: .035em; }
  .hero { display: block; padding-top: 3.2rem; min-height: auto; }.hero h1 { font-size: clamp(3.6rem,17vw,7rem); overflow-wrap: anywhere; }.hero-copy { padding-bottom: 0; }.hero-intro { font-size: 1.25rem; }.hero-actions { gap: 1.4rem; }.hero-art { min-height: 0; margin-top: 3rem; aspect-ratio: 1; border-radius: 50% 50% 6px 6px; }
  .studio-ring { border-width: 12px; }.core-mark { font-size: 3.5rem; }
  .hero-meta { margin-top: 1.6rem; flex-wrap: wrap; font-size: .5rem; }.scroll-cue { display: none; }
  .statement-content { grid-template-columns: 1fr; }.big-copy { font-size: clamp(2rem,7.5vw,3rem); }
  .statement-note, .projects-heading > p, .contact-copy > p:not(.section-number) { font-size: 1.25rem; }
  .collaboration-copy, .contact-address address { font-size: 1.25rem; }
  .contact-address { padding: 1.25rem; }.contact-address .address-name { font-size: 1.375rem; }
  .partner-links .text-link { font-size: .875rem; }
  .expertise-list { grid-template-columns: 1fr; }.service { padding: 1.4rem; gap: 1.6rem; }.service h3 { font-size: 1.375rem; }
  .project-grid { grid-template-columns: 1fr; gap: 2rem; }.project-visual { aspect-ratio: 1.1; }.project-info h3 { font-size: 1.8rem; }.pack-front > span { font-size: clamp(1.7rem,7vw,3rem); }
  .projects-heading > p { max-width: 100%; }
  .process-steps { grid-template-columns: repeat(2,1fr); gap: 2rem 1.2rem; }
  .contact { min-height: 0; }.contact h2 { font-size: clamp(2.7rem,10.8vw,5rem); overflow-wrap: anywhere; }.contact-orb { width: 100%; right: -60%; top: 45%; }.contact-mail { gap: 1rem; }
  .site-footer { flex-wrap: wrap; padding-block: 1.8rem; }.site-footer p { order: 3; width: 100%; }
}
@media (max-width: 520px) { .process-steps { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .kinetic-scene { transform: none; }.js-reveal .reveal { opacity: 1; transform: none; }
}

