:root {
  --ink: #0a0a0a;
  --paper: #f1efe8;
  --orange: #ff5a1f;
  --orange-2: #ff7a44;
  --sand: #d9cbb9;
  --blue: #6288ff;
  --lime: #c8ff45;
  --violet: #9e72ff;
  --muted: #8e8e8e;
  --line: rgba(255,255,255,.16);
  --sans: "Manrope", Arial, Helvetica, sans-serif;
  --mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --serif: "Playfair Display", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; font-family: var(--sans); color: var(--ink); background: var(--ink); overflow-x: hidden; cursor: none; }
a, button { color: inherit; font: inherit; }
a { text-decoration: none; }
button { border: 0; background: transparent; cursor: none; }
::selection { background: var(--orange); color: #fff; }

.noise { position: fixed; inset: 0; opacity: .055; z-index: 999; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.52'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
#field { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; opacity: .65; }
.cursor-dot { width: 6px; height: 6px; border-radius: 50%; background: #fff; position: fixed; z-index: 1200; pointer-events: none; transform: translate(-50%,-50%); mix-blend-mode: difference; }
.cursor-ring { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.7); position: fixed; z-index: 1199; pointer-events: none; transform: translate(-50%,-50%); transition: width .25s ease, height .25s ease, background .25s ease, border-color .25s ease; mix-blend-mode: difference; display: grid; place-items: center; }
.cursor-ring span { font: 500 8px/1 var(--mono); letter-spacing: .12em; opacity: 0; transition: opacity .2s ease; color: #000; }
.cursor-ring.is-project { width: 82px; height: 82px; background: #fff; border-color: #fff; mix-blend-mode: normal; }
.cursor-ring.is-project span { opacity: 1; }

.page-progress { position: fixed; top: 0; left: 0; height: 2px; width: 100%; z-index: 1300; background: rgba(255,255,255,.08); }
.page-progress i { display: block; height: 100%; width: 0; background: var(--orange); }

.nav { position: fixed; top: 0; left: 0; right: 0; height: 84px; padding: 0 3vw; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; z-index: 1100; color: #fff; transition: color .35s ease, transform .35s ease, background .35s ease, backdrop-filter .35s ease; }
.nav.scrolled { background: rgba(10,10,10,.66); backdrop-filter: blur(12px); }
.nav.light-mode { color: #0a0a0a; }
.brand { justify-self: start; display: inline-flex; align-items: center; gap: 11px; font-weight: 700; letter-spacing: -.03em; }
.brand-mark { display: grid; grid-template-columns: repeat(3,5px); gap: 2px; height: 22px; align-items: end; }
.brand-mark i { display: block; width: 5px; background: currentColor; border-radius: 3px; }
.brand-mark i:nth-child(1){height:11px}.brand-mark i:nth-child(2){height:21px}.brand-mark i:nth-child(3){height:15px}
.brand-type { font-size: 20px; }
.nav-center { font: 400 10px/1 var(--mono); letter-spacing: .16em; opacity: .62; }
.nav-center span { color: var(--orange); margin: 0 8px; }
.menu-btn { justify-self: end; display: flex; align-items: center; gap: 14px; color: inherit; }
.menu-btn span { font: 500 11px/1 var(--mono); letter-spacing: .12em; }
.menu-btn i { width: 28px; height: 28px; border-radius: 50%; border: 1px solid currentColor; position: relative; }
.menu-btn i::before,.menu-btn i::after { content:""; width: 8px; height: 1px; background: currentColor; position:absolute; left:9px; top:11px; transition:.3s; }
.menu-btn i::after { top:15px; }
.menu-btn[aria-expanded="true"] i::before{ top:13px; transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] i::after{ top:13px; transform:rotate(-45deg)}

.menu-panel { position: fixed; inset: 0; z-index: 1050; background: var(--orange); color: var(--ink); clip-path: inset(0 0 100% 0); transition: clip-path .6s cubic-bezier(.75,0,.2,1); pointer-events: none; }
.menu-panel.open { clip-path: inset(0 0 0 0); pointer-events: auto; }
.menu-inner { height: 100%; padding: 130px 4vw 42px; display: flex; flex-direction: column; }
.menu-links { display: flex; flex-direction: column; margin-top: auto; }
.menu-links a { font-size: clamp(48px,8vw,110px); line-height: .96; letter-spacing: -.065em; border-bottom: 1px solid rgba(0,0,0,.24); display: flex; align-items: baseline; gap: 24px; padding: 8px 0 14px; }
.menu-links a span { font: 400 10px/1 var(--mono); letter-spacing: .08em; }
.menu-meta { display: flex; justify-content: space-between; margin-top: 28px; font: 400 11px/1.5 var(--mono); }

section { position: relative; z-index: 1; }
.section-dark, .section-ink { color: #fff; background: var(--ink); }
.section-light { color: var(--ink); background: var(--paper); }
.section-orange { color: var(--ink); background: var(--orange); }
.eyebrow { margin: 0; font: 500 10px/1.2 var(--mono); letter-spacing: .15em; text-transform: uppercase; }

.hero { height: 100svh; min-height: 720px; padding: 120px 4vw 38px; overflow: hidden; }
.hero-grid, .signal-grid { position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px, transparent 1px); background-size: 8vw 8vw; mask-image: linear-gradient(to bottom,black 0%,rgba(0,0,0,.2) 70%,transparent); }
.hero-copy { position: relative; height: 100%; display:flex; flex-direction:column; justify-content:center; z-index:2; }
.hero-copy .eyebrow { position:absolute; top: 10px; left:0; color:#a8a8a8; }
.hero-title { margin: 0; font-size: clamp(62px, 10.8vw, 190px); line-height: .78; letter-spacing: -.072em; font-weight: 600; text-transform: uppercase; }
.hero-title .line { display:block; overflow:hidden; }
.hero-title .line > span { display:block; transform:translateY(110%); animation: heroIn 1s cubic-bezier(.16,1,.3,1) forwards; }
.hero-title .line:nth-child(2)>span { animation-delay:.08s; }
.hero-title .line:nth-child(3)>span { animation-delay:.16s; }
.hero-title .line-shift { margin-left: 8.2vw; }
.hero-title .serif { font-family: var(--serif); text-transform:none; color: var(--orange); font-weight:500; letter-spacing:-.06em; }
@keyframes heroIn { to{ transform:translateY(0)} }
.hero-bottom { position:absolute; right:0; bottom:72px; width:min(520px,46vw); display:flex; align-items:flex-end; justify-content:space-between; gap:48px; }
.hero-bottom p { max-width: 340px; margin:0; font-size:14px; line-height:1.55; color:#a9a9a9; }
.hero-bottom strong { color:#fff; font-weight:500; }
.circle-cta,.contact-round { flex:0 0 110px; width:110px; height:110px; border:1px solid rgba(255,255,255,.3); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; transition:background .35s ease,color .35s ease,border-color .35s ease; }
.circle-cta:hover { background:var(--orange); border-color:var(--orange); color:var(--ink); }
.circle-cta span,.contact-round span { font:500 9px/1 var(--mono); letter-spacing:.14em; }
.circle-cta svg,.contact-round svg { width:19px; fill:none; stroke:currentColor; stroke-width:1.5; }
.hero-foot { position:absolute; left:4vw; right:4vw; bottom:32px; display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:center; color:#6e6e6e; font:400 9px/1 var(--mono); letter-spacing:.12em; }
.scroll-meter { height:1px; background:#252525; position:relative; }
.scroll-meter i { position:absolute; inset:0 auto 0 0; width:18%; background:#777; animation:meter 2.6s ease-in-out infinite; }
@keyframes meter{0%,100%{width:5%;left:0}50%{width:26%;left:72%}}
.hero-orbit { position:absolute; width: min(42vw,690px); aspect-ratio:1; right:-7vw; top:8vh; border:1px solid rgba(255,255,255,.09); border-radius:50%; z-index:1; animation: orbitFloat 7s ease-in-out infinite; }
.hero-orbit::before,.hero-orbit::after { content:""; position:absolute; inset:13%; border:1px solid rgba(255,255,255,.07); border-radius:50%; }
.hero-orbit::after { inset:29%; }
.orb { position:absolute; width:18px; height:18px; border-radius:50%; background:var(--orange); box-shadow:0 0 40px rgba(255,90,31,.55); }
.orb-a{ left:12%; top:22%}.orb-b{ right:8%; top:53%; width:10px;height:10px;background:#fff}.orb-c{left:39%;bottom:4%;width:7px;height:7px;background:#777}
.orbit-label { position:absolute; font:400 8px/1 var(--mono); letter-spacing:.12em; color:#747474; }
.label-a{left:0;top:38%}.label-b{right:7%;top:25%}.label-c{right:30%;bottom:7%}
@keyframes orbitFloat{50%{transform:translate3d(-18px,24px,0) rotate(3deg)}}

.manifesto { min-height: 110vh; padding: 120px 4vw 110px; display:flex; flex-direction:column; justify-content:space-between; }
.manifesto-top { display:flex; justify-content:space-between; align-items:center; }
.manifesto-index { font:400 10px/1 var(--mono); letter-spacing:.12em; }
.manifesto-copy { margin: 12vh 0 16vh; }
.manifesto-copy p { margin:0; font-size:clamp(42px,6.1vw,108px); line-height:.98; letter-spacing:-.058em; font-weight:500; }
.manifesto-copy em { font-family:var(--serif); font-weight:500; color:var(--orange); }
.manifesto-copy .word { display:inline-block; opacity:.14; transform:translateY(18px); transition:opacity .45s ease,transform .45s ease; }
.manifesto-copy .word.visible { opacity:1; transform:translateY(0); }
.manifesto-note { display:grid; grid-template-columns:1fr 1fr; align-items:start; border-top:1px solid rgba(0,0,0,.25); padding-top:20px; }
.manifesto-note span { font:500 10px/1 var(--mono); letter-spacing:.12em; }
.manifesto-note p { max-width:500px; margin:0; font-size:15px; line-height:1.6; }

.scrolly { height: 460vh; background:var(--ink); color:#fff; }
.scrolly-sticky { position:sticky; top:0; height:100vh; overflow:hidden; background:#111; }
.scene-backdrop { position:absolute; inset:0; background: radial-gradient(circle at 72% 52%,rgba(255,90,31,.18),transparent 28%),linear-gradient(120deg,#0b0b0b,#161616); transition:background .65s ease; }
.scene-ui { position:relative; height:100%; padding:110px 4vw 44px; z-index:2; display:flex; flex-direction:column; }
.scene-kicker { display:flex; justify-content:space-between; font:500 10px/1 var(--mono); letter-spacing:.14em; color:#777; }
.scene-kicker b{ font-weight:400; color:#fff; }
.scene-stage { flex:1; display:grid; grid-template-columns:110px 1fr 1fr; align-items:center; gap:32px; }
.scene-number { align-self:end; padding-bottom:8vh; font:300 clamp(56px,7vw,120px)/1 var(--mono); color:#373737; transition:transform .45s ease,opacity .45s; }
.scene-title-wrap { position:relative; z-index:3; }
.scene-title-wrap h2 { margin:0 0 26px; font-size:clamp(68px,10.8vw,186px); line-height:.8; letter-spacing:-.07em; font-weight:600; }
.scene-title-wrap p { max-width:520px; margin:0; color:#9d9d9d; line-height:1.6; font-size:14px; }
.scene-art { position:relative; height:min(62vh,680px); width:min(45vw,680px); justify-self:end; display:grid; place-items:center; }
.art-ring { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.14); transition:transform .8s cubic-bezier(.16,1,.3,1), border-color .6s ease; }
.ring-1{inset:6%}.ring-2{inset:21%;border-style:dashed}.ring-3{inset:37%}
.art-core { width:18%; aspect-ratio:1; border-radius:50%; background:var(--orange); box-shadow:0 0 110px rgba(255,90,31,.35); transition:all .6s cubic-bezier(.16,1,.3,1); }
.art-labels { position:absolute; inset:0; }
.art-labels span { position:absolute; font:400 8px/1 var(--mono); color:#656565; }
.art-labels span:nth-child(1){left:10%;top:19%}.art-labels span:nth-child(2){right:6%;top:47%}.art-labels span:nth-child(3){left:25%;bottom:7%}.art-labels span:nth-child(4){right:29%;bottom:21%}
.scene-nav { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.15); }
.scene-pill { text-align:left; color:#656565; padding:20px 6px 5px; border-right:1px solid rgba(255,255,255,.1); font-size:12px; letter-spacing:.04em; transition:color .3s ease; }
.scene-pill span { font:400 9px/1 var(--mono); margin-right:12px; }
.scene-pill.active { color:#fff; }
.scene-pill.active::after { content:""; display:block; height:2px; width:100%; background:var(--scene-accent,var(--orange)); margin-top:18px; animation:sceneLine .5s ease; }
@keyframes sceneLine{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
.scrolly[data-scene="1"] .ring-1{transform:rotate(38deg) scale(.92);border-radius:28% 72% 48% 52%/58% 35% 65% 42%}
.scrolly[data-scene="1"] .ring-2{transform:rotate(-24deg) scale(1.08);border-radius:66% 34% 31% 69%/38% 61% 39% 62%}
.scrolly[data-scene="1"] .ring-3{transform:rotate(62deg);border-radius:35% 65% 62% 38%/65% 33% 67% 35%}
.scrolly[data-scene="2"] .art-ring{border-radius:2px;transform:rotate(45deg)}
.scrolly[data-scene="2"] .ring-2{transform:rotate(22deg) scale(.86)}
.scrolly[data-scene="2"] .ring-3{transform:rotate(67deg) scale(1.15)}
.scrolly[data-scene="2"] .art-core{border-radius:2px;transform:rotate(45deg)}
.scrolly[data-scene="3"] .ring-1{transform:scale(1.06)}
.scrolly[data-scene="3"] .ring-2{transform:scale(.8);border-style:solid}
.scrolly[data-scene="3"] .ring-3{transform:scale(.55)}
.scrolly[data-scene="3"] .art-core{transform:scale(1.35);box-shadow:0 0 150px rgba(200,255,69,.4)}

.work { min-height:100vh; padding-top:140px; overflow:hidden; }
.work-head { padding:0 4vw 90px; display:grid; grid-template-columns:1fr 2fr 1fr; align-items:end; gap:40px; }
.work-head h2 { margin:0; font-size:clamp(48px,6.8vw,112px); line-height:.9; letter-spacing:-.06em; font-weight:500; }
.work-head h2 span { font-family:var(--serif); color:var(--orange); font-weight:500; }
.work-intro { margin:0; color:#8f8f8f; font-size:14px; line-height:1.6; max-width:340px; }
.projects-shell { width:100%; overflow:hidden; }
.projects-track { display:flex; gap:18px; padding:0 4vw 18px; width:max-content; will-change:transform; }
.project-card { width:min(72vw,1020px); height:min(72vh,760px); flex:0 0 auto; padding:20px; color:#111; display:flex; flex-direction:column; overflow:hidden; border-radius:2px; position:relative; }
.project-orange{background:#ff6936}.project-sand{background:#d8cdbf}.project-blue{background:#6f8dff}.project-lime{background:#cfff49}.project-violet{background:#9d72ff}
.project-meta { display:flex; justify-content:space-between; font:500 9px/1 var(--mono); letter-spacing:.12em; }
.project-visual { flex:1; margin:18px 0; position:relative; overflow:hidden; display:grid; place-items:center; }
.project-bottom { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; }
.project-bottom h3 { margin:0; font-size:clamp(28px,3vw,52px); letter-spacing:-.045em; }
.project-bottom span { max-width:180px; text-align:right; font:400 10px/1.4 var(--mono); }
.mock-browser { width:82%; height:77%; background:#efe8da; border:2px solid #151515; box-shadow:18px 22px 0 rgba(0,0,0,.16); transform:rotate(-4deg); transition:transform .6s cubic-bezier(.16,1,.3,1); }
.project-card:hover .mock-browser{transform:rotate(-1deg) scale(1.035)}
.browser-top { height:28px; border-bottom:1px solid #111; display:flex; align-items:center; gap:5px; padding:0 10px; font:400 7px/1 var(--mono); }
.browser-top i { width:6px;height:6px;border:1px solid #111;border-radius:50%; }.browser-top span{margin-left:auto}
.browser-screen { height:calc(100% - 28px); position:relative; padding:22px; overflow:hidden; }
.screen-kicker { font:500 7px/1 var(--mono); letter-spacing:.12em; }
.furniture-screen strong { display:block; font-size:clamp(46px,6vw,102px); line-height:.8; letter-spacing:-.07em; margin-top:8%; position:relative; z-index:2; }
.furniture-shape { position:absolute; width:65%; height:36%; right:-8%; bottom:9%; background:#d3ab86; border-radius:52% 22% 8% 8%; transform:skewX(-9deg); }
.furniture-shape::before { content:""; position:absolute; width:52%; height:70%; background:#111; border-radius:50%; right:18%; top:-25%; opacity:.86; }
.tower-grid { width:76%; height:88%; border:1px solid #111; display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(2,1fr); position:relative; transform:perspective(900px) rotateY(-8deg); }
.tower-grid i{border-right:1px solid #111;border-bottom:1px solid #111;background:linear-gradient(145deg,rgba(255,255,255,.5),rgba(0,0,0,.03));}
.tower-grid b{position:absolute;left:-9%;bottom:8%;font-size:clamp(45px,6vw,104px);line-height:.78;letter-spacing:-.07em;}
.zebra-visual{place-items:stretch;padding:4%;}.zebra-z{position:absolute;right:2%;bottom:-13%;font-weight:700;font-size:clamp(240px,33vw,560px);line-height:.8;letter-spacing:-.12em;opacity:.85;}.price-chip{position:absolute;left:3%;top:9%;border:1px solid #111;padding:12px 14px;font:500 9px/1.4 var(--mono);z-index:2;background:#dbe3ff}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-self:end;width:58%;z-index:2}.shop-grid i{aspect-ratio:1;background:#111;opacity:.92}.shop-grid i:nth-child(2),.shop-grid i:nth-child(5){border-radius:50%}.shop-grid i:nth-child(3){clip-path:polygon(50% 0,100% 100%,0 100%)}
.termo-visual strong{font-size:clamp(66px,8vw,132px);line-height:.78;letter-spacing:-.08em;z-index:3}.receipt{position:absolute;width:32%;height:70%;background:#f7f3e7;border:1px solid #111;box-shadow:12px 14px 0 rgba(0,0,0,.12)}.receipt::before{content:"INIVOS / 2026\A\A 01  WEB DESIGN\A 02  LEADS\A 03  GROWTH\A\A TOTAL: 100%";white-space:pre;position:absolute;inset:12%;font:500 8px/1.7 var(--mono);}.receipt-a{left:10%;transform:rotate(-11deg)}.receipt-b{right:9%;transform:rotate(10deg)}.receipt-c{width:28%;height:62%;left:38%;transform:rotate(1deg)}
.vu-visual{background:#0d0d0d;color:#fff;}.vu-visual p{position:absolute;left:5%;top:7%;margin:0;font-size:clamp(44px,6vw,96px);line-height:.82;letter-spacing:-.07em;font-weight:650}.vu-visual>span{position:absolute;right:5%;bottom:6%;font:500 10px/1 var(--mono);letter-spacing:.15em}.dumbbell{position:absolute;right:9%;top:25%;width:44%;height:23%;display:flex;align-items:center;justify-content:center;transform:rotate(-14deg)}.dumbbell b{height:18%;width:62%;background:#aaa;box-shadow:inset 0 0 0 1px #555}.dumbbell i{height:100%;width:17%;background:linear-gradient(90deg,#3d3d3d,#9a9a9a,#333);border-radius:8px;box-shadow:0 0 0 4px #111}.dumbbell i:first-child{transform:translateX(8px)}.dumbbell i:last-child{transform:translateX(-8px)}
.work-foot { display:flex; justify-content:space-between; padding:24px 4vw 110px; font:400 10px/1 var(--mono); letter-spacing:.12em; color:#747474; }
.work-counter b{font-weight:400;color:#fff;}

.services-grid { padding:130px 4vw 140px; }
.services-head { display:grid; grid-template-columns:1fr 2fr; padding-bottom:80px; }
.services-head h2 { margin:0; font-size:clamp(62px,8.4vw,140px); line-height:.82; letter-spacing:-.072em; font-weight:500; }
.service-list { border-top:1px solid rgba(0,0,0,.24); }
.service-row { display:grid; grid-template-columns:80px 1.2fr 1fr 60px; gap:20px; align-items:center; min-height:140px; border-bottom:1px solid rgba(0,0,0,.24); transition:background .35s ease,padding .35s ease; }
.service-row:hover { background:#fff; padding:0 22px; }
.service-index { font:400 10px/1 var(--mono); }
.service-row h3 { margin:0; font-size:clamp(27px,3.1vw,50px); letter-spacing:-.045em; font-weight:520; }
.service-row p { margin:0; max-width:450px; font-size:13px; line-height:1.6; color:#555; }
.service-arrow { justify-self:end; width:42px;height:42px;border:1px solid #111;border-radius:50%;display:grid;place-items:center;transition:transform .35s ease,background .35s ease,color .35s ease; }
.service-row:hover .service-arrow { transform:rotate(45deg); background:#111;color:#fff; }

.process { padding:120px 4vw 120px; display:grid; grid-template-columns: .95fr 1.05fr; gap:9vw; }
.process-sticky { position:sticky; top:130px; align-self:start; }
.process-sticky h2 { margin:90px 0 34px; font-size:clamp(66px,7.2vw,124px); line-height:.82; letter-spacing:-.07em; font-weight:580; }
.process-sticky h2 span{font-family:var(--serif);font-weight:500;color:#fff}
.process-note { max-width:420px; font-size:14px; line-height:1.6; }
.process-steps { padding-top:130px; }
.process-steps article { min-height:330px; border-top:1px solid rgba(0,0,0,.28); padding:28px 0 70px; display:grid; grid-template-columns:80px 1fr; align-content:start; }
.process-steps article>span { font:500 10px/1 var(--mono); }
.process-steps h3 { margin:0 0 28px; font-size:clamp(42px,5vw,86px); line-height:.9; letter-spacing:-.055em; font-weight:550; }
.process-steps p { grid-column:2; max-width:410px; margin:0; line-height:1.6; font-size:13px; }

.signal { height:115vh; min-height:800px; overflow:hidden; display:grid; place-items:center; }
.signal-grid { mask-image:radial-gradient(circle at center,black,transparent 74%); }
.signal-content { position:relative; width:100%; padding:0 4vw; }
.signal-content>.eyebrow { position:absolute; top:-10vh; left:4vw; color:#797979; }
.signal-word { position:relative; z-index:3; display:flex; flex-wrap:wrap; gap:0 .12em; justify-content:center; text-align:center; max-width:94vw; margin:auto; }
.signal-word span { font-size:clamp(62px,10.3vw,178px); line-height:.77; letter-spacing:-.075em; font-weight:620; }
.signal-word span:nth-child(3),.signal-word span:nth-child(5){color:var(--orange)}
.signal-orb { position:absolute; width:min(52vw,760px); aspect-ratio:1; left:50%; top:50%; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.12); border-radius:50%; z-index:1; }
.signal-orb i{position:absolute;inset:14%;border:1px solid rgba(255,255,255,.08);border-radius:50%}.signal-orb i:nth-child(2){inset:29%}.signal-orb i:nth-child(3){inset:43%;background:var(--orange);box-shadow:0 0 150px rgba(255,90,31,.25);border:0}

.contact { min-height:100vh; padding:120px 4vw 30px; display:flex; flex-direction:column; }
.contact-top { display:flex; justify-content:space-between; font:400 10px/1 var(--mono); letter-spacing:.12em; }
.contact-title { margin:auto 0 7vh; font-size:clamp(76px,12.6vw,220px); line-height:.76; letter-spacing:-.08em; font-weight:580; }
.contact-title a { position:relative; }
.contact-title a::after { content:"";position:absolute;left:0;right:0;bottom:.04em;height:.035em;background:#111;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.contact-title a:hover::after{transform:scaleX(1);transform-origin:left}.contact-title span{color:var(--orange)}
.contact-grid { border-top:1px solid rgba(0,0,0,.25); border-bottom:1px solid rgba(0,0,0,.25); padding:26px 0; display:grid; grid-template-columns:1fr 1fr 1fr auto; align-items:center; gap:28px; }
.contact-grid>div{display:flex;flex-direction:column;gap:10px}.contact-label{font:500 9px/1 var(--mono);letter-spacing:.12em;color:#7e7e7e}.contact-grid p,.contact-grid a{margin:0;font-size:14px}.contact-round { color:#111;border-color:#111;width:96px;height:96px;flex-basis:96px; }.contact-round:hover{background:var(--orange);border-color:var(--orange)}
footer { margin-top:38px; display:flex; justify-content:space-between; align-items:center; font:400 9px/1 var(--mono); letter-spacing:.1em; }

@media (max-width: 900px){
  body{cursor:auto}.cursor-dot,.cursor-ring{display:none}a,button{cursor:pointer}.nav{height:68px;padding:0 20px}.nav-center{display:none}.hero{padding:100px 20px 28px;min-height:650px}.hero-orbit{width:78vw;right:-34vw;top:12vh}.hero-copy{justify-content:42%}.hero-title{font-size:clamp(54px,14.4vw,110px);line-height:.82}.hero-title .line-shift{margin-left:0}.hero-bottom{left:20px;right:20px;bottom:78px;width:auto;gap:20px}.hero-bottom p{font-size:12px;max-width:55vw}.circle-cta{width:84px;height:84px;flex-basis:84px}.hero-foot{left:20px;right:20px}.hero-foot span:first-child{display:none}.manifesto{padding:90px 20px;min-height:100svh}.manifesto-index{display:none}.manifesto-copy{margin:14vh 0}.manifesto-copy p{font-size:clamp(37px,9.7vw,72px)}.manifesto-note{grid-template-columns:1fr;gap:26px}.scrolly{height:400vh}.scene-ui{padding:92px 20px 24px}.scene-stage{grid-template-columns:1fr;align-content:center}.scene-number{display:none}.scene-title-wrap h2{font-size:clamp(64px,17vw,120px)}.scene-title-wrap p{font-size:12px;max-width:82vw}.scene-art{position:absolute;right:-32vw;top:20%;width:88vw;height:52vh;opacity:.68}.scene-nav{grid-template-columns:repeat(4,1fr);gap:0}.scene-pill{font-size:0;padding:18px 4px 0}.scene-pill span{font-size:8px;margin:0}.scene-pill.active::after{margin-top:12px}.work{padding-top:90px}.work-head{padding:0 20px 50px;grid-template-columns:1fr}.work-head h2{font-size:clamp(52px,13vw,86px)}.work-intro{max-width:90%}.projects-track{padding:0 20px 18px}.project-card{width:86vw;height:65svh;min-height:510px}.project-bottom{align-items:flex-start;flex-direction:column;gap:10px}.project-bottom span{text-align:left}.work-foot{padding:20px 20px 80px}.services-grid{padding:90px 20px}.services-head{grid-template-columns:1fr;gap:40px;padding-bottom:55px}.services-head h2{font-size:clamp(58px,15vw,105px)}.service-row{grid-template-columns:36px 1fr 36px;min-height:128px}.service-row p{grid-column:2;font-size:12px;margin-top:-22px;padding-bottom:18px}.service-arrow{grid-column:3;grid-row:1;width:34px;height:34px}.service-row h3{font-size:clamp(26px,7.2vw,44px)}.process{padding:90px 20px;grid-template-columns:1fr;gap:30px}.process-sticky{position:relative;top:auto}.process-sticky h2{margin:48px 0 28px;font-size:clamp(62px,15vw,100px)}.process-steps{padding-top:40px}.process-steps article{min-height:240px;grid-template-columns:52px 1fr}.process-steps h3{font-size:clamp(42px,12vw,76px)}.signal{height:92svh;min-height:650px}.signal-content{padding:0 20px}.signal-word span{font-size:clamp(60px,16.7vw,122px)}.signal-orb{width:100vw}.contact{padding:90px 20px 24px}.contact-title{font-size:clamp(72px,20vw,130px)}.contact-grid{grid-template-columns:1fr 1fr}.contact-round{justify-self:end}.contact-top>span{display:none}footer{flex-wrap:wrap;gap:18px}footer span:nth-child(2){display:none}.menu-inner{padding:110px 20px 30px}.menu-links a{font-size:clamp(44px,14vw,84px)}
}

@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.cursor-dot,.cursor-ring,#field{display:none}}


/* --- Brand logo --- */
.brand { gap: 0; }
.brand-logo-shell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 176px;
  height: 48px;
  padding: 7px 10px 6px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(5,5,5,.72);
  backdrop-filter: blur(10px);
  border-radius: 999px;
  box-shadow: 0 8px 28px rgba(0,0,0,.14);
}
.brand-logo-shell img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1494/450;
  object-fit:contain;
}
.nav.light-mode .brand-logo-shell { border-color: rgba(255,255,255,.09); }

/* --- SEO / local-intent editorial section --- */
.seo-intro {
  padding: 40px 4vw 0;
  overflow: hidden;
  border-top: 1px solid rgba(0,0,0,.13);
}
.seo-intro-grid {
  min-height: 82vh;
  display:grid;
  grid-template-columns: .75fr 1.45fr;
  grid-template-rows:auto 1fr;
  gap: 7vh 8vw;
  align-items:start;
  padding: 90px 0 110px;
}
.seo-intro-kicker {
  display:flex;
  flex-direction:column;
  gap:22px;
}
.seo-intro-kicker>span {
  font: 400 10px/1.5 var(--mono);
  letter-spacing:.1em;
  color:#777;
}
.seo-intro h2 {
  grid-column:2;
  margin:0;
  max-width: 1100px;
  font-size:clamp(55px,7.4vw,126px);
  line-height:.87;
  letter-spacing:-.066em;
  font-weight:520;
}
.seo-intro h2 em {
  font-family:var(--serif);
  font-weight:500;
  color:var(--orange);
}
.seo-intro-copy {
  grid-column:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4vw;
  max-width:1000px;
}
.seo-intro-copy p {
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#474747;
}
.seo-intro-copy strong { color:#111; font-weight:600; }
.seo-marquee {
  border-top:1px solid rgba(0,0,0,.18);
  border-bottom:1px solid rgba(0,0,0,.18);
  overflow:hidden;
  margin:0 -4vw;
}
.seo-marquee-track {
  width:max-content;
  min-height:88px;
  display:flex;
  align-items:center;
  gap:28px;
  padding-left:28px;
  animation:seoMarquee 28s linear infinite;
  will-change:transform;
}
.seo-marquee-track span {
  white-space:nowrap;
  font-size:clamp(22px,2.8vw,44px);
  letter-spacing:-.045em;
  font-weight:570;
}
.seo-marquee-track i {
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--orange);
  flex:0 0 8px;
}
@keyframes seoMarquee { to { transform:translateX(-50%); } }

/* --- FAQ --- */
.faq {
  padding: 120px 4vw 140px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:8vw;
}
.faq-head { position:sticky; top:125px; align-self:start; }
.faq-head h2 {
  margin:70px 0 0;
  font-size:clamp(62px,7vw,118px);
  line-height:.84;
  letter-spacing:-.07em;
  font-weight:540;
}
.faq-list { border-top:1px solid rgba(0,0,0,.24); }
.faq-list details { border-bottom:1px solid rgba(0,0,0,.24); }
.faq-list summary {
  list-style:none;
  position:relative;
  padding:31px 64px 31px 0;
  cursor:pointer;
  font-size:clamp(22px,2.2vw,36px);
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:520;
}
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::before,
.faq-list summary::after {
  content:"";
  position:absolute;
  right:7px;
  top:50%;
  width:22px;
  height:1px;
  background:#111;
  transition:transform .3s ease;
}
.faq-list summary::after { transform:rotate(90deg); }
.faq-list details[open] summary::after { transform:rotate(0deg); }
.faq-list p {
  margin: -4px 0 32px;
  max-width:720px;
  color:#555;
  font-size:14px;
  line-height:1.75;
}

/* --- Contact button + project form --- */
.contact-title-button {
  position:relative;
  display:inline;
  border:0;
  padding:0;
  margin:0;
  background:none;
  font:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  color:inherit;
  text-align:left;
}
.contact-title-button::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:.04em;
  height:.035em;
  background:#111;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.contact-title-button:hover::after { transform:scaleX(1); transform-origin:left; }

.project-modal {
  position:fixed;
  inset:0;
  z-index:1500;
  pointer-events:none;
  visibility:hidden;
}
.project-modal.open { pointer-events:auto; visibility:visible; }
.project-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.74);
  opacity:0;
  transition:opacity .45s ease;
  backdrop-filter:blur(6px);
}
.project-modal.open .project-modal-backdrop { opacity:1; }
.project-modal-panel {
  position:absolute;
  top:0;
  right:0;
  width:min(920px,92vw);
  height:100%;
  overflow:auto;
  padding:60px clamp(28px,5vw,72px);
  background:var(--paper);
  color:#111;
  transform:translateX(103%);
  transition:transform .72s cubic-bezier(.16,1,.3,1);
  box-shadow:-40px 0 90px rgba(0,0,0,.28);
}
.project-modal.open .project-modal-panel { transform:translateX(0); }
.project-modal-head {
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:flex-start;
  border-bottom:1px solid rgba(0,0,0,.2);
  padding-bottom:38px;
}
.project-modal-head h2 {
  margin:32px 0 0;
  font-size:clamp(50px,6vw,92px);
  line-height:.82;
  letter-spacing:-.065em;
  font-weight:560;
}
.project-close {
  border:1px solid #111;
  border-radius:999px;
  padding:11px 15px;
  display:flex;
  align-items:center;
  gap:12px;
  font:500 9px/1 var(--mono);
  letter-spacing:.1em;
}
.project-close span { font-size:18px; line-height:0; }
.project-form { padding:42px 0 24px; }
.form-row {
  display:block;
  border-bottom:1px solid rgba(0,0,0,.19);
}
.form-row.two {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
.form-row.two label { border-bottom:1px solid rgba(0,0,0,.19); }
.form-row.two { border-bottom:0; }
.project-form label {
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:20px 0;
}
.project-form label>span {
  font:500 9px/1.2 var(--mono);
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#777;
}
.project-form input,
.project-form select,
.project-form textarea {
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#111;
  font:500 clamp(18px,2vw,28px)/1.3 var(--sans);
  letter-spacing:-.025em;
  padding:4px 0 2px;
  resize:vertical;
}
.project-form input::placeholder,
.project-form textarea::placeholder { color:#aaa; opacity:1; }
.project-form select { cursor:pointer; }
.project-form-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding-top:32px;
}
.project-form-foot p {
  margin:0;
  max-width:360px;
  font:400 10px/1.5 var(--mono);
  color:#676767;
}
.project-form-foot p.success { color:#1f6b34; }
.project-form-foot p.error { color:#a31a1a; }
.submit-project {
  min-width:190px;
  min-height:64px;
  padding:0 22px;
  border-radius:999px;
  background:#111;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
}
.submit-project span { font:500 10px/1 var(--mono); letter-spacing:.11em; }
.submit-project svg { width:21px; fill:none; stroke:currentColor; stroke-width:1.5; }
.submit-project:hover { background:var(--orange); color:#111; }
.submit-project[disabled] { opacity:.55; pointer-events:none; }

.noscript-contact {
  position:fixed;
  left:16px;
  bottom:16px;
  z-index:2000;
  max-width:420px;
  padding:14px 16px;
  background:#fff;
  color:#111;
  font:13px/1.5 var(--sans);
  box-shadow:0 10px 40px rgba(0,0,0,.25);
}

@media (max-width:900px){
  .brand-logo-shell{width:148px;height:42px;padding:6px 9px}
  .seo-intro{padding:0 20px}
  .seo-intro-grid{min-height:auto;grid-template-columns:1fr;gap:45px;padding:84px 0 78px}
  .seo-intro h2,.seo-intro-copy{grid-column:1}
  .seo-intro h2{font-size:clamp(52px,13vw,84px)}
  .seo-intro-copy{grid-template-columns:1fr;gap:22px}
  .seo-marquee{margin:0 -20px}
  .seo-marquee-track{min-height:72px}
  .faq{padding:90px 20px 100px;grid-template-columns:1fr;gap:50px}
  .faq-head{position:relative;top:auto}
  .faq-head h2{margin-top:42px}
  .project-modal-panel{width:100vw;padding:34px 20px}
  .project-modal-head{gap:20px}
  .project-modal-head h2{font-size:clamp(50px,14vw,84px)}
  .project-close{padding:10px 12px}
  .form-row.two{grid-template-columns:1fr;gap:0}
  .project-form-foot{align-items:flex-start;flex-direction:column}
  .submit-project{width:100%}
}

@media (prefers-reduced-motion: reduce){
  .seo-marquee-track{animation:none}
}

.menu-topline{display:flex;align-items:center;justify-content:space-between;gap:24px}
.menu-logo{display:block;width:min(270px,34vw);height:auto;filter:drop-shadow(0 10px 24px rgba(0,0,0,.12))}
@media(max-width:900px){.menu-logo{width:180px}}
