:root {
  --paper: #f1efe8;
  --ink: #111111;
  --graphite: #6c6962;
  --accent: #ff3b18;
  --line: rgba(17,17,17,.18);
  --space: clamp(5rem, 10vw, 10rem);
  --pad: clamp(1rem, 2vw, 2rem);
  --ease: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.25;
  overflow-x: hidden;
}
body.no-motion * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.project-trigger:focus-visible, .anatomy-map button:focus-visible { box-shadow:0 0 0 4px rgba(255,59,24,.12); }
h1, h2, h3, h4, h5, h6 {
  text-shadow:
    0 1px 0 rgba(255,255,255,.48),
    0 3px 7px rgba(17,17,17,.13),
    0 10px 24px rgba(17,17,17,.10);
}
p, .lead, .project-meta, .brand-meta, .eyebrow, .hero-kicker, .project-browser-url, .contact-link, .about-person-tag span, .about-person-tag em {
  text-shadow:
    0 1px 0 rgba(255,255,255,.40),
    0 2px 5px rgba(17,17,17,.10),
    0 6px 14px rgba(17,17,17,.07);
}
.signature-band *, .about-portrait-art *, .project-visual *, .contact:hover * {
  text-shadow:
    0 1px 0 rgba(255,255,255,.06),
    0 3px 10px rgba(0,0,0,.34),
    0 8px 22px rgba(0,0,0,.22);
}
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
::selection { background: var(--accent); color: white; }

.cursor-dot {
  position: fixed;
  z-index: 1000;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--accent);
  transform: translate(-50%, -50%);
  pointer-events: none;
  mix-blend-mode: multiply;
  transition: width .12s var(--ease), height .12s var(--ease), opacity .12s;
}
.cursor-dot.is-active { width: 22px; height: 22px; opacity: .32; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem var(--pad);
  transition: padding .35s var(--ease), background .35s, backdrop-filter .35s;
}
.site-header.scrolled { background: rgba(241,239,232,.86); backdrop-filter: blur(16px); }
.brand { display:inline-flex; align-items:center; gap:.72rem; font-weight:900; letter-spacing:-.035em; font-size:.9rem; text-transform:uppercase; }
.brand-mark { position:relative; width:58px; height:50px; display:block; flex:none; transform:translateZ(0); overflow:visible; }
.brand-mark .bm-d,
.brand-mark .bm-o,
.brand-mark .bm-axis,
.brand-mark .bm-node { position:absolute; transition:transform .45s cubic-bezier(.16,1,.3,1), opacity .35s var(--ease), box-shadow .45s cubic-bezier(.16,1,.3,1); }
.brand-mark .bm-d,
.brand-mark .bm-o {
  font-weight:900; line-height:.72; letter-spacing:-.14em; color:transparent; font-family:Inter, ui-sans-serif, system-ui, sans-serif;
  -webkit-text-stroke:2.2px currentColor; text-transform:uppercase;
}
.brand-mark .bm-d { font-size:38px; left:3px; top:10px; color:transparent; -webkit-text-stroke-color:rgba(17,17,17,.92); transform:rotate(-5deg); }
.brand-mark .bm-o { font-size:36px; left:26px; top:13px; color:transparent; -webkit-text-stroke-color:var(--accent); transform:rotate(6deg); }
.brand-mark .bm-axis { left:31px; top:7px; bottom:7px; width:1.5px; background:linear-gradient(transparent,var(--accent) 18%,var(--accent) 82%,transparent); transform:rotate(11deg); transform-origin:center; }
.brand-mark .bm-node { width:6px; height:6px; border-radius:50%; background:var(--ink); box-shadow:0 0 0 4px rgba(17,17,17,.06); }
.brand-mark .bm-node.n1 { left:14px; top:12px; }
.brand-mark .bm-node.n2 { right:10px; top:19px; background:var(--accent); box-shadow:0 0 0 4px rgba(255,59,24,.12); }
.brand-mark .bm-node.n3 { left:31px; bottom:8px; width:4px; height:4px; }
.brand-mark::before { content:''; position:absolute; inset:0; border:1px solid rgba(17,17,17,.08); border-radius:40% 60% 46% 54% / 52% 42% 58% 48%; transform:rotate(-7deg); opacity:.18; }
.brand-word { display:flex; flex-direction:column; align-items:flex-start; gap:.08rem; white-space:nowrap; line-height:1; position:relative; padding:.08rem 0; transition:color .45s var(--ease), background .55s cubic-bezier(.16,1,.3,1), padding .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1), border-color .45s var(--ease), box-shadow .55s cubic-bezier(.16,1,.3,1), border-radius .55s cubic-bezier(.16,1,.3,1); }
.brand-word b { font:inherit; transition:transform .55s cubic-bezier(.16,1,.3,1); }
.brand-meta i { color:var(--accent); font-style:normal; font-weight:800; letter-spacing:.14em; }
.brand-meta { font:400 .62rem/1.1 Inter, ui-sans-serif, system-ui, sans-serif; text-transform:none; letter-spacing:.08em; color:var(--graphite); transition:color .4s var(--ease), opacity .4s var(--ease), transform .55s cubic-bezier(.16,1,.3,1); }
.brand:hover .brand-mark .bm-o { transform:translate3d(-1px,1px,0) rotate(6deg) scale(1.05); }
.brand:hover .brand-mark .bm-node.n2 { transform:scale(1.16); box-shadow:0 0 0 7px rgba(255,59,24,.10); }
.brand:hover .brand-mark .bm-axis { transform:rotate(13deg) scaleY(1.04); }
@keyframes logoPulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.08); } }
.desktop-nav { display: flex; gap: 1.8rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }
.desktop-nav a { position: relative; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-4px; height:1px; background:var(--accent); transition:right .25s var(--ease); }
.desktop-nav a:hover::after { right:0; }
.menu-toggle { display:none; border:0; background:none; text-transform:uppercase; font-size:.72rem; letter-spacing:.12em; cursor:pointer; }
.mobile-menu {
  position: fixed; inset: 0; z-index: 90; padding: 7rem var(--pad) 2rem;
  background: var(--ink); color: var(--paper);
  flex-direction: column; justify-content: center; gap: .6rem;
}
.mobile-menu:not([hidden]) { display:flex; }
.mobile-menu a { font-size: clamp(3rem, 14vw, 6rem); letter-spacing: -.06em; text-transform: uppercase; }

.bg-motifs { position:fixed; inset:0; z-index:-4; overflow:hidden; pointer-events:none; isolation:isolate; --mx:50vw; --my:50vh; contain:paint; }
.bg-motifs::before,.bg-network,.orbital{will-change:transform;}
.bg-motifs::before { content:''; position:absolute; inset:-18%; background:
  conic-gradient(from 210deg at 18% 22%, rgba(255,59,24,.10), transparent 15%, transparent 54%, rgba(255,59,24,.06) 66%, transparent 82%),
  conic-gradient(from 30deg at 84% 28%, rgba(17,17,17,.05), transparent 18%, transparent 72%, rgba(255,59,24,.05) 84%, transparent 100%),
  radial-gradient(circle at 22% 24%, rgba(255,59,24,.10), transparent 0 17%),
  radial-gradient(circle at 76% 68%, rgba(17,17,17,.07), transparent 0 20%),
  radial-gradient(circle at 52% 52%, rgba(255,59,24,.05), transparent 0 18%);
  filter:blur(18px) saturate(108%);
  transform:translate3d(calc((var(--mx) - 50vw) / 95), calc((var(--my) - 50vh) / 100), 0);
  animation:bgAurora 34s cubic-bezier(.45,0,.2,1) infinite alternate;
}
.bg-motifs::after { content:''; position:absolute; inset:-8%; background-image:linear-gradient(rgba(17,17,17,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(17,17,17,.04) 1px, transparent 1px); background-size:clamp(82px,9vw,118px) clamp(82px,9vw,118px); transform:perspective(1400px) rotateX(70deg) translateY(30%); mask-image:linear-gradient(to bottom, transparent 0, #000 22%, #000 78%, transparent 100%); opacity:.38; animation:gridTilt 42s cubic-bezier(.45,0,.2,1) infinite alternate; }
.bg-mesh { position:absolute; inset:-20%; background:
  radial-gradient(circle at 18% 32%, rgba(255,59,24,.18), transparent 0 12%),
  radial-gradient(circle at 74% 18%, rgba(17,17,17,.10), transparent 0 16%),
  radial-gradient(circle at 64% 70%, rgba(255,59,24,.12), transparent 0 12%),
  radial-gradient(circle at 34% 78%, rgba(17,17,17,.08), transparent 0 14%);
  filter:blur(50px); opacity:.55; mix-blend-mode:multiply; animation:bgBlob 38s cubic-bezier(.45,0,.2,1) infinite alternate; }
.bg-network { position:absolute; inset:0; width:100%; height:100%; opacity:.36; transform:translate3d(calc((var(--mx) - 50vw) / 135), calc((var(--my) - 50vh) / 135), 0); }
.bg-network .net-line, .bg-network .net-curve { fill:none; stroke:rgba(17,17,17,.13); stroke-width:1.15; stroke-linecap:round; stroke-dasharray:9 11; animation:dashFlow 28s linear infinite; }
.bg-network .net-accent { fill:none; stroke:rgba(255,59,24,.18); stroke-width:1.4; stroke-linecap:round; stroke-dasharray:10 18; animation:dashFlow 22s linear infinite reverse; }
.bg-network .net-node { fill:rgba(17,17,17,.14); }
.bg-network .net-node.hot { fill:rgba(255,59,24,.28); }
.orbital { position:absolute; border:1px solid rgba(17,17,17,.10); border-radius:50%; box-shadow:inset 0 0 0 1px rgba(255,255,255,.24); transform:translate3d(calc((var(--mx) - 50vw) / 170), calc((var(--my) - 50vh) / 170), 0); }
.orbital::before, .orbital::after { content:''; position:absolute; border-radius:50%; background:rgba(255,59,24,.24); }
.orbital::before { width:12px; height:12px; left:calc(50% - 6px); top:-6px; box-shadow:0 0 0 6px rgba(255,59,24,.06); }
.orbital::after { width:7px; height:7px; left:calc(50% - 3px); bottom:-4px; background:rgba(17,17,17,.18); }
.orbital .core { position:absolute; inset:50% auto auto 50%; width:10px; height:10px; margin:-5px 0 0 -5px; border-radius:50%; background:rgba(17,17,17,.16); box-shadow:0 0 0 10px rgba(17,17,17,.03); }
.orbital.orb-a { width:220px; height:220px; left:7%; top:32%; animation:orbitalSpin 34s linear infinite; }
.orbital.orb-b { width:160px; height:160px; right:14%; top:20%; animation:orbitalSpinReverse 30s linear infinite; }
.orbital.orb-c { width:300px; height:300px; right:20%; bottom:6%; animation:orbitalSpin 44s linear infinite; opacity:.85; }
.motif { position:absolute; color:rgba(17,17,17,.17); will-change:transform; animation:motifFloat var(--dur, 28s) cubic-bezier(.45,0,.2,1) infinite alternate; filter:drop-shadow(0 10px 22px rgba(17,17,17,.045)); mix-blend-mode:multiply; }
.motif::before, .motif::after { content:''; position:absolute; }
.motif.intent,.motif.reject,.motif.direction,.motif.version,.motif.question { font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.motif.intent::before { content:'●  INTENT'; position:static; font-size:clamp(.8rem,1.15vw,1.15rem); }
.motif.intent::after { width:86px; height:1px; background:rgba(255,59,24,.28); left:0; top:1.7rem; box-shadow:86px 0 0 rgba(17,17,17,.12); }
.motif.reject::before { content:'×  NORMAL'; position:static; font-size:clamp(1rem,1.6vw,1.65rem); text-decoration:line-through; text-decoration-color:rgba(255,59,24,.78); text-decoration-thickness:2px; }
.motif.reject::after { content:'REJECTED / 03'; position:absolute; left:.15rem; top:2.1rem; font:600 .48rem/1 monospace; letter-spacing:.16em; color:rgba(255,59,24,.62); }
.motif.direction::before { content:'↳  LOOK AGAIN'; position:static; font-size:clamp(.8rem,1.15vw,1.1rem); }
.motif.direction::after { content:'DO / ALTER'; left:1.65rem; top:1.55rem; font:600 .46rem/1 monospace; letter-spacing:.16em; color:rgba(255,59,24,.6); white-space:nowrap; }
.motif.version::before { content:'V03 / BETTER'; position:static; font:800 clamp(.8rem,1.2vw,1.25rem)/1 Inter,sans-serif; }
.motif.version::after { content:''; width:56px; height:1px; background:rgba(17,17,17,.2); left:0; top:1.65rem; box-shadow:22px 7px 0 rgba(255,59,24,.34); }
.motif.question::before { content:'WHY?'; position:static; font-size:clamp(2rem,4vw,4.8rem); letter-spacing:-.08em; color:rgba(17,17,17,.09); -webkit-text-stroke:1px rgba(17,17,17,.12); }
.motif.frame { width:170px; height:120px; border:1px solid rgba(17,17,17,.13); border-radius:22px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.35); }
.motif.frame::before { content:'OBJECT / 01'; left:18px; top:17px; font:700 .48rem/1 monospace; letter-spacing:.15em; color:rgba(17,17,17,.35); }
.motif.frame::after { left:18px; right:18px; bottom:20px; height:1px; background:rgba(17,17,17,.12); box-shadow:0 -22px 0 rgba(17,17,17,.08); }
.motif.process { width:180px; height:60px; }
.motif.process::before { content:''; left:15px; right:15px; top:29px; height:1px; background:linear-gradient(90deg,rgba(17,17,17,.22),rgba(255,59,24,.4)); }
.motif.process::after { content:'●────────○'; position:absolute; left:0; top:8px; font:600 1.1rem/1 monospace; letter-spacing:.02em; color:rgba(17,17,17,.24); white-space:nowrap; }
.motif.layers { width:140px; height:120px; }
.motif.layers::before, .motif.layers::after { content:''; inset:0; border:1px solid rgba(17,17,17,.12); border-radius:16px; }
.motif.layers::before { transform:translate(0,0); }
.motif.layers::after { transform:translate(18px,18px); }
.motif.layers span { position:absolute; inset:36px 22px 28px 40px; border:1px dashed rgba(255,59,24,.22); border-radius:12px; }
.motif.m1 { left:4%; top:10%; --dur:34s; }
.motif.m2 { right:6%; top:11%; --dur:31s; }
.motif.m3 { left:9%; top:62%; --dur:38s; }
.motif.m4 { right:8%; top:52%; --dur:36s; }
.motif.m5 { left:44%; top:16%; --dur:29s; }
.motif.m6 { left:53%; top:74%; --dur:35s; }
.motif.m7 { right:31%; top:78%; --dur:32s; }
@keyframes motifFloat { 0% { transform:translate3d(0,0,0) rotate(0deg); } 50% { transform:translate3d(16px,-18px,0) rotate(4deg); } 100% { transform:translate3d(-12px,14px,0) rotate(-4deg); } }
@keyframes bgAurora { 0% { transform:translate3d(calc((var(--mx) - 50vw) / 95), calc((var(--my) - 50vh) / 100), 0) rotate(0deg) scale(1); } 100% { transform:translate3d(calc((var(--mx) - 50vw) / 110), calc((var(--my) - 50vh) / 115), 0) rotate(10deg) scale(1.08); } }
@keyframes gridTilt { 0% { transform:perspective(1400px) rotateX(70deg) translateY(28%) rotateZ(0deg); } 100% { transform:perspective(1400px) rotateX(70deg) translateY(32%) rotateZ(-2deg); } }
@keyframes bgBlob { 0% { transform:translate3d(-2%, 0, 0) scale(1); } 100% { transform:translate3d(3%, -2%, 0) scale(1.08); } }
@keyframes dashFlow { to { stroke-dashoffset:-220; } }
@keyframes orbitalSpin { to { transform:translate3d(calc((var(--mx) - 50vw) / 170), calc((var(--my) - 50vh) / 170), 0) rotate(360deg); } }
@keyframes orbitalSpinReverse { to { transform:translate3d(calc((var(--mx) - 50vw) / 170), calc((var(--my) - 50vh) / 170), 0) rotate(-360deg); } }

.section-grid {
  display: grid;
  grid-template-columns: minmax(120px, 16vw) 1fr;
  gap: clamp(2rem, 5vw, 7rem);
  padding: var(--space) var(--pad);
  border-top: 1px solid var(--line);
}
.section-label {
  margin:0;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--graphite);
}

.hero {
  min-height: 100svh;
  padding-top: 7rem;
  border-top: 0;
  align-content: end;
  align-items:end;
  grid-template-columns: minmax(110px, 14vw) minmax(0, 1.02fr) minmax(340px, .98fr);
  grid-template-rows: auto auto 1fr auto;
}
.hero .eyebrow { grid-column: 1 / span 2; grid-row:1; font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; color:var(--graphite); }
.hero-edition { grid-column:3; grid-row:1; justify-self:end; align-self:start; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; padding:.65rem .85rem; border:1px solid rgba(17,17,17,.12); background:rgba(241,239,232,.78); backdrop-filter:blur(8px); box-shadow:0 18px 40px rgba(17,17,17,.06); transform:rotate(-4deg); }
.hero-title { grid-column: 1 / span 2; grid-row:2; align-self:center; margin:0; max-width:12ch; font-size: clamp(4rem, 10.4vw, 10.8rem); line-height:.84; letter-spacing:-.075em; font-weight:900; text-transform:uppercase; position:relative; z-index:3; }
.hero-title span { display:block; --hx:0px; --hy:0px; transform:translate(var(--hx),var(--hy)); }
.switch-word {
  color:var(--accent);
  display:block;
  width:max-content;
  min-width:12.4ch;
  min-height:.86em;
  white-space:nowrap;
  cursor:crosshair;
  transform-origin:left center;
}
.switch-word.is-alt { letter-spacing:-.085em; transform:translate(var(--hx),var(--hy)) scaleX(.88); }
.hero-bottom { grid-column: 2; grid-row:3; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:1.15rem; max-width:min(38rem, 100%); position:relative; z-index:4; }
.hero-bottom > div:first-child { max-width:33rem; padding:1rem 1.2rem 1rem 0; background:linear-gradient(90deg, rgba(241,239,232,.96), rgba(241,239,232,.82) 72%, rgba(241,239,232,0)); backdrop-filter:blur(5px); }
.hero-bottom > div:first-child::before { content:''; position:absolute; left:-1rem; top:.15rem; bottom:.15rem; width:1px; background:linear-gradient(var(--accent), transparent); }
.hero-bottom p { max-width: 30rem; margin:0; font-size: clamp(1rem, 1.8vw, 1.45rem); }
.text-link { display:inline-flex; align-items:center; gap:.6rem; padding:.92rem 1rem; border:1px solid rgba(17,17,17,.12); background:rgba(17,17,17,.95); color:var(--paper); box-shadow:0 18px 36px rgba(17,17,17,.12); font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; white-space:nowrap; }
.text-link span { color:var(--accent); }
.hero-index { grid-column:1; grid-row:4; align-self:end; font-size:.68rem; letter-spacing:.12em; color:var(--graphite); }

.manifesto h2, .method h2, .lab h2, .about h2 {
  margin:0;
  font-size:clamp(3.2rem, 7.5vw, 8rem);
  line-height:.88;
  letter-spacing:-.06em;
  font-weight:850;
  text-transform:uppercase;
}
.manifesto h2 em { font-family: Georgia, 'Times New Roman', serif; font-weight:400; text-transform:none; color:var(--accent); }
.manifesto-note { margin: 2.5rem 0 0; font-size:1.1rem; }

.object-language-key { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:2rem; max-width:48rem; }
.object-language-key span { display:inline-flex; align-items:center; gap:.42rem; padding:.52rem .66rem; border:1px solid rgba(17,17,17,.12); background:rgba(241,239,232,.62); backdrop-filter:blur(7px); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; box-shadow:0 8px 20px rgba(17,17,17,.035); }
.object-language-key b { color:var(--accent); font-size:.82rem; line-height:1; }
@media (max-width:560px){ .object-language-key { gap:.4rem; } .object-language-key span { font-size:.5rem; padding:.45rem .52rem; } }


.project-list { border-top: 1px solid var(--ink); }
.project { border-bottom: 1px solid var(--ink); }
.project-trigger {
  width:100%; border:0; background:transparent; cursor:pointer;
  display:grid; grid-template-columns: 60px 2fr 2fr 70px 30px; gap:1rem; align-items:center;
  padding: 1.5rem 0; text-align:left;
}
.project-title { font-size: clamp(1.4rem, 2.8vw, 2.6rem); letter-spacing:-.04em; font-weight:750; }
.project-no,.project-meta,.project-year { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.project-meta { color:var(--graphite); }
.project-arrow { font-size:1.3rem; transition:transform .3s var(--ease); }
.project-trigger[aria-expanded="true"] .project-arrow { transform: rotate(45deg); }
.project-panel { display:grid; grid-template-columns: 1.2fr .8fr; gap:2rem; max-height:0; overflow:hidden; opacity:0; transition:max-height .7s var(--ease), opacity .4s; }
.project.is-open .project-panel { max-height:900px; opacity:1; padding-bottom:2rem; }
.project-visual { min-height:340px; position:relative; overflow:hidden; background:var(--ink); color:var(--paper); }
.visual-one, .visual-two, .visual-three { padding:1rem; background:linear-gradient(180deg,#171717,#101010); }
.project-shot {
  position:relative; width:100%; height:100%; min-height:310px; overflow:hidden; border-radius:20px; background:#0d0d0d;
  border:1px solid rgba(255,255,255,.08); box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.project-shot::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(255,255,255,.03), transparent 22%); z-index:1; pointer-events:none; }
.project-shot img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.project-browser-bar {
  position:absolute; left:0; right:0; top:0; height:34px; z-index:2; display:flex; align-items:center; gap:.55rem; padding:0 .85rem;
  background:rgba(17,17,17,.85); backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.08);
}
.project-browser-dots { display:flex; gap:.38rem; }
.project-browser-dots span { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.25); }
.project-browser-url { font-size:.55rem; letter-spacing:.1em; text-transform:uppercase; color:#c7c1b7; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-shot-tag {
  position:absolute; left:1rem; bottom:1rem; z-index:2; display:inline-flex; gap:.5rem; align-items:center;
  padding:.55rem .72rem; background:rgba(241,239,232,.88); border:1px solid rgba(17,17,17,.08); backdrop-filter:blur(10px);
  color:var(--ink); font-size:.56rem; letter-spacing:.14em; text-transform:uppercase; box-shadow:0 14px 34px rgba(17,17,17,.12);
}
.project-shot-tag::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 6px rgba(255,59,24,.12); }
.project-shot-outline {
  position:absolute; right:.95rem; top:3.4rem; z-index:2; width:110px; aspect-ratio:1; border:1px solid rgba(255,59,24,.3); border-radius:24px; transform:rotate(12deg); opacity:.7;
}
.project-shot-outline::before, .project-shot-outline::after { content:''; position:absolute; }
.project-shot-outline::before { inset:16px; border:1px dashed rgba(255,255,255,.18); border-radius:18px; }
.project-shot-outline::after { width:14px; height:14px; border-radius:50%; background:var(--accent); right:14px; bottom:14px; }
.project-tags { display:flex; flex-wrap:wrap; gap:.45rem; margin:1.1rem 0 1.2rem; }
.project-tags span { border:1px solid var(--line); padding:.4rem .55rem; font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; }
.project-link { display:inline-flex; align-items:center; gap:.55rem; margin-top:1.2rem; font-size:.67rem; letter-spacing:.12em; text-transform:uppercase; border-bottom:1px solid var(--ink); padding-bottom:.25rem; }
.project-link:hover { color:var(--accent); border-color:var(--accent); }
.visual-three { display:flex; align-items:center; justify-content:space-around; background:#151515; }
.type-stack { font-size:clamp(4rem,8vw,8rem); font-weight:900; line-height:.67; letter-spacing:-.08em; }
.type-stack span { color:var(--accent); font-family:Georgia,serif; font-style:italic; font-weight:400; }
.tiny-code { position:absolute; right:1rem; bottom:1rem; font: 11px/1.2 monospace; letter-spacing:.12em; }
.project-copy { align-self:end; padding: 0 0 .5rem; }
.project-copy p { font-size:1.05rem; max-width:32rem; }
.project-status { font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; color:var(--graphite); }

.method-list { list-style:none; padding:0; margin:4rem 0 0; border-top:1px solid var(--ink); }
.method-list li { display:grid; grid-template-columns:70px 1fr; gap:1rem; padding:1.4rem 0; border-bottom:1px solid var(--line); align-items:center; }
.method-list span { color:var(--accent); font-size:.75rem; }
.method-list p { margin:0; font-size:clamp(1.4rem,3vw,3rem); letter-spacing:-.04em; }

.anatomy-wrap { display:grid; grid-template-columns:1fr 300px; gap:4rem; align-items:center; }
.anatomy-map { text-align:center; font-weight:700; }
.anatomy-map button { border:1px solid var(--ink); background:transparent; padding:.9rem 1rem; text-transform:uppercase; font-size:.72rem; letter-spacing:.12em; cursor:pointer; transition:background .25s,color .25s,transform .25s; }
.anatomy-map button:hover,.anatomy-map button:focus { background:var(--ink); color:var(--paper); transform:translateY(-2px); }
.map-row { display:flex; align-items:center; justify-content:center; gap:.65rem; margin:.7rem 0; }
.map-arrow { display:block; margin:.5rem 0; color:var(--accent); }
.anatomy-copy { margin:0; font-family:Georgia,serif; font-size:1.4rem; line-height:1.35; }

.service-list { border-top:1px solid var(--ink); }
.service { display:grid; grid-template-columns:60px 1.4fr 1fr; align-items:center; gap:1rem; padding:1.5rem 0; border-bottom:1px solid var(--line); transition:padding .25s var(--ease), background .25s; }
.service:hover { padding-left:1rem; background:rgba(255,59,24,.05); }
.service span { color:var(--accent); font-size:.72rem; }
.service h3 { margin:0; font-size:clamp(1.5rem,3vw,3rem); letter-spacing:-.04em; }
.service p { margin:0; color:var(--graphite); }

.lab { transition:padding .5s var(--ease); }
.lab-head { display:flex; justify-content:space-between; gap:2rem; align-items:flex-end; }
.lab-head p { max-width:22rem; margin:0; }
.lab-controls { display:flex; flex-wrap:wrap; gap:.6rem; margin:2.5rem 0 1rem; }
.lab-controls button { border:1px solid var(--ink); background:transparent; padding:.7rem .9rem; cursor:pointer; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; }
.lab-controls button.active { background:var(--accent); color:white; border-color:var(--accent); }
.lab-stage { position:relative; min-height:420px; background:var(--ink); color:var(--paper); overflow:hidden; transition:all .65s cubic-bezier(.16,1,.3,1); }
.lab-number { position:absolute; top:1rem; right:1rem; color:var(--accent); font-size:.72rem; }
.lab-object { position:absolute; font-size:clamp(3rem,8vw,8rem); font-weight:900; letter-spacing:-.08em; line-height:.8; transition:all .7s cubic-bezier(.16,1,.3,1); }
.lab-object.one { left:5%; top:10%; }
.lab-object.two { left:32%; top:40%; }
.lab-object.three { right:4%; bottom:8%; }
body.lab-grid-break .lab-object.one { left:56%; top:7%; transform:rotate(8deg); }
body.lab-grid-break .lab-object.two { left:4%; top:51%; transform:rotate(-8deg); }
body.lab-grid-break .lab-object.three { right:22%; bottom:3%; transform:rotate(2deg); }
body.lab-type-loud .lab-object { font-size:clamp(5rem,12vw,13rem); }
body.lab-space-wide .lab { padding-top:16rem; padding-bottom:16rem; }

.about-content { display:grid; grid-template-columns:1.1fr .7fr; gap:2rem 3rem; }
.about-content h2 { grid-column:1 / -1; }
.portrait-placeholder { min-height:480px; background:var(--ink); color:var(--paper); display:grid; place-items:center; }
.portrait-placeholder span { text-align:center; color:var(--graphite); letter-spacing:.12em; font-size:.7rem; }
.about-copy { align-self:end; max-width:34rem; }
.about-copy .lead { font-size:clamp(1.6rem,3vw,3rem); letter-spacing:-.04em; }

.contact { min-height:88svh; background:var(--ink); color:var(--paper); padding: var(--space) var(--pad) 2rem; display:grid; grid-template-rows:auto 1fr auto; }
.contact .section-label { color:#8a8984; }
.contact-link { align-self:center; display:inline-block; font-size:clamp(4rem,11vw,11rem); line-height:.78; letter-spacing:-.08em; font-weight:900; }
.contact-link span { color:var(--accent); font-size:.45em; vertical-align:top; margin-left:.15em; }
.contact-bottom { display:flex; justify-content:space-between; gap:1rem; color:#8a8984; text-transform:uppercase; font-size:.62rem; letter-spacing:.11em; }

.reveal { opacity:0; transform:translateY(32px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in-view { opacity:1; transform:none; }

.section-grid > div:last-child, .project-panel, .anatomy-map, .lab-stage, .about-art, .contact-link, .service, .project-visual { position:relative; }
.project-panel, .anatomy-map, .lab-stage, .about-art { box-shadow:var(--shadow-soft); }
.project-visual, .service, .text-link, .project-link, .lab-controls button, .contact-link { transition:transform .32s var(--ease), box-shadow .32s var(--ease), background-color .32s var(--ease), color .32s var(--ease); }
.service { padding-left:1rem; padding-right:1rem; margin: .28rem 0; box-shadow:0 10px 24px rgba(17,17,17,.04); }
.service:hover { box-shadow:var(--shadow-soft); }
.project.is-open .project-panel { padding-top:.4rem; }
.project-visual { box-shadow:var(--shadow-dark), inset 0 0 0 1px rgba(255,255,255,.04); }
.project-visual::before, .lab-stage::before, .about-art::before { will-change:transform; }
.project-visual::after, .lab-stage::before, .about-art::after { pointer-events:none; }
.project-visual::after { content:''; position:absolute; inset:-40%; background:linear-gradient(120deg, transparent 38%, rgba(255,255,255,.10) 50%, transparent 62%); transform:translateX(-40%) rotate(10deg); animation:sheenDrift 14s cubic-bezier(.45,0,.2,1) infinite; mix-blend-mode:screen; }
.lab-stage::before { content:''; position:absolute; inset:auto -20% 14% -10%; height:180px; background:radial-gradient(circle, rgba(255,59,24,.20), transparent 0 55%); filter:blur(30px); opacity:.55; animation:glowShift 12s cubic-bezier(.45,0,.2,1) infinite alternate; }
.about-art::after { box-shadow: inset 0 -80px 120px rgba(255,59,24,.08); }
.text-link:hover, .project-link:hover, .lab-controls button:hover { transform:translateY(-2px); }
.contact-link { text-shadow:0 8px 30px rgba(0,0,0,.14); }
.contact-link:hover { transform:translateY(-4px); }
.hero-title span { transform-origin:left center; }
.hero-title span:first-child { animation:none !important; transform:none !important; }
.switch-word { position:relative; }
.switch-word::after { content:''; position:absolute; left:0; right:0; bottom:-.08em; height:10px; background:linear-gradient(90deg, rgba(255,59,24,.18), rgba(255,59,24,0)); z-index:-1; transform:scaleX(.38); transform-origin:left center; transition:transform .32s var(--ease); }
.switch-word:hover::after { transform:scaleX(1); }
.no-motion *, .no-motion *::before, .no-motion *::after { animation:none !important; transition:none !important; }
@keyframes sheenDrift { 0%,100% { transform:translateX(-48%) rotate(10deg); opacity:.12; } 50% { transform:translateX(38%) rotate(10deg); opacity:.32; } }
@keyframes glowShift { from { transform:translate3d(-3%, 0, 0); opacity:.42; } to { transform:translate3d(5%, -4%, 0); opacity:.68; } }
@keyframes titleDrift { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }

@media (max-width: 900px) {
  .desktop-nav { display:none; }
  .menu-toggle { display:block; }
  .section-grid { grid-template-columns:1fr; gap:2.5rem; }
  .hero { display:grid; grid-template-columns:1fr; grid-template-rows:auto auto auto auto auto; }
  .hero-title, .hero .eyebrow, .hero-bottom, .hero-index, .hero-kicker, .hero-edition { grid-column:1; }
  .hero-edition { justify-self:start; margin-top:-1rem; margin-bottom:.5rem; }
  .hero-bottom { flex-direction:column; align-items:flex-start; }
  .hero-bottom > div:first-child { max-width:100%; padding-right:0; background:linear-gradient(180deg, rgba(241,239,232,.92), rgba(241,239,232,.70)); }
  .hero-index { display:none; }
  .hero-figure { position:relative; grid-column:1; grid-row:auto; right:auto; bottom:auto; width:min(78vw, 460px); margin:1rem auto 0; }
  .hero-founder-tag { left:-.6rem; top:10%; }
  .hero-status { right:2%; bottom:4%; }
  .project-trigger { grid-template-columns:42px 1fr 32px; }
  .project-meta,.project-year { display:none; }
  .project-panel { grid-template-columns:1fr; }
  .anatomy-wrap { grid-template-columns:1fr; }
  .map-row { flex-wrap:wrap; }
  .service { grid-template-columns:45px 1fr; }
  .service p { grid-column:2; }
  .lab-head { flex-direction:column; align-items:flex-start; }
  .about-content { grid-template-columns:1fr; }
  .about-content h2 { grid-column:1; }
  .contact-bottom { flex-direction:column; }
}

@media (max-width: 560px) {
  :root { --pad: 1rem; --space: 5.5rem; }
  .cursor-dot { display:none; }
  .hero { padding-top:6rem; }
  .hero-title { font-size: clamp(3.7rem, 17vw, 6rem); max-width:9ch; }
  .switch-word { min-width:0; max-width:100%; }
  .switch-word.is-alt { letter-spacing:-.105em; transform:translate(var(--hx),var(--hy)) scaleX(.78); }
  .hero-edition { font-size:.52rem; padding:.52rem .62rem; }
  .hero-figure { width:min(88vw, 420px); }
  .hero-founder-tag { padding:.55rem .62rem; left:-.2rem; top:8%; transform:rotate(-3deg); }
  .hero-founder-tag strong { font-size:.62rem; }
  .hero-founder-tag span, .hero-founder-tag em { font-size:.54rem; }
  .hero-status { padding:.48rem .62rem; }
  .project-trigger { padding:1.2rem 0; }
  .project-visual { min-height:260px; }
  .anatomy-map button { width:100%; }
  .map-row { display:grid; grid-template-columns:1fr; }
  .map-row > span { transform:rotate(90deg); }
  .lab-stage { min-height:320px; }
  .portrait-placeholder { min-height:380px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
  .cursor-dot { display:none; }
  .bg-network, .bg-mesh, .orbital, .project-visual::after, .lab-stage::before { display:none !important; }
}



/* ===== V2 / SIGNATURE SYSTEM ===== */
body { cursor: none; }
a,button,[role="button"],.switch-word { cursor: none; }

.intro {
  position: fixed; inset:0; z-index:2000; background:var(--ink); color:var(--paper);
  display:grid; grid-template-rows:auto 1fr auto; padding:1.2rem var(--pad);
  transition: transform 1.15s cubic-bezier(.16,1,.3,1), visibility 0s linear 1.15s;
}
.intro.is-gone { transform:translateY(-100%); visibility:hidden; }
.intro-top,.intro-bottom { display:flex; justify-content:space-between; gap:1rem; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:#9d9b94; }
.intro-center { align-self:center; overflow:hidden; }
.intro-word { font-size:clamp(4rem,13vw,13rem); line-height:.78; letter-spacing:-.08em; font-weight:900; text-transform:uppercase; transform:translateY(110%); animation:introRise .95s .12s cubic-bezier(.16,1,.3,1) forwards; }
.intro-word i { font-family:Georgia,serif; font-weight:400; color:var(--accent); }
@keyframes introRise { to { transform:none; } }

.scroll-progress { position:fixed; z-index:160; right:0; top:0; width:3px; height:0; background:var(--accent); pointer-events:none; }

.cursor-ring {
  position:fixed; z-index:1001; width:48px; height:48px; border:1px solid rgba(17,17,17,.34); border-radius:50%;
  transform:translate(-50%,-50%); pointer-events:none; transition:width .22s cubic-bezier(.16,1,.3,1),height .22s cubic-bezier(.16,1,.3,1),background .22s,color .22s,border-color .22s;
  display:grid; place-items:center; font-size:.52rem; letter-spacing:.1em; text-transform:uppercase; color:transparent;
}
.cursor-ring.active { width:64px; height:64px; background:rgba(255,59,24,.88); border-color:rgba(255,59,24,.9); color:white; }
.cursor-dot { z-index:1002; }

.site-header { mix-blend-mode:normal; }
.site-header::before { content:none !important; }
.site-header.scrolled { background:rgba(241,239,232,.72); backdrop-filter:blur(12px) saturate(110%); -webkit-backdrop-filter:blur(12px) saturate(110%); padding:.72rem var(--pad); border-bottom:1px solid rgba(17,17,17,.06); }
.site-header.scrolled::before { content:none !important; width:0 !important; }
.site-header.scrolled .brand { color:var(--ink); padding-left:0; gap:.62rem; }
.site-header.scrolled .brand-mark { z-index:2; filter:drop-shadow(0 5px 12px rgba(17,17,17,.08)); }
.site-header.scrolled .brand-word {
  color:var(--ink);
  background:rgba(241,239,232,.56);
  padding:.34rem .55rem .32rem .55rem;
  border:1px solid rgba(17,17,17,.07);
  border-radius:12px;
  box-shadow:0 8px 22px rgba(17,17,17,.055), inset 0 1px 0 rgba(255,255,255,.58);
  transform:none;
  backdrop-filter:blur(10px) saturate(110%);
  -webkit-backdrop-filter:blur(10px) saturate(110%);
}
.site-header.scrolled .brand-word::before { content:none !important; }
.site-header.scrolled .brand-word b { transform:none; }
.site-header.scrolled .brand-meta { color:var(--graphite); transform:none; }
.site-header.scrolled .brand-word::after {
  content:"STUDIO / 01";
  position:absolute;
  right:.78rem;
  bottom:-1.15rem;
  color:rgba(17,17,17,.42);
  font:700 .46rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.13em;
  opacity:0;
  transform:translateY(-4px);
  animation:identityTagIn .55s .12s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes identityTagIn { to { opacity:1; transform:none; } }

.hero { position:relative; overflow:hidden; }
.hero::before {
  content:"DO"; position:absolute; right:-.05em; bottom:-.18em; z-index:-1;
  font-size:clamp(14rem,34vw,38rem); line-height:.7; letter-spacing:-.14em; font-weight:900;
  color:transparent; -webkit-text-stroke:1px rgba(17,17,17,.08); text-stroke:1px rgba(17,17,17,.08);
}
.hero::after {
  content:""; position:absolute; inset:0; z-index:-2; opacity:.32;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:clamp(4rem,8vw,8rem) clamp(4rem,8vw,8rem);
  mask-image:linear-gradient(to bottom,transparent 0,#000 28%,#000 72%,transparent 100%);
}
.hero-kicker { grid-column:2 / span 2; grid-row:4; align-self:end; display:flex; gap:.75rem; align-items:center; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--graphite); position:relative; z-index:4; }
.hero-kicker::before { content:""; width:clamp(3rem,8vw,7rem); height:1px; background:var(--accent); }

.hero-figure { position:relative; grid-column:3; grid-row:2 / span 3; justify-self:end; align-self:end; width:min(100%, 560px); z-index:2; pointer-events:none; filter:drop-shadow(0 36px 55px rgba(17,17,17,.18)); }
.hero-figure::before { content:''; position:absolute; inset:13% 8% 10% 6%; border:1px solid rgba(17,17,17,.12); border-radius:30px; clip-path:polygon(0 8%, 74% 0, 100% 20%, 100% 100%, 18% 100%, 0 78%); transform:rotate(-7deg); background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.02)); backdrop-filter:blur(3px); }
.hero-figure::after { content:''; position:absolute; right:8%; bottom:8%; width:34%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, rgba(255,59,24,.46), rgba(255,59,24,.08) 58%, transparent 72%); filter:blur(12px); }
.hero-photo { display:block; width:100%; height:auto; position:relative; z-index:2; transform:none !important; animation:none !important; }
.hero-figure .hero-photo { transform:none !important; }
.hero-founder-tag { position:absolute; left:-1.8rem; top:12%; z-index:4; display:flex; flex-direction:column; gap:.36rem; padding:.78rem .82rem; background:rgba(241,239,232,.92); border:1px solid rgba(17,17,17,.10); backdrop-filter:blur(10px); box-shadow:0 18px 45px rgba(17,17,17,.08); transform:rotate(-4deg); }
.hero-founder-tag strong { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.hero-founder-tag span { font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--graphite); }
.hero-founder-tag em { font:400 .7rem/1 Georgia, serif; color:var(--accent); font-style:italic; }
.hero-status { position:absolute; right:2%; bottom:6%; z-index:4; display:inline-flex; align-items:center; gap:.55rem; padding:.52rem .72rem; border-radius:999px; background:rgba(17,17,17,.92); color:var(--paper); box-shadow:0 16px 36px rgba(17,17,17,.18); }
.hero-status::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 8px rgba(255,59,24,.10); }
.hero-status b { font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; }
.hero-status span { font-size:.56rem; letter-spacing:.14em; text-transform:uppercase; color:#bdb8af; }
.hero-wire { position:absolute; left:-10%; bottom:18%; right:10%; z-index:1; height:1px; border-bottom:1px dashed rgba(255,59,24,.34); transform:rotate(-11deg); }
.hero-wire::before, .hero-wire::after { content:''; position:absolute; width:10px; height:10px; border-radius:50%; background:var(--accent); }
.hero-wire::before { left:0; top:-5px; box-shadow:0 0 0 8px rgba(255,59,24,.10); }
.hero-wire::after { right:0; top:-5px; }
.hero-figure { --portrait-x:0px; --portrait-y:0px; }
.hero-figure .hero-motion-ring {
  position:absolute; inset:10% 1% 4% 8%; z-index:1; border:1px solid rgba(255,59,24,.24); border-radius:48% 52% 45% 55% / 54% 42% 58% 46%;
  animation:heroRingMorph 16s cubic-bezier(.45,0,.2,1) infinite alternate; pointer-events:none;
}
.hero-figure .hero-motion-ring::before {
  content:''; position:absolute; width:13px; height:13px; border-radius:50%; background:var(--accent); left:15%; top:2%; box-shadow:0 0 0 8px rgba(255,59,24,.09);
}
.hero-figure .hero-motion-ring::after {
  content:''; position:absolute; width:28%; height:1px; right:-6%; top:54%; background:linear-gradient(90deg,rgba(255,59,24,.5),transparent); transform:rotate(-18deg);
}
.hero-figure .hero-index-mark {
  position:absolute; z-index:4; right:-.2rem; top:34%; writing-mode:vertical-rl; font-size:.52rem; letter-spacing:.2em; text-transform:uppercase; color:var(--graphite);
}
@keyframes heroRingMorph {
  0% { transform:rotate(-5deg) scale(.98); border-radius:48% 52% 45% 55% / 54% 42% 58% 46%; }
  100% { transform:rotate(5deg) scale(1.035); border-radius:55% 45% 53% 47% / 44% 58% 42% 56%; }
}
@keyframes portraitFloat { 0% { transform:translate3d(0,0,0) rotate(-1deg); } 100% { transform:translate3d(0,-10px,0) rotate(1deg); } }

.signature-band { overflow:hidden; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:.9rem 0; background:var(--ink); color:var(--paper); }
.signature-track { display:flex; width:max-content; gap:2rem; animation:bandMove 34s linear infinite; }
.signature-track span { font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; white-space:nowrap; }
.signature-track b { color:var(--accent); font-weight:500; }
@keyframes bandMove { to { transform:translateX(-50%); } }

.project-trigger { position:relative; overflow:hidden; }
.project-trigger::before { content:""; position:absolute; left:0; bottom:0; width:100%; height:0; background:var(--ink); z-index:-1; transition:height .5s cubic-bezier(.16,1,.3,1); }
.project-trigger:hover::before { height:100%; }
.project-trigger:hover { color:var(--paper); }
.project-trigger:hover .project-meta { color:#a9a79f; }
.project-trigger:hover .project-no,.project-trigger:hover .project-arrow { color:var(--accent); }

.method.section-grid { align-items:start; }
.method .section-label { position:sticky; top:7rem; }
.method > div > h2 { position:sticky; top:7rem; background:var(--paper); padding-bottom:1rem; z-index:2; }
.method-list { margin-top:7rem; }
.method-list li { min-height:18vh; }
.method-list li:hover p { transform:translateX(.8rem); }
.method-list p { transition:transform .5s cubic-bezier(.16,1,.3,1); }

.anatomy-map { position:relative; padding:3rem; }
.anatomy-map::before { content:""; position:absolute; inset:0; border:1px solid var(--line); transform:rotate(-1deg); pointer-events:none; }

.lab-stage { 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; }
.lab-stage::after { content:"DRAG THE WORDS"; position:absolute; left:1rem; bottom:1rem; font-size:.58rem; letter-spacing:.16em; color:#74736e; }
.lab-object { user-select:none; touch-action:none; cursor:grab; }
.lab-object.dragging { cursor:grabbing; z-index:5; color:var(--accent); }
.lab-reset { margin-left:auto; }

.about-art { min-height:520px; position:relative; overflow:hidden; background:var(--ink); color:var(--paper); display:grid; place-items:center; }
.about-art::before { content:""; position:absolute; width:clamp(15rem,32vw,30rem); aspect-ratio:1; border:1px solid rgba(242,240,233,.16); border-radius:28%; transform:rotate(-14deg); box-shadow: inset 0 0 0 1px rgba(255,255,255,.03); }
.about-art::after { content:"DIGITAL OBJECT STUDIO / MASSIMO MORONI / 2026"; position:absolute; left:1rem; bottom:1rem; font-size:.58rem; letter-spacing:.14em; color:#8d8b85; }
.about-orbit { width:190px; aspect-ratio:1; border:1px solid var(--accent); border-radius:50%; position:relative; animation:orbitSpin 22s linear infinite; }
.about-orbit::before,.about-orbit::after { content:""; position:absolute; background:var(--accent); border-radius:50%; }
.about-orbit::before { width:16px; height:16px; top:-8px; left:calc(50% - 8px); }
.about-orbit::after { width:7px; height:7px; bottom:-3px; left:calc(50% - 3px); }
.about-logo { position:relative; display:grid; place-items:center; gap:1rem; }
.about-logo-word { font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(241,239,232,.74); }
.about-logo .brand-mark { width:112px; height:96px; }
.about-logo .brand-mark .bm-d { left:6px; top:8px; width:58px; height:78px; border-width:3px; border-color:rgba(242,240,233,.92); border-radius:0 42px 42px 0; animation:none; }
.about-logo .brand-mark .bm-d::after { left:12px; top:12px; width:24px; height:48px; border-width:2.5px; border-color:rgba(242,240,233,.86); border-right:none; border-radius:0 28px 28px 0; }
.about-logo .brand-mark .bm-o { right:6px; top:10px; width:34px; height:34px; border-width:3px; border-color:rgba(242,240,233,.9); animation:none; }
.about-logo .brand-mark .bm-accent { right:13px; bottom:14px; width:18px; height:18px; box-shadow:0 0 0 14px rgba(255,59,24,.08); }
.about-art:hover .brand-mark .bm-d { transform:translate3d(2px,0,0) rotate(-4deg) scale(1.03); }
.about-art:hover .brand-mark .bm-o { transform:translate3d(-5px,4px,0) scale(1.08); }
.about-art:hover .brand-mark .bm-accent { transform:translate3d(-5px,-1px,0) scale(1.1); box-shadow:0 0 0 18px rgba(255,59,24,.1); }
@keyframes orbitSpin { to { transform:rotate(360deg); } }

.contact { position:relative; overflow:hidden; }
.contact::before { content:""; position:absolute; inset:auto -5% -20% -5%; height:55%; background:var(--accent); transform:skewY(-5deg) translateY(100%); transition:transform .65s var(--ease); }
.contact:hover::before { transform:skewY(-5deg) translateY(0); }
.contact > * { position:relative; z-index:1; }
.contact:hover .contact-link span { color:var(--paper); }


/* DIGITAL OBJECT STUDIO — brand layer */
.object-stamp { display:inline-grid; grid-template-columns:auto auto; align-items:center; gap:.65rem; margin-top:1.1rem; font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--graphite); }
.object-stamp::before { content:""; width:28px; height:28px; border:1px solid var(--ink); background:linear-gradient(135deg, transparent 0 49%, var(--accent) 50% 54%, transparent 55% 100%); transform:rotate(0deg); animation:objectStamp 10s ease-in-out infinite; }
@keyframes objectStamp { 0%,100%{border-radius:0; transform:rotate(0)} 35%{border-radius:50%; transform:rotate(90deg)} 70%{border-radius:7px 50% 7px 50%; transform:rotate(180deg)} }
.object-id { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.58rem; letter-spacing:.08em; opacity:.75; }
.brand-object-line { color:var(--accent); font-family:Georgia,serif; font-style:italic; font-weight:400; text-transform:none; }

.corner-index { position:fixed; z-index:120; left:.8rem; bottom:.8rem; writing-mode:vertical-rl; transform:rotate(180deg); font-size:.56rem; letter-spacing:.18em; text-transform:uppercase; color:var(--graphite); pointer-events:none; }

@media (max-width:900px){
  body,a,button,[role="button"],.switch-word,.lab-object { cursor:auto; }
  .cursor-ring,.cursor-dot { display:none !important; }
  .method .section-label,.method > div > h2 { position:static; }
  .method-list { margin-top:4rem; }
  .corner-index { display:none; }
  .site-header.scrolled::before { content:none !important; width:0 !important; }
}
@media (max-width:560px){
  .intro-top,.intro-bottom { font-size:.52rem; }
  .signature-track { animation-duration:16s; }
  .about-art { min-height:390px; }
  .about-orbit { width:150px; }
  .lab-reset { margin-left:0; }
}
@media (prefers-reduced-motion:reduce){
  .site-header.scrolled .brand-word::after { animation:none !important; opacity:1; transform:none; }
  .intro-word,.signature-track,.about-orbit,.brand-mark .bm-d,.brand-mark .bm-o,.brand-mark .bm-axis,.brand-mark .bm-node { animation:none !important; transform:none !important; }
  .intro { display:none; }
}



/* Embedded client demo — Cippelletti / EDIL LA PERLA */
.project-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin-top:1.25rem; }
.project-actions .project-link { margin-top:0; }
.client-demo-open { appearance:none; background:none; color:inherit; border:0; border-bottom:1px solid var(--ink); padding:0 0 .25rem; cursor:pointer; font:inherit; }
.client-demo-open:hover { color:var(--accent); border-color:var(--accent); }
.client-demo-badge { display:inline-flex; align-items:center; gap:.45rem; margin:.9rem 0 0; font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.client-demo-badge::before { content:""; width:.48rem; height:.48rem; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 12%, transparent); }
.client-demo-overlay { position:fixed; inset:0; z-index:9999; display:none; background:#0d0d0d; }
.client-demo-overlay.is-open { display:grid; grid-template-rows:auto 1fr; }
.client-demo-toolbar { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1rem; background:#111; color:#fff; border-bottom:1px solid rgba(255,255,255,.14); }
.client-demo-toolbar-copy { min-width:0; }
.client-demo-toolbar strong { display:block; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.client-demo-toolbar small { display:block; margin-top:.15rem; color:rgba(255,255,255,.55); font-size:.58rem; letter-spacing:.09em; text-transform:uppercase; }
.client-demo-toolbar-actions { display:flex; gap:.55rem; align-items:center; flex-shrink:0; }
.client-demo-toolbar button { border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; min-height:40px; padding:0 .8rem; font:inherit; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.client-demo-toolbar button:hover { background:#fff; color:#111; }
.client-demo-toolbar .demo-close { width:40px; padding:0; font-size:1.2rem; }
.client-demo-frame { width:100%; height:100%; border:0; background:#f4f1ea; }
body.demo-lock { overflow:hidden; }
@media (max-width:640px) {
  .client-demo-toolbar { min-height:58px; padding:.55rem .65rem; }
  .client-demo-toolbar small { display:none; }
  .client-demo-toolbar-actions button:not(.demo-close) { display:none; }
  .client-demo-toolbar strong { font-size:.62rem; }
}



/* ===== V6 / CREATIVE EXPERIMENTAL ===== */
:root{
  --mx:50vw; --my:50vh; --velocity:0; --exp-ink:#111; --exp-accent:#ff3b18;
}
body{position:relative; isolation:isolate;}
body::selection{background:var(--accent);color:#fff}
.experimental-light{
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(420px circle at var(--mx) var(--my), rgba(255,59,24,.10), transparent 48%);
  mix-blend-mode:multiply; opacity:.9;
}
.experimental-noise{
  position:fixed; inset:0; z-index:1400; pointer-events:none; opacity:.055; mix-blend-mode:multiply;
  background-image:
    radial-gradient(circle at 12% 22%,#111 0 1px,transparent 1.2px),
    radial-gradient(circle at 74% 68%,#111 0 .8px,transparent 1px),
    radial-gradient(circle at 42% 88%,#111 0 .7px,transparent .9px);
  background-size:17px 17px,23px 23px,29px 29px;
}
.exp-coordinates{
  position:fixed; right:.8rem; top:50%; z-index:119; transform:translateY(-50%) rotate(90deg);
  transform-origin:center; font:600 .52rem/1 monospace; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(17,17,17,.38); pointer-events:none;
}

.hero-title{position:relative; z-index:2;}
.hero-title span{will-change:transform,letter-spacing; transition:letter-spacing .5s var(--ease);}
.hero:hover .hero-title span:first-child{letter-spacing:-.075em !important; transform:none !important;}
.hero:hover .switch-word:not(.is-alt){letter-spacing:-.075em !important; transform:none !important;}
.hero-orbit{
  position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden;
}
.hero-orbit span{
  position:absolute; display:grid; place-items:center; width:74px; aspect-ratio:1; border:1px solid rgba(17,17,17,.18);
  border-radius:50%; font-size:.55rem; letter-spacing:.13em; text-transform:uppercase; color:rgba(17,17,17,.58);
  background:rgba(242,240,233,.42); backdrop-filter:blur(6px); animation:floatBadge 9s ease-in-out infinite alternate;
  box-shadow:0 12px 28px rgba(17,17,17,.05);
}
.hero-orbit span:nth-child(1){left:8%; top:19%; animation-delay:-1s}
.hero-orbit span:nth-child(2){right:10%; top:24%; animation-delay:-3s; width:92px}
.hero-orbit span:nth-child(3){left:17%; bottom:13%; animation-delay:-5s; width:62px}
.hero-orbit span:nth-child(4){right:22%; bottom:9%; animation-delay:-7s; width:82px}
@keyframes floatBadge{from{transform:translate3d(0,-6px,0) rotate(-7deg)}to{transform:translate3d(13px,15px,0) rotate(9deg)}}

.section-grid{overflow:clip;}
.section-grid::after{
  content:""; position:absolute; left:var(--pad); right:var(--pad); bottom:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(17,17,17,.15) 15%,rgba(255,59,24,.36) 50%,rgba(17,17,17,.15) 85%,transparent);
  transform:scaleX(.18); transform-origin:left; transition:transform 1.1s var(--ease);
}
.section-grid.in-view::after{transform:scaleX(1)}

.experimental-cut{
  position:relative; overflow:hidden; min-height:52vh; display:grid; place-items:center; padding:5rem var(--pad);
  background:var(--accent); color:#fff; border-top:0;
}
.experimental-cut::before{
  content:""; position:absolute; inset:-30%;
  background:repeating-linear-gradient(112deg,rgba(255,255,255,.10) 0 1px,transparent 1px 28px);
  animation:cutDrift 16s linear infinite;
}
.experimental-cut::after{
  content:""; position:absolute; width:min(58vw,720px); aspect-ratio:1; border:1px solid rgba(255,255,255,.26);
  border-radius:50%; right:-12%; top:-45%; box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018);
}
.experimental-cut-inner{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}
.experimental-cut h2{margin:0;font-size:clamp(4rem,12vw,13rem);line-height:.72;letter-spacing:-.085em;text-transform:uppercase;max-width:8ch}
.experimental-cut-copy{max-width:23rem;margin:0 0 1rem;font-size:1rem}
.experimental-cut-badge{position:absolute;left:51%;top:12%;min-width:170px;padding:.72rem .9rem;border:1px solid rgba(255,255,255,.7);border-radius:999px;display:grid;place-items:center;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;animation:badgeDrift 7s ease-in-out infinite alternate;background:rgba(255,255,255,.05);backdrop-filter:blur(8px)}
@keyframes cutDrift{to{transform:translateX(90px)}}
@keyframes badgeDrift{from{transform:translate3d(0,-4px,0) rotate(-3deg)}to{transform:translate3d(12px,9px,0) rotate(3deg)}}

/* V27 — Web Design Cockpit / experimental-cut right composition */
.experimental-cut-inner{grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);gap:clamp(2rem,5vw,6rem);align-items:center}
.experimental-cut-side{position:relative;display:grid;gap:1.15rem;justify-items:stretch;min-width:0}
.experimental-cut-copy{max-width:32rem;margin:0;font-size:.95rem;line-height:1.5}
.design-cockpit{position:relative;width:min(100%,520px);justify-self:end;color:var(--ink);filter:drop-shadow(0 22px 42px rgba(17,17,17,.14));transform:rotate(-1.2deg);transform-origin:50% 50%}
.cockpit-browser{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:18px;background:rgba(241,239,232,.94);box-shadow:inset 0 0 0 1px rgba(17,17,17,.08),0 18px 50px rgba(17,17,17,.11);backdrop-filter:blur(10px)}
.cockpit-browserbar{height:38px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:0 .8rem;border-bottom:1px solid rgba(17,17,17,.12);font-size:.49rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(17,17,17,.62)}
.cockpit-dots{display:flex;gap:4px}.cockpit-dots i{display:block;width:5px;height:5px;border:1px solid rgba(17,17,17,.6);border-radius:50%}.cockpit-dots i:nth-child(2){background:var(--accent);border-color:var(--accent)}
.cockpit-url{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cockpit-size{font-weight:800;color:var(--accent)}
.cockpit-canvas{position:relative;aspect-ratio:1.62;overflow:hidden;background:linear-gradient(90deg,rgba(17,17,17,.035) 1px,transparent 1px),linear-gradient(rgba(17,17,17,.035) 1px,transparent 1px),rgba(255,255,255,.26);background-size:24px 24px}
.cockpit-grid{position:absolute;inset:14% 8% 12%;display:grid;grid-template-columns:repeat(12,1fr);gap:6px;opacity:.43}.cockpit-grid i{border-left:1px solid rgba(255,59,24,.36);border-right:1px solid rgba(255,59,24,.10);background:rgba(255,59,24,.025)}
.cockpit-ruler{position:absolute;z-index:2;opacity:.46}.cockpit-ruler-x{left:8%;right:8%;top:8%;height:8px;background:repeating-linear-gradient(90deg,rgba(17,17,17,.52) 0 1px,transparent 1px 18px)}
.cockpit-ruler-y{top:14%;bottom:12%;left:4%;width:8px;background:repeating-linear-gradient(180deg,rgba(17,17,17,.52) 0 1px,transparent 1px 18px)}
.cockpit-selection{position:absolute;left:29%;top:28%;width:43%;height:42%;border:1px solid var(--accent);background:rgba(255,59,24,.055);box-shadow:0 0 0 1px rgba(255,255,255,.75),0 14px 35px rgba(255,59,24,.10);animation:selectionBreath 5.4s ease-in-out infinite}
.cockpit-selection::before{content:"";position:absolute;left:12%;right:12%;top:27%;height:11px;background:var(--ink);box-shadow:0 24px 0 -3px rgba(17,17,17,.22),0 40px 0 -3px rgba(17,17,17,.12)}
.cockpit-selection::after{content:"";position:absolute;width:26%;aspect-ratio:1;border-radius:50%;right:9%;bottom:10%;border:1px solid var(--accent);background:rgba(255,59,24,.12)}
.handle{position:absolute;width:7px;height:7px;background:var(--paper);border:1px solid var(--accent);border-radius:50%}.handle.h1{left:-4px;top:-4px}.handle.h2{right:-4px;top:-4px}.handle.h3{left:-4px;bottom:-4px}.handle.h4{right:-4px;bottom:-4px}
.selection-label{position:absolute;left:0;top:-19px;font-size:.43rem;letter-spacing:.12em;color:var(--accent);font-weight:800}.selection-axis{position:absolute;left:50%;top:-42%;height:184%;width:1px;background:linear-gradient(transparent,var(--accent),transparent);opacity:.3;transform:rotate(8deg)}
.cockpit-cursor{position:absolute;z-index:5;left:19%;top:69%;width:16px;height:21px;animation:cursorBuild 8s cubic-bezier(.4,0,.2,1) infinite}.cockpit-cursor::before{content:"";position:absolute;inset:0;background:var(--ink);clip-path:polygon(0 0,0 88%,26% 67%,43% 100%,55% 94%,38% 63%,69% 62%)}.cockpit-cursor span{position:absolute;width:20px;height:20px;border:1px solid var(--accent);border-radius:50%;left:-7px;top:-7px;opacity:0;animation:cursorPulse 8s ease-out infinite}
.cockpit-node{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px rgba(255,59,24,.08)}.node-a{left:15%;top:24%}.node-b{right:12%;top:43%;animation:nodeFloat 6s ease-in-out infinite}.node-c{left:22%;bottom:13%;background:var(--ink);box-shadow:0 0 0 8px rgba(17,17,17,.05);animation:nodeFloat 7s 1s ease-in-out infinite reverse}
.cockpit-tools{display:grid;grid-template-columns:1.15fr 1fr auto;gap:.55rem;margin-top:.55rem}
.cockpit-tools>div{min-height:42px;border:1px solid rgba(255,255,255,.58);background:rgba(255,255,255,.10);backdrop-filter:blur(8px);border-radius:999px;display:flex;align-items:center;padding:.4rem .65rem;color:#fff;box-shadow:inset 0 0 0 1px rgba(17,17,17,.03)}
.cockpit-breakpoints{gap:.55rem;font-size:.43rem;letter-spacing:.08em}.cockpit-breakpoints span{opacity:.62;animation:breakpointCycle 8s steps(1,end) infinite}.cockpit-breakpoints span:nth-child(2){animation-delay:2s}.cockpit-breakpoints span:nth-child(3){animation-delay:4s}.cockpit-breakpoints span:nth-child(4){animation-delay:6s}
.cockpit-layers{gap:.55rem;font-size:.42rem;letter-spacing:.08em;overflow:hidden}.cockpit-layers span{display:flex;align-items:center;gap:.25rem;white-space:nowrap}.cockpit-layers i{width:5px;height:5px;border:1px solid currentColor}.cockpit-layers span:nth-child(2) i{background:#fff}.cockpit-layers span:nth-child(3) i{background:var(--ink);border-color:var(--ink)}
.cockpit-swatches{gap:5px!important;padding-inline:.55rem!important}.cockpit-swatches i{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.85)}.cockpit-swatches i:nth-child(1){background:var(--paper)}.cockpit-swatches i:nth-child(2){background:var(--ink)}.cockpit-swatches i:nth-child(3){background:var(--accent)}
@keyframes cursorBuild{0%,10%{transform:translate(0,0) rotate(-9deg)}28%{transform:translate(90px,-62px) rotate(-4deg)}46%{transform:translate(175px,-43px) rotate(0)}66%{transform:translate(121px,-108px) rotate(4deg)}82%,100%{transform:translate(0,0) rotate(-9deg)}}
@keyframes cursorPulse{0%,23%,31%,100%{opacity:0;transform:scale(.45)}26%{opacity:.55;transform:scale(1.4)}28%{opacity:0;transform:scale(2)}}
@keyframes selectionBreath{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(3px,-4px,0)}}
@keyframes nodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes breakpointCycle{0%,24%{opacity:1;color:#fff;font-weight:800}25%,100%{opacity:.38}}
@media(max-width:900px){.experimental-cut-inner{grid-template-columns:1fr;gap:2.5rem}.design-cockpit{width:min(100%,620px);justify-self:start;transform:none}.experimental-cut-side{max-width:100%}.experimental-cut-copy{max-width:38rem}.cockpit-tools{grid-template-columns:1fr auto}.cockpit-layers{display:none!important}}
@media(max-width:560px){.design-cockpit{width:100%}.cockpit-browser{border-radius:14px}.cockpit-browserbar{height:34px}.cockpit-tools{grid-template-columns:1fr auto}.cockpit-breakpoints{gap:.35rem}.cockpit-breakpoints span:nth-child(2){display:none}.cockpit-selection{left:26%;width:48%}.cockpit-url{font-size:.43rem}}
@media(prefers-reduced-motion:reduce){.cockpit-selection,.cockpit-cursor,.cockpit-cursor span,.cockpit-node,.cockpit-breakpoints span{animation:none!important}}

.project-trigger .project-title{position:relative;display:inline-block;}
.project-trigger:hover .project-title{font-style:italic; transform:translateX(.25rem) skewX(-7deg)}
.project-title{transition:transform .28s var(--ease),font-style .28s var(--ease)}
.project.is-open .project-panel{box-shadow:0 30px 80px rgba(17,17,17,.10)}

.service{overflow:hidden;}
.service::after{
  content:"↗"; position:absolute; right:1rem; top:50%; transform:translate(120%,-50%) rotate(-25deg);
  font-size:clamp(2rem,4vw,4rem); color:var(--accent); opacity:.13; transition:transform .35s var(--ease),opacity .35s;
}
.service:hover::after{transform:translate(0,-50%) rotate(0);opacity:.8}

.lab-stage{isolation:isolate;}
.lab-stage .lab-object{mix-blend-mode:difference; z-index:2;}
.lab-stage::before{z-index:-1}
.lab-stage .scan-line{
  position:absolute; left:0; right:0; height:1px; top:0; z-index:1; background:linear-gradient(90deg,transparent,var(--accent),transparent);
  box-shadow:0 0 18px rgba(255,59,24,.55); animation:scanStage 5.4s ease-in-out infinite;
}
.lab-stage .lab-cross{
  position:absolute;width:18px;height:18px;z-index:1;opacity:.55;
}
.lab-stage .lab-cross::before,.lab-stage .lab-cross::after{content:"";position:absolute;background:var(--accent)}
.lab-stage .lab-cross::before{left:8px;top:0;width:1px;height:18px}.lab-stage .lab-cross::after{top:8px;left:0;height:1px;width:18px}
.lab-stage .lab-cross.c1{left:12%;top:22%}.lab-stage .lab-cross.c2{right:14%;top:32%}.lab-stage .lab-cross.c3{left:48%;bottom:16%}
@keyframes scanStage{0%,100%{top:3%;opacity:.15}50%{top:96%;opacity:.9}}

.about-art{transform-style:preserve-3d;}
.about-art:hover .about-orbit{animation-duration:4.5s}

.contact::after{
  content:"SEND / BUILD / REPEAT"; position:absolute; right:-.02em; top:8%; font-size:clamp(3rem,9vw,10rem); font-weight:900;
  line-height:.8; letter-spacing:-.07em; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.10); transform:rotate(90deg) translateX(50%); transform-origin:right top;
}

[data-scramble]{display:inline-block;}
.experimental-cursor-trail{position:fixed;z-index:1000;width:5px;height:5px;border-radius:50%;background:var(--accent);pointer-events:none;opacity:.09;transform:translate(-50%,-50%);transition:opacity .12s}

@media(max-width:900px){
  .exp-coordinates,.hero-orbit span:nth-child(3),.hero-orbit span:nth-child(4){display:none}
  .hero-orbit span{opacity:.55}
  .experimental-cut-inner{grid-template-columns:1fr}
  .experimental-cut-badge{left:auto;right:1rem;top:1rem;width:84px}
}
@media(max-width:560px){
  .hero-orbit span{width:54px;font-size:.46rem}.hero-orbit span:nth-child(2){width:66px}
  .experimental-cut{min-height:44vh;padding:4rem 1rem}.experimental-cut h2{font-size:clamp(3.8rem,20vw,6.5rem)}
  .experimental-noise{opacity:.035}
}
@media(prefers-reduced-motion:reduce){
  .hero-orbit span,.experimental-cut::before,.experimental-cut-badge,.lab-stage .scan-line{animation:none!important}
  .experimental-light,.experimental-noise,.experimental-cursor-trail,.bg-network,.bg-mesh,.orbital{display:none!important}
}


@media(max-width:560px){
  .brand { font-size:.72rem; gap:.4rem; }
  .brand-mark { width:48px; height:42px; }
  .brand-meta { display:none; }
  .site-header.scrolled .brand-word { padding:.48rem .68rem .46rem .86rem; }
  .site-header.scrolled .brand-word::after { display:none; }
  .site-header.scrolled .brand-word b { transform:none; }
  .object-stamp { font-size:.5rem; }
}


/* V17 — HERO AS BRAND OBJECT / PORTRAIT IN ABOUT */
.hero { grid-template-columns:minmax(110px,14vw) minmax(0,1.08fr) minmax(300px,.82fr); position:relative; }
.hero-do-object {
  position:absolute; right:clamp(1rem,3vw,3rem); top:clamp(10rem,21vh,13.5rem); width:min(35vw,520px); height:clamp(350px,47vw,500px);
  isolation:isolate; pointer-events:none; overflow:visible; z-index:1;
}
.hero-do-object::before {
  content:""; position:absolute; inset:9% 5% 11% 7%; border:1px solid rgba(17,17,17,.12); border-radius:42% 58% 48% 52% / 50% 40% 60% 50%;
  transform:rotate(-7deg);
}
.hero-do-object::after {
  content:""; position:absolute; width:38%; aspect-ratio:1; right:4%; bottom:8%; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, rgba(255,255,255,.34), rgba(255,59,24,.68) 36%, rgba(255,59,24,.08) 70%, transparent 72%);
  filter:blur(.2px); box-shadow:0 30px 70px rgba(255,59,24,.14);
}
.do-letter { position:absolute; font-weight:900; line-height:.72; letter-spacing:-.14em; color:transparent; -webkit-text-stroke:1.7px rgba(17,17,17,.76); }
.do-d { font-size:clamp(12rem,20vw,21rem); left:4%; top:13%; transform:rotate(-5deg); }
.do-o { font-size:clamp(11.5rem,19vw,20rem); left:38%; top:18%; -webkit-text-stroke-color:rgba(255,59,24,.82); transform:rotate(6deg); }
.do-axis { position:absolute; left:47%; top:8%; bottom:8%; width:1px; background:linear-gradient(transparent,var(--accent) 18%,var(--accent) 82%,transparent); transform:rotate(11deg); transform-origin:center; }
.do-node { position:absolute; width:11px; height:11px; border-radius:50%; background:var(--ink); box-shadow:0 0 0 7px rgba(17,17,17,.05); }
.do-node.n1 { left:20%; top:18%; } .do-node.n2 { right:14%; top:33%; background:var(--accent); } .do-node.n3 { left:49%; bottom:13%; width:7px; height:7px; }
.do-caption { position:absolute; right:-.4rem; top:48%; font-size:.55rem; letter-spacing:.2em; text-transform:uppercase; writing-mode:vertical-rl; color:var(--graphite); }

.hero-do-object { touch-action:none; user-select:none; -webkit-user-select:none; cursor:grab; pointer-events:auto !important; z-index:12; }
.hero-do-object.is-dragging { cursor:grabbing; }
.hero-do-object.is-dragging .do-spin-core { filter:drop-shadow(0 16px 28px rgba(255,59,24,.14)); }
.hero-do-object.is-dragging .do-gesture-hint { opacity:.28; }
.do-spin-core { position:absolute; inset:0; transform-origin:50% 50%; will-change:transform; z-index:2; }
.do-spin-core .do-letter,
.do-spin-core .do-axis,
.do-spin-core .do-node { pointer-events:none; }
.do-gesture-hint {
  position:absolute; left:8%; bottom:3%; z-index:5; display:inline-flex; align-items:center; gap:.55rem;
  font-size:.5rem; letter-spacing:.16em; text-transform:uppercase; color:var(--graphite);
  padding:.46rem .62rem; border:1px solid rgba(17,17,17,.1); background:rgba(241,239,232,.72); backdrop-filter:blur(8px);
  opacity:.74; transition:opacity .3s var(--ease), transform .3s var(--ease);
}
.do-gesture-hint::before { content:'↻'; color:var(--accent); font-size:.78rem; line-height:1; }
.hero-do-object:hover .do-gesture-hint { opacity:1; transform:translateY(-2px); }
.do-creative-phrase {
  position:absolute; left:50%; top:50%; z-index:7; width:min(84%,360px); padding:.9rem 1rem;
  background:rgba(17,17,17,.94); color:var(--paper); border:1px solid rgba(255,255,255,.08); box-shadow:0 24px 60px rgba(17,17,17,.2);
  font:500 clamp(.9rem,1.5vw,1.15rem)/1.25 Georgia,serif; text-align:center;
  transform:translate(-50%,-50%) scale(.88) rotate(-2deg); opacity:0; pointer-events:none;
  transition:opacity .28s var(--ease), transform .45s cubic-bezier(.16,1,.3,1);
}
.do-creative-phrase::before { content:'CREATIVE SIGNAL'; display:block; margin-bottom:.45rem; font:700 .48rem/1 Inter,sans-serif; letter-spacing:.2em; color:var(--accent); }
.do-creative-phrase.is-visible { opacity:1; transform:translate(-50%,-50%) scale(1) rotate(-2deg); }
.hero-do-object.is-spinning .do-gesture-hint { opacity:.25; }
@media (pointer:coarse) {
  .do-gesture-hint { opacity:.92; font-size:.48rem; }
}

.about-content { grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); }
.about-portrait-art { min-height:650px; overflow:hidden; background:var(--ink); color:var(--paper); display:block; isolation:isolate; }
.about-portrait-art::before { content:""; position:absolute; inset:7% 5% 6% 7%; width:auto; aspect-ratio:auto; border:1px solid rgba(242,240,233,.16); border-radius:0; transform:rotate(-3deg); box-shadow:none; z-index:0; }
.about-portrait-art::after { content:"MASSIMO MORONI / DIGITAL OBJECT STUDIO / 2026"; left:1rem; bottom:1rem; right:auto; top:auto; width:auto; height:auto; background:none; filter:none; box-shadow:none; color:#8d8b85; }
.about-type-wall { position:absolute; inset:4% -4% auto -3%; z-index:0; display:grid; gap:-.2rem; transform:rotate(-7deg); opacity:.16; }
.about-type-wall span { display:block; font-size:clamp(5rem,11vw,11rem); font-weight:900; line-height:.72; letter-spacing:-.08em; color:transparent; -webkit-text-stroke:1px rgba(242,240,233,.72); white-space:nowrap; }
.about-portrait-frame { position:absolute; left:8%; right:4%; bottom:-2%; height:94%; z-index:2; display:flex; align-items:flex-end; justify-content:center; }
.about-portrait { display:block; max-width:100%; max-height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 34px 55px rgba(0,0,0,.34)); transform:translateX(3%) rotate(-1.5deg); transition:transform 1s cubic-bezier(.16,1,.3,1), filter .7s ease; }
.about-portrait-art:hover .about-portrait { transform:translateX(1%) translateY(-7px) rotate(.5deg) scale(1.018); filter:drop-shadow(0 42px 70px rgba(0,0,0,.42)); }
.about-person-tag { position:absolute; z-index:4; left:4%; top:9%; width:min(250px,42%); padding:.9rem 1rem; background:var(--paper); color:var(--ink); box-shadow:18px 18px 0 var(--accent); transform:rotate(-5deg); }
.about-person-tag strong,.about-person-tag span,.about-person-tag em { display:block; }
.about-person-tag strong { font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }
.about-person-tag span { margin-top:.38rem; font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--graphite); }
.about-person-tag em { margin-top:.65rem; font:400 .8rem/1 Georgia,serif; color:var(--accent); }
.about-side-note { position:absolute; z-index:4; right:.8rem; top:12%; writing-mode:vertical-rl; font-size:.5rem; letter-spacing:.18em; color:rgba(242,240,233,.55); text-transform:uppercase; }
.about-crosshair { position:absolute; z-index:4; right:14%; bottom:16%; width:82px; height:82px; border:1px solid rgba(255,59,24,.5); border-radius:50%; animation:crossSpin 18s linear infinite; }
.about-crosshair::before,.about-crosshair::after { content:""; position:absolute; background:var(--accent); }
.about-crosshair::before { width:1px; height:112px; left:40px; top:-15px; } .about-crosshair::after { height:1px; width:112px; left:-15px; top:40px; }
@keyframes crossSpin { to { transform:rotate(360deg); } }

@media (max-width:900px){
  .hero { grid-template-columns:1fr; }
  .hero-do-object { position:relative; right:auto; top:auto; grid-column:1; grid-row:auto; height:330px; width:min(82vw,520px); justify-self:center; margin:-1rem auto 1rem; }
  .do-d { font-size:clamp(10.5rem,38vw,17rem); left:8%; top:14%; } .do-o { font-size:clamp(10rem,36vw,16rem); left:39%; top:19%; }
  .about-content { grid-template-columns:1fr; }
  .about-portrait-art { min-height:620px; }
}
@media (max-width:560px){
  .hero-do-object { height:270px; width:94vw; }
  .do-d { left:9%; top:16%; } .do-o { left:40%; top:20%; }
  .about-portrait-art { min-height:510px; }
  .about-person-tag { top:6%; left:3%; width:58%; box-shadow:10px 10px 0 var(--accent); }
  .about-side-note { display:none; }
}
@media (prefers-reduced-motion:reduce){ .about-crosshair { animation:none!important; } .about-portrait { transition:none!important; } }


/* V8 — stable hero + true 3D Earth-axis D/O */
.hero-title, .hero-title span, .switch-word, .switch-word.is-alt { transform:none !important; }
.hero-title span { transition:color .28s ease, letter-spacing .28s ease !important; }
.switch-word, .switch-word.is-alt { letter-spacing:-.075em !important; min-width:0 !important; }
.hero-do-object { pointer-events:auto !important; touch-action:none !important; user-select:none !important; -webkit-user-select:none !important; overscroll-behavior:contain; perspective:900px; -webkit-perspective:900px; }
.do-spin-core { position:absolute; inset:0; transform-style:preserve-3d; -webkit-transform-style:preserve-3d; will-change:transform; transform-origin:50% 50%; }
.do-face { position:absolute; inset:0; transform-style:preserve-3d; -webkit-transform-style:preserve-3d; backface-visibility:visible; -webkit-backface-visibility:visible; }
.do-face.do-front { transform:translateZ(1px); }
.do-face .do-letter, .do-face .do-axis, .do-face .do-node { position:absolute; }
.hero-do-object.is-dragging { cursor:grabbing; }
.hero-do-object.is-spinning .do-spin-core { filter:drop-shadow(0 18px 30px rgba(17,17,17,.10)); }
.do-spin-core { transition:filter .2s ease; }
.do-face.do-front { filter:drop-shadow(0 10px 18px rgba(17,17,17,.05)); }
.do-gesture-hint { pointer-events:none; }
@media (max-width:900px){
  .hero-title, .hero-title span, .switch-word, .switch-word.is-alt { transform:none !important; }
  .hero-do-object { perspective:720px; -webkit-perspective:720px; }
}



.intro{
  transition:opacity .9s cubic-bezier(.22,.61,.36,1), filter .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1), visibility 0s linear .9s !important;
}
.intro.is-gone{
  opacity:0 !important;
  filter:blur(7px) !important;
  transform:scale(1.012) !important;
  visibility:hidden !important;
}
.intro-word{font-size:clamp(3rem,10.8vw,11rem) !important; white-space:nowrap;}
@media(max-width:720px){.intro-word{font-size:clamp(2.55rem,13vw,6rem) !important;white-space:normal;line-height:.82;}}



/* Intro: explicit two-line lockup, no clipping */
.intro-center{overflow:visible!important;max-width:min(94vw,1500px);width:100%;}
.intro-word{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:.02em;white-space:normal!important;overflow:visible!important;font-size:clamp(3.6rem,11vw,11.5rem)!important;line-height:.72!important;padding:.08em .04em .12em!important;}
.intro-word>span{display:block;white-space:nowrap;overflow:visible;}
.intro-word .intro-studio{font-size:.58em;letter-spacing:.02em;margin-left:.05em;color:var(--ink);}
@media(max-width:720px){.intro-word{font-size:clamp(3.15rem,17vw,6.6rem)!important;line-height:.75!important}.intro-word .intro-studio{font-size:.62em}}

/* Object Lab V14 — clearer, applied motion playground */
.lab-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.52fr);gap:2rem;align-items:end;}
.lab-head .lab-explain{max-width:32rem;}
.lab-head .lab-explain p{margin:.35rem 0;color:var(--graphite);}
.lab-howto{display:inline-flex;align-items:center;gap:.5rem;margin-top:.7rem;padding:.5rem .65rem;border:1px solid rgba(17,17,17,.16);font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(241,239,232,.72);}
.lab-controls button{display:grid;text-align:left;gap:.16rem;min-width:145px;}
.lab-controls button strong{font-size:.62rem;letter-spacing:.12em;}
.lab-controls button small{font-size:.46rem;letter-spacing:.08em;opacity:.58;}
.lab-controls .lab-reset{min-width:auto;align-self:stretch;}
.motion-gallery{margin-top:1.4rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;}
.motion-demo{position:relative;min-height:190px;border:1px solid rgba(17,17,17,.16);background:rgba(241,239,232,.56);overflow:hidden;padding:1rem;isolation:isolate;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease);}
.motion-demo:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(17,17,17,.09);background:rgba(255,255,255,.32);}
.motion-demo .motion-id{font:600 .48rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:var(--accent);}
.motion-demo h3{margin:.6rem 0 .25rem;font-size:1rem;letter-spacing:-.03em;text-transform:uppercase;}
.motion-demo p{margin:0;color:var(--graphite);font-size:.7rem;line-height:1.35;max-width:22ch;}
.motion-preview{position:absolute;left:1rem;right:1rem;bottom:1rem;height:62px;display:grid;place-items:center;}
.magnetic-demo .motion-preview button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:.62rem .8rem;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;transition:transform .16s ease;will-change:transform;}
.reveal-demo .reveal-line{position:relative;font-size:1.25rem;font-weight:900;letter-spacing:-.055em;overflow:hidden;line-height:.9;}
.reveal-demo .reveal-line span{display:block;transform:translateY(112%);transition:transform .7s cubic-bezier(.16,1,.3,1);}
.reveal-demo.is-active .reveal-line span,.reveal-demo:hover .reveal-line span{transform:translateY(0);}
.tilt-demo .tilt-card{width:70px;height:48px;border:1px solid var(--ink);background:linear-gradient(135deg,var(--paper) 0 55%,var(--accent) 55%);box-shadow:8px 10px 0 rgba(17,17,17,.10);transform-style:preserve-3d;transition:transform .16s ease;}
.scramble-demo .scramble-word{font-size:1.3rem;font-weight:900;letter-spacing:-.05em;text-transform:uppercase;}
.orbit-demo .orbit-system{position:relative;width:72px;height:72px;border:1px solid rgba(17,17,17,.3);border-radius:50%;}
.orbit-demo .orbit-system::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%);}
.orbit-demo .orbit-dot{position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:var(--accent);margin:-4.5px;transform-origin:4.5px 4.5px;animation:demoOrbit 3.4s linear infinite;}
.orbit-demo .orbit-dot::after{content:"";position:absolute;width:30px;height:1px;background:rgba(255,59,24,.25);right:4px;top:4px;transform-origin:right center;}
@keyframes demoOrbit{from{transform:rotate(0deg) translateX(34px) rotate(0deg)}to{transform:rotate(360deg) translateX(34px) rotate(-360deg)}}
.motion-note{margin-top:1rem;display:flex;justify-content:space-between;gap:1rem;padding-top:.8rem;border-top:1px solid rgba(17,17,17,.16);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite);}
.motion-note b{color:var(--accent);}
@media(max-width:1050px){.motion-gallery{grid-template-columns:repeat(3,minmax(0,1fr));}.lab-head{grid-template-columns:1fr;}}
@media(max-width:680px){.motion-gallery{grid-template-columns:1fr 1fr}.motion-demo{min-height:175px}.lab-controls button{min-width:calc(50% - .3rem)}}
@media(max-width:430px){.motion-gallery{grid-template-columns:1fr}.lab-controls button{min-width:100%}.motion-note{flex-direction:column}.intro-top span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.orbit-demo .orbit-dot{animation:none!important}}



/* V15 — explicit intro lockup */
.intro-center{display:flex!important;align-items:center!important;justify-content:flex-start!important;overflow:visible!important;}
.intro-word{display:flex!important;flex-direction:column!important;align-items:flex-start!important;width:min(92vw,1500px)!important;gap:.08em!important;line-height:.72!important;overflow:visible!important;white-space:normal!important;}
.intro-word>span:first-child{display:block!important;white-space:nowrap!important;color:var(--paper)!important;}
.intro-word .intro-studio{display:block!important;white-space:nowrap!important;color:var(--paper)!important;font-size:.72em!important;letter-spacing:-.045em!important;margin:0!important;-webkit-text-stroke:1px rgba(241,239,232,.18)!important;}
.intro-word .intro-studio::after{content:" / 2026";font-size:.16em;letter-spacing:.16em;color:var(--accent);vertical-align:top;margin-left:1.2em;-webkit-text-stroke:0;}
@media(max-width:720px){.intro-word{font-size:clamp(3rem,16vw,6rem)!important;}.intro-word>span:first-child{white-space:normal!important;}.intro-word .intro-studio{font-size:.76em!important;}}

/* V15 — Object Lab becomes a black motion theatre */
.lab{position:relative;background:var(--ink)!important;color:var(--paper)!important;margin-inline:calc(var(--pad) * -1)!important;padding-inline:var(--pad)!important;border-top:0!important;border-bottom:0!important;overflow:hidden;}
.lab::before{content:"MOTION / WITH INTENT";position:absolute;right:-.02em;top:.2em;font-size:clamp(6rem,18vw,18rem);font-weight:900;line-height:.75;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1px rgba(241,239,232,.055);pointer-events:none;white-space:nowrap;}
.lab .section-label{color:rgba(241,239,232,.54)!important;}
.lab-head{position:relative;z-index:2;display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr)!important;gap:clamp(2rem,6vw,7rem)!important;align-items:end!important;}
.lab-head h2{color:var(--paper)!important;font-size:clamp(4.3rem,10.8vw,11rem)!important;line-height:.72!important;letter-spacing:-.075em!important;margin:0!important;}
.lab-head h2 i{font-family:Georgia,serif;font-weight:400;color:var(--accent);}
.lab-head .lab-explain{max-width:34rem;color:rgba(241,239,232,.78)!important;}
.lab-head .lab-explain p{font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.45;margin:0 0 1.3rem;color:inherit;text-shadow:none;}
.lab-howto{display:inline-block;border-top:1px solid rgba(241,239,232,.2);padding-top:.75rem;font-size:.54rem;letter-spacing:.14em;color:var(--accent);}
.lab-live-strip{position:relative;z-index:2;margin:2.5rem 0 1.2rem;border-top:1px solid rgba(241,239,232,.16);border-bottom:1px solid rgba(241,239,232,.16);padding:.7rem 0;display:flex;gap:1rem;align-items:center;overflow:hidden;font-size:.52rem;letter-spacing:.17em;color:rgba(241,239,232,.66);white-space:nowrap;}
.lab-live-strip b{color:var(--accent);font-size:.7rem;animation:livePulse 1.8s ease-in-out infinite;}
@keyframes livePulse{50%{opacity:.25;transform:scale(.65)}}
.lab-controls{position:relative;z-index:2;margin:1rem 0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:1px!important;background:rgba(241,239,232,.18)!important;border:1px solid rgba(241,239,232,.18)!important;}
.lab-controls button{min-width:0!important;border:0!important;background:var(--ink)!important;color:var(--paper)!important;padding:1rem!important;text-align:left!important;display:grid!important;gap:.25rem!important;}
.lab-controls button strong{font-size:.62rem;letter-spacing:.12em;color:var(--paper);}.lab-controls button small{font-size:.48rem;letter-spacing:.06em;color:rgba(241,239,232,.48);}.lab-controls button:hover,.lab-controls button.active{background:var(--accent)!important;color:var(--paper)!important;transform:none!important;}.lab-controls button:hover small,.lab-controls button.active small{color:var(--paper)!important;}
.lab-stage{position:relative!important;z-index:2!important;min-height:clamp(360px,52vw,610px)!important;background:var(--paper)!important;color:var(--ink)!important;border:0!important;box-shadow:none!important;background-image:linear-gradient(rgba(17,17,17,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.08) 1px,transparent 1px)!important;background-size:44px 44px!important;}
.lab-stage::before{background:radial-gradient(circle,rgba(255,59,24,.22),transparent 0 58%)!important;opacity:.8!important;}
.lab-stage::after{content:"DRAG / RECOMPOSE / BREAK"!important;color:rgba(17,17,17,.45)!important;}
.lab-instruction{position:absolute;left:1rem;top:1rem;z-index:5;font-size:.52rem;letter-spacing:.16em;color:var(--accent);}
.lab-number{color:var(--accent)!important;}.lab-object{mix-blend-mode:normal!important;color:var(--ink)!important;}.lab-object.dragging{color:var(--accent)!important;}
.motion-gallery{position:relative;z-index:2;margin-top:1px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1px!important;background:rgba(241,239,232,.18)!important;border:1px solid rgba(241,239,232,.18)!important;}
.motion-demo{min-height:320px!important;background:var(--paper)!important;color:var(--ink)!important;border:0!important;padding:1.25rem!important;display:flex!important;flex-direction:column!important;transition:transform .35s cubic-bezier(.16,1,.3,1),background .35s!important;overflow:hidden!important;}
.motion-demo:hover{transform:translateY(-6px)!important;background:#fff!important;z-index:3;}
.motion-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;}.motion-top em{font-style:normal;font-size:.46rem;letter-spacing:.15em;color:var(--accent);}.motion-id{color:rgba(17,17,17,.55)!important;}
.motion-demo h3{font-size:clamp(1.5rem,2.3vw,2.4rem)!important;line-height:.94!important;letter-spacing:-.055em!important;margin:0 0 .75rem!important;}.motion-demo p{font-size:.82rem!important;line-height:1.45!important;max-width:27rem;color:rgba(17,17,17,.62)!important;margin:0!important;}
.motion-preview{margin-top:auto!important;min-height:112px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-top:1px solid rgba(17,17,17,.12)!important;padding-top:1rem!important;}
.magnetic-demo .motion-preview button{background:var(--ink)!important;color:var(--paper)!important;border:0!important;padding:1rem 1.15rem!important;box-shadow:0 12px 30px rgba(17,17,17,.15);}.reveal-demo .reveal-line{font-size:clamp(2rem,4vw,4rem)!important;}.tilt-demo .tilt-card{width:130px!important;height:88px!important;display:grid;place-items:center;font-size:.55rem;letter-spacing:.14em;}.orbit-demo .orbit-system{width:110px!important;height:110px!important;}.orbit-dot-2{animation-duration:5.2s!important;animation-direction:reverse!important;background:var(--ink)!important;transform:scale(.7);}.spotlight-preview{position:relative;background:var(--ink);color:var(--paper);overflow:hidden;border-top:0!important;}.spotlight-preview span{position:relative;z-index:2;font-size:2rem;font-weight:900;letter-spacing:-.06em;}.spotlight-preview i{position:absolute;width:130px;height:130px;border-radius:50%;background:var(--accent);filter:blur(5px);opacity:.9;left:50%;top:50%;transform:translate(-50%,-50%);mix-blend-mode:screen;transition:left .08s linear,top .08s linear;}
.motion-note{position:relative;z-index:2;border-top:1px solid rgba(241,239,232,.18)!important;color:rgba(241,239,232,.7)!important;padding-top:1.1rem!important;}.motion-note b{color:var(--accent)!important;}
@media(max-width:1050px){.motion-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lab-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lab-controls .lab-reset{grid-column:1/-1}.lab-head{grid-template-columns:1fr!important;}}
@media(max-width:640px){.motion-gallery{grid-template-columns:1fr!important}.lab-controls{grid-template-columns:1fr!important}.lab-head h2{font-size:clamp(3.8rem,19vw,6.5rem)!important}.motion-demo{min-height:280px!important}.lab{margin-inline:calc(var(--pad) * -1)!important}.intro-word .intro-studio::after{display:none;}}



/* V17 — smaller, clearer, fluid motion lab */
.lab{padding-top:clamp(3.5rem,6vw,6rem)!important;padding-bottom:clamp(3.5rem,6vw,6rem)!important;}
.lab::before{font-size:clamp(4rem,10vw,9rem)!important;top:.55rem!important;opacity:.62;}
.lab-inner-v17{min-width:0;}
.lab-head{grid-template-columns:minmax(0,.92fr) minmax(280px,.58fr)!important;gap:clamp(1.5rem,4vw,4rem)!important;align-items:end!important;}
.lab-kicker-v17{display:block;margin-bottom:.75rem;font-size:.48rem;letter-spacing:.17em;color:var(--accent);}
.lab-head h2{font-size:clamp(3.2rem,6.7vw,6.6rem)!important;line-height:.75!important;}
.lab-head .lab-explain p{font-size:clamp(.9rem,1.1vw,1.05rem)!important;max-width:31rem;margin-bottom:1rem!important;}
.gesture-legend-v17{display:flex;flex-wrap:wrap;gap:.4rem;}
.gesture-legend-v17 span{display:inline-flex;align-items:center;gap:.36rem;padding:.42rem .55rem;border:1px solid rgba(241,239,232,.18);font-size:.44rem;letter-spacing:.12em;color:rgba(241,239,232,.72);}
.gesture-legend-v17 b{color:var(--accent);font-size:.72rem;}
.mini-sandbox-v17{margin-top:1.5rem;border:1px solid rgba(241,239,232,.16);padding:.75rem;background:rgba(241,239,232,.025);}
.sandbox-guide-v17{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:.65rem;background:rgba(241,239,232,.13);}
.sandbox-guide-v17 span{background:var(--ink);padding:.55rem .65rem;font-size:.47rem;letter-spacing:.08em;color:rgba(241,239,232,.66);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sandbox-guide-v17 b{color:var(--accent);margin-right:.35rem;}
.lab-controls{margin:0 0 .65rem!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.lab-controls button{padding:.72rem .8rem!important;min-height:58px!important;}
.lab-controls button strong{font-size:.55rem!important;}.lab-controls button small{font-size:.42rem!important;}
.lab-stage{min-height:260px!important;max-height:300px!important;background-size:36px 36px!important;}
.lab-stage::after{font-size:.46rem!important;}
.lab-instruction{background:var(--accent);color:var(--paper)!important;padding:.45rem .55rem;letter-spacing:.12em!important;}
.lab-object{font-size:clamp(2rem,5.2vw,5rem)!important;}
.motion-shelf-head-v17{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:1.7rem 0 .7rem;}
.motion-shelf-head-v17>div>span{font-size:.45rem;letter-spacing:.16em;color:var(--accent);}
.motion-shelf-head-v17 h3{margin:.25rem 0 0;font-size:clamp(1.25rem,2vw,1.8rem);letter-spacing:-.04em;color:var(--paper);}
.motion-swipe-v17{font-size:.46rem;letter-spacing:.15em;color:rgba(241,239,232,.55);}
.motion-gallery{display:flex!important;gap:.6rem!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;background:transparent!important;border:0!important;padding:0 0 .7rem!important;scrollbar-width:thin;scrollbar-color:var(--accent) rgba(241,239,232,.08);}
.motion-gallery::-webkit-scrollbar{height:4px}.motion-gallery::-webkit-scrollbar-track{background:rgba(241,239,232,.08)}.motion-gallery::-webkit-scrollbar-thumb{background:var(--accent)}
.motion-demo{flex:0 0 clamp(230px,27vw,305px)!important;min-height:245px!important;max-height:265px!important;scroll-snap-align:start!important;padding:.85rem!important;transform:none!important;box-shadow:none!important;}
.motion-demo:hover{transform:none!important;}
.motion-top{margin-bottom:.7rem!important;}.motion-top em{padding:.28rem .38rem;border:1px solid rgba(255,59,24,.35);background:rgba(255,59,24,.06);}
.motion-demo h3{font-size:clamp(1.05rem,1.55vw,1.4rem)!important;margin:0!important;line-height:.98!important;}
.motion-demo>p{font-size:.68rem!important;line-height:1.35!important;margin-top:.55rem!important;max-width:30ch!important;}
.motion-preview{min-height:76px!important;height:82px!important;margin-top:.55rem!important;padding-top:.55rem!important;order:0;}
.reveal-demo .reveal-line{font-size:clamp(1.65rem,2.7vw,2.5rem)!important;}
.tilt-demo .tilt-card{width:90px!important;height:58px!important;}
.orbit-demo .orbit-system{width:78px!important;height:78px!important;}
.spotlight-preview span{font-size:1.45rem!important;}.spotlight-preview i{width:90px!important;height:90px!important;}
.motion-note{display:flex!important;justify-content:space-between!important;gap:1rem!important;font-size:.49rem!important;margin-top:.65rem!important;}
.motion-demo.is-demo-active{outline:2px solid var(--accent);outline-offset:-2px;}
.orbit-demo.is-demo-active .orbit-dot{animation-duration:1.25s!important}.orbit-demo.is-demo-active .orbit-dot-2{animation-duration:1.9s!important;}
@media(max-width:900px){
  .lab-head{grid-template-columns:1fr!important;gap:1rem!important;}
  .sandbox-guide-v17{grid-template-columns:1fr!important;}
  .sandbox-guide-v17 span{white-space:normal;}
  .lab-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .lab-stage{min-height:235px!important;}
  .motion-demo{flex-basis:min(78vw,280px)!important;}
}
@media(max-width:560px){
  .lab{padding-top:3rem!important;padding-bottom:3rem!important;}
  .lab-head h2{font-size:clamp(3rem,16vw,5rem)!important;}
  .gesture-legend-v17{display:grid;grid-template-columns:repeat(2,1fr);}
  .lab-controls{grid-template-columns:1fr 1fr!important;}
  .lab-controls button{padding:.65rem!important;}
  .lab-stage{min-height:210px!important;max-height:230px!important;}
  .motion-shelf-head-v17{align-items:center;}
  .motion-swipe-v17{display:block;}
  .motion-demo{flex-basis:82vw!important;min-height:230px!important;max-height:245px!important;}
  .motion-note{display:grid!important;}
}



/* V20 — one simple, light, high-impact motion object */
#lab.lab{background:transparent!important;color:var(--ink)!important;padding-top:clamp(4rem,8vw,8rem)!important;padding-bottom:clamp(4rem,8vw,8rem)!important;margin-inline:0!important;overflow:visible!important;}
#lab .section-label{color:rgba(17,17,17,.55)!important;}
.motion-simple-v20{display:grid;grid-template-columns:minmax(280px,.68fr) minmax(520px,1.32fr);gap:clamp(1.4rem,4vw,4rem);align-items:center;max-width:1500px;margin:0 auto;}
.motion-copy-v20{padding-right:clamp(0rem,2vw,2rem);}
.motion-kicker-v20{display:block;margin-bottom:1rem;font:700 .54rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;color:var(--accent);}
.motion-copy-v20 h2{margin:0;color:var(--ink)!important;font-size:clamp(3.6rem,7vw,7.3rem)!important;line-height:.78!important;letter-spacing:-.075em!important;text-shadow:0 1px 0 rgba(255,255,255,.35),0 12px 22px rgba(17,17,17,.05)!important;}
.motion-copy-v20 h2 i{font-family:Georgia,serif;font-weight:400;color:var(--accent)!important;}
.motion-copy-v20 p{max-width:31rem;margin:1.35rem 0 0;font-size:clamp(.95rem,1.2vw,1.12rem);line-height:1.5;color:rgba(17,17,17,.7);}
.motion-instructions-v20{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.3rem;}
.motion-instructions-v20 span{border:1px solid rgba(17,17,17,.16);background:rgba(241,239,232,.78);padding:.62rem .72rem;font:650 .5rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em;box-shadow:0 8px 22px rgba(17,17,17,.035);}
.motion-instructions-v20 b{color:var(--accent);margin-right:.45rem;}
.motion-object-v20{--mx:50%;--my:50%;--rx:0deg;--ry:0deg;position:relative;min-height:clamp(360px,44vw,590px);overflow:hidden;border:1px solid rgba(17,17,17,.16);background:rgba(241,239,232,.68);box-shadow:0 32px 80px rgba(17,17,17,.08),inset 0 0 0 1px rgba(255,255,255,.28);isolation:isolate;cursor:crosshair;touch-action:pan-y;perspective:1000px;}
.motion-object-v20:focus-visible{outline:2px solid var(--accent);outline-offset:5px;}
.motion-grid-v20{position:absolute;inset:0;background-image:linear-gradient(rgba(17,17,17,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.3));z-index:0;}
.motion-glow-v20{position:absolute;left:var(--mx);top:var(--my);width:clamp(260px,32vw,470px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 50% 50%,rgba(255,59,24,.7) 0,rgba(255,59,24,.28) 26%,rgba(255,59,24,.08) 50%,transparent 72%);filter:blur(12px);opacity:.78;transition:opacity .35s ease;z-index:1;pointer-events:none;mix-blend-mode:multiply;}
.motion-core-v20{position:absolute;left:50%;top:50%;width:clamp(150px,18vw,250px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(30px);transform-style:preserve-3d;display:grid;place-items:center;background:rgba(241,239,232,.78);border:1px solid rgba(17,17,17,.35);box-shadow:0 28px 60px rgba(17,17,17,.13),inset 0 0 0 14px rgba(255,255,255,.22);transition:transform .12s ease-out,box-shadow .25s ease,background .25s ease;z-index:4;will-change:transform;}
.motion-core-v20::before,.motion-core-v20::after{content:"";position:absolute;border-radius:50%;inset:13%;border:1px solid rgba(255,59,24,.7);transform:translateZ(10px);}
.motion-core-v20::after{inset:27%;border-color:rgba(17,17,17,.32);transform:translateZ(18px);}
.motion-core-mark-v20{font:900 clamp(2.8rem,6vw,6.4rem)/.8 Arial,sans-serif;letter-spacing:-.12em;color:transparent;-webkit-text-stroke:1.6px var(--accent);transform:translateX(-.05em) translateZ(30px);}
.motion-core-word-v20{position:absolute;bottom:17%;font:700 .5rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;color:var(--ink);transform:translateZ(35px);}
.motion-orbit-v20{position:absolute;left:50%;top:50%;border:1px solid rgba(17,17,17,.18);border-radius:50%;transform:translate(-50%,-50%) rotate(0deg);z-index:2;pointer-events:none;}
.motion-orbit-v20.orbit-a{width:56%;aspect-ratio:1;animation:motionOrbitV20 18s linear infinite;}
.motion-orbit-v20.orbit-b{width:78%;aspect-ratio:1;border-color:rgba(255,59,24,.22);animation:motionOrbitV20 26s linear infinite reverse;}
.motion-node-v20{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--ink);z-index:3;pointer-events:none;transition:transform .2s ease;}
.motion-node-v20.node-a{left:22%;top:27%;box-shadow:0 0 0 8px rgba(17,17,17,.06);}
.motion-node-v20.node-b{right:17%;bottom:24%;background:var(--accent);box-shadow:0 0 0 12px rgba(255,59,24,.08);}
.motion-signal-v20{position:absolute;left:1rem;bottom:1rem;z-index:5;padding:.62rem .72rem;background:rgba(241,239,232,.82);border:1px solid rgba(17,17,17,.14);backdrop-filter:blur(10px);font:700 .48rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em;color:var(--accent);}
.motion-tags-v20{position:absolute;right:1rem;top:1rem;display:flex;gap:.4rem;z-index:5;}
.motion-tags-v20 span{padding:.45rem .55rem;border:1px solid rgba(17,17,17,.13);background:rgba(241,239,232,.58);font:650 .43rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;}
.motion-object-v20.is-pulse .motion-core-v20{background:var(--accent);box-shadow:0 0 0 22px rgba(255,59,24,.10),0 36px 80px rgba(255,59,24,.25);}
.motion-object-v20.is-pulse .motion-core-mark-v20{-webkit-text-stroke-color:var(--paper);}
.motion-object-v20.is-pulse .motion-core-word-v20{color:var(--paper);}
.motion-object-v20.is-pulse .motion-glow-v20{opacity:1;}
.motion-object-v20.is-pulse::after{content:"";position:absolute;left:50%;top:50%;width:160px;aspect-ratio:1;border:1px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%);animation:pulseRingV20 .8s cubic-bezier(.16,1,.3,1) forwards;z-index:3;pointer-events:none;}
.motion-apply-v20{grid-column:2;margin-top:-1.2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;color:rgba(17,17,17,.55);font-size:.67rem;letter-spacing:.05em;}
.motion-apply-v20>span{font:700 .46rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em;color:var(--accent);}
.motion-apply-v20 p{margin:0;}
.motion-apply-v20 strong{margin-left:auto;color:var(--ink);font-weight:600;}
@keyframes motionOrbitV20{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes pulseRingV20{0%{width:140px;opacity:1}100%{width:min(80%,620px);opacity:0}}
@media(max-width:980px){.motion-simple-v20{grid-template-columns:1fr;}.motion-object-v20{min-height:460px}.motion-apply-v20{grid-column:1;margin-top:0}.motion-apply-v20 strong{margin-left:0;width:100%;}}
@media(max-width:620px){#lab.lab{padding-block:4rem!important}.motion-copy-v20 h2{font-size:clamp(3.5rem,18vw,5.4rem)!important}.motion-object-v20{min-height:360px}.motion-tags-v20{display:none}.motion-apply-v20{font-size:.6rem}.motion-instructions-v20{display:grid;grid-template-columns:1fr 1fr}.motion-instructions-v20 span{font-size:.44rem}}
@media(prefers-reduced-motion:reduce){.motion-orbit-v20{animation:none!important}.motion-core-v20{transition:none!important}}



/* V21 — conceptual kinetic signature: no instructions, no demo language */
.vision-section{position:relative;min-height:155svh;padding:0 var(--pad);background:var(--paper);border-top:1px solid rgba(17,17,17,.14);border-bottom:1px solid rgba(17,17,17,.14);overflow:clip;isolation:isolate}
.vision-sticky{position:sticky;top:0;height:100svh;display:grid;align-items:center}
.vision-stage{--vp:0;position:relative;height:min(76svh,760px);min-height:520px;border:1px solid rgba(17,17,17,.13);background:
  radial-gradient(circle at 78% 24%,rgba(255,59,24,.12),transparent 27%),
  linear-gradient(rgba(17,17,17,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.035) 1px,transparent 1px),rgba(241,239,232,.72);
  background-size:auto,38px 38px,38px 38px,auto;overflow:hidden;box-shadow:0 30px 90px rgba(17,17,17,.055)}
.vision-meta{position:absolute;z-index:5;left:calc(var(--pad) + 1rem);right:calc(var(--pad) + 1rem);top:50%;transform:translateY(-50%);height:min(76svh,760px);min-height:520px;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.15rem;font:700 .48rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;color:rgba(17,17,17,.42)}
.vision-meta span:nth-child(2){color:var(--accent)}
.vision-frag{position:absolute;z-index:3;font:800 clamp(.85rem,1.4vw,1.3rem)/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:rgba(17,17,17,.56);will-change:transform,opacity;transition:color .25s}
.vision-frag::before{content:'+';margin-right:.38em;color:var(--accent)}
.vision-frag.f1{left:10%;top:18%;transform:translate(calc(var(--vp)*30vw),calc(var(--vp)*22vh)) rotate(calc(-16deg + var(--vp)*16deg))}
.vision-frag.f2{left:72%;top:13%;transform:translate(calc(var(--vp)*-30vw),calc(var(--vp)*26vh)) rotate(calc(12deg + var(--vp)*-12deg))}
.vision-frag.f3{left:19%;top:72%;transform:translate(calc(var(--vp)*22vw),calc(var(--vp)*-24vh)) rotate(calc(8deg + var(--vp)*-8deg))}
.vision-frag.f4{left:79%;top:68%;transform:translate(calc(var(--vp)*-33vw),calc(var(--vp)*-20vh)) rotate(calc(-10deg + var(--vp)*10deg))}
.vision-frag.f5{left:6%;top:45%;transform:translate(calc(var(--vp)*36vw),calc(var(--vp)*2vh)) rotate(calc(90deg + var(--vp)*-90deg))}
.vision-frag.f6{left:84%;top:44%;transform:translate(calc(var(--vp)*-39vw),calc(var(--vp)*1vh)) rotate(calc(-90deg + var(--vp)*90deg))}
.vision-frag.f7{left:42%;top:8%;transform:translate(calc(var(--vp)*4vw),calc(var(--vp)*31vh))}
.vision-frag.f8{left:45%;top:84%;transform:translate(calc(var(--vp)*1vw),calc(var(--vp)*-34vh))}
.vision-axis{position:absolute;z-index:2;left:50%;top:8%;bottom:8%;width:1px;background:linear-gradient(transparent,var(--accent) 18%,var(--accent) 82%,transparent);transform:translateX(-50%) scaleY(calc(.08 + var(--vp)*.92));transform-origin:center;opacity:calc(.18 + var(--vp)*.82)}
.vision-core{position:absolute;z-index:4;left:50%;top:50%;width:clamp(190px,25vw,340px);aspect-ratio:1;transform:translate(-50%,-50%) scale(calc(.68 + var(--vp)*.32)) rotate(calc((1 - var(--vp))*-8deg));display:grid;place-items:center;opacity:calc(.38 + var(--vp)*.62)}
.vision-do{position:relative;z-index:3;font:900 clamp(4.5rem,10vw,10rem)/.8 Arial,sans-serif;letter-spacing:-.13em;color:transparent;-webkit-text-stroke:1.7px var(--ink);transform:translateX(-.06em)}
.vision-do::first-letter{-webkit-text-stroke-color:var(--ink)}
.vision-ring{position:absolute;inset:4%;border-radius:50%;border:1px solid rgba(17,17,17,.2);transform:rotate(calc(var(--vp)*150deg));transition:border-color .3s}
.vision-ring.r2{inset:19%;border-color:rgba(255,59,24,.65);transform:rotate(calc(var(--vp)*-210deg))}
.vision-core::after{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:var(--accent);right:4%;top:50%;box-shadow:0 0 0 10px rgba(255,59,24,.08)}
.vision-title{position:absolute;z-index:2;left:4%;right:4%;top:50%;transform:translateY(-50%);display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:1.2vw;white-space:nowrap;pointer-events:none;opacity:calc(.18 + var(--vp)*.82)}
.vision-title span,.vision-title i{font:700 clamp(.7rem,1vw,1rem)/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2em;font-style:normal;color:rgba(17,17,17,.42)}
.vision-title strong{font-size:clamp(4rem,10vw,10rem);line-height:.78;letter-spacing:-.075em;color:var(--ink);transform:scaleX(calc(.84 + var(--vp)*.16));transform-origin:left center}
.vision-title strong:last-child{color:var(--accent);transform-origin:right center;text-align:right}
.vision-glow{position:absolute;z-index:1;left:50%;top:50%;width:42vw;max-width:620px;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(calc(.65 + var(--vp)*.35));background:radial-gradient(circle,rgba(255,59,24,.22),rgba(255,59,24,.08) 36%,transparent 68%);filter:blur(15px);opacity:calc(.12 + var(--vp)*.55);mix-blend-mode:multiply}
@media(max-width:900px){.vision-section{min-height:135svh}.vision-stage,.vision-meta{min-height:480px;height:68svh}.vision-title{grid-template-columns:1fr;gap:.2rem;align-content:center}.vision-title span,.vision-title i{display:none}.vision-title strong{font-size:clamp(4.2rem,17vw,8rem)}.vision-title strong:last-child{text-align:left}.vision-core{opacity:calc(.22 + var(--vp)*.55)}.vision-frag{font-size:.7rem}}
@media(max-width:560px){.vision-section{padding-inline:0}.vision-stage{border-left:0;border-right:0}.vision-meta{left:.8rem;right:.8rem}.vision-frag.f5,.vision-frag.f6,.vision-frag.f7,.vision-frag.f8{display:none}.vision-title{left:7%;right:7%}.vision-title strong{font-size:19vw}}
@media(prefers-reduced-motion:reduce){.vision-stage{--vp:1!important}.vision-frag,.vision-axis,.vision-core,.vision-ring,.vision-title,.vision-glow{transition:none!important}}


/* V25 — editorial copy objects */
.hero-statement{position:relative;max-width:34rem;padding:1.15rem 1.35rem 1rem 0!important;background:linear-gradient(90deg,rgba(241,239,232,.96),rgba(241,239,232,.72) 76%,transparent)!important;}
.hero-statement-label,.about-copy-index,.anatomy-signal,.manifesto-answer-index{display:block;font:700 .58rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.17em;text-transform:uppercase;color:rgba(17,17,17,.46);text-shadow:none!important;}
.hero-statement p{display:grid;gap:.16rem;margin:.65rem 0 .9rem!important;max-width:31rem!important;}
.hero-statement p>span{font-size:clamp(.95rem,1.35vw,1.15rem);line-height:1.38;max-width:27rem;}
.hero-statement p>strong{font-size:clamp(2rem,4.1vw,4.1rem);line-height:.88;letter-spacing:-.065em;color:var(--ink);text-transform:uppercase;text-shadow:var(--type-shadow-strong)!important;}
.hero-statement p>em{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(1.45rem,2.7vw,2.6rem);line-height:1;color:var(--accent);font-style:italic;text-shadow:0 1px 0 rgba(255,255,255,.28),0 8px 22px rgba(255,59,24,.12)!important;}
.manifesto-answer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem 1.3rem;align-items:start;margin-top:2.4rem;padding-top:1rem;border-top:1px solid rgba(17,17,17,.18);max-width:42rem;}
.manifesto-answer p{margin:0!important;font-size:clamp(1.05rem,1.7vw,1.35rem)!important;line-height:1.12;}
.manifesto-answer strong{display:inline-block;margin-top:.14rem;font-size:clamp(2.25rem,5vw,5.4rem);letter-spacing:-.07em;line-height:.84;color:var(--accent);text-shadow:0 1px 0 rgba(255,255,255,.28),0 10px 26px rgba(255,59,24,.14)!important;}
.anatomy-copy.is-motion-statement{display:grid;grid-template-columns:max-content 1fr;align-items:end;gap:.25rem 1rem;padding:1rem 0;border-top:1px solid rgba(17,17,17,.2);font-family:var(--font-sans)!important;}
.anatomy-copy.is-motion-statement .anatomy-signal{grid-column:1/-1;margin-bottom:.2rem;}
.anatomy-copy.is-motion-statement strong{font-size:clamp(1.75rem,4vw,4.6rem);line-height:.84;letter-spacing:-.06em;text-transform:uppercase;text-shadow:var(--type-shadow-strong)!important;}
.anatomy-copy.is-motion-statement em{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(1.45rem,3vw,3.5rem);line-height:.9;color:var(--accent);font-style:italic;text-shadow:0 7px 20px rgba(255,59,24,.12)!important;}
.anatomy-copy.is-motion-statement strong:last-child{grid-column:2;}
.about-editorial{display:grid;gap:0;border-top:1px solid rgba(17,17,17,.22);align-self:start;}
.about-editorial>div{position:relative;padding:1.2rem 0 1.3rem;border-bottom:1px solid rgba(17,17,17,.16);}
.about-editorial p{margin:0!important;}
.about-direct{display:grid;gap:.65rem;}
.about-direct>p:not(.about-direct-hit){font-size:clamp(1rem,1.55vw,1.28rem);line-height:1.3;max-width:30rem;}
.about-direct>p strong{font-weight:800;text-transform:uppercase;letter-spacing:-.035em;}
.about-direct-hit{font-size:clamp(2rem,4.5vw,4.6rem)!important;line-height:.88!important;letter-spacing:-.065em;max-width:34rem;}
.about-direct-hit em{font-family:Georgia,"Times New Roman",serif!important;color:var(--accent);font-weight:400;font-style:italic;white-space:nowrap;}
.about-identity{display:grid;gap:.65rem;}
.about-name-line{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;}
.about-name-line>span{font:700 .66rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;margin-top:.35rem;color:rgba(17,17,17,.45);}
.about-name-line>strong{font-size:clamp(2.8rem,6vw,6.8rem);line-height:.76;letter-spacing:-.075em;text-transform:uppercase;text-shadow:var(--type-shadow-strong)!important;}
.about-desc{max-width:27rem;font-size:clamp(1rem,1.4vw,1.2rem);}
.about-principles{display:grid!important;grid-template-columns:repeat(3,1fr);gap:.45rem!important;padding:.8rem 0!important;}
.about-principles span{min-height:5.6rem;display:flex;align-items:flex-end;padding:.7rem;border:1px solid rgba(17,17,17,.15);background:rgba(241,239,232,.54);font-size:.65rem;font-weight:800;letter-spacing:.12em;line-height:1.15;text-transform:uppercase;box-shadow:0 10px 26px rgba(17,17,17,.04);}
.about-principles span:nth-child(2){transform:translateY(.55rem);border-color:rgba(255,59,24,.35);color:var(--accent);}
.about-purpose{display:grid;gap:.6rem;padding-top:1.6rem!important;}
.about-purpose>p:not(.about-purpose-hit){font-size:clamp(1.1rem,1.7vw,1.35rem);color:rgba(17,17,17,.55);}
.about-purpose-hit{font-size:clamp(1.55rem,2.8vw,2.75rem)!important;line-height:1.02!important;letter-spacing:-.035em;max-width:35rem;}
.about-purpose-hit strong{font-weight:850;text-decoration-thickness:.08em;text-decoration-color:rgba(255,59,24,.55);text-underline-offset:.12em;}
@media(max-width:900px){.hero-statement{max-width:100%}.manifesto-answer{grid-template-columns:1fr}.about-principles{grid-template-columns:1fr!important}.about-principles span{min-height:3.8rem}.about-principles span:nth-child(2){transform:none}.about-name-line{grid-template-columns:1fr}.about-name-line>span{margin:0}.anatomy-copy.is-motion-statement{grid-template-columns:1fr}.anatomy-copy.is-motion-statement strong:last-child{grid-column:1}}
@media(max-width:560px){.hero-statement p>strong{font-size:clamp(2.2rem,11vw,3.5rem)}.hero-statement p>em{font-size:clamp(1.4rem,7vw,2.1rem)}.manifesto-answer strong{font-size:clamp(2.8rem,13vw,4rem)}.about-direct-hit{font-size:clamp(2.35rem,11vw,3.8rem)!important}.about-name-line>strong{font-size:clamp(3.4rem,16vw,5.4rem)}.about-purpose-hit{font-size:clamp(1.65rem,7vw,2.25rem)!important}}



:root{
  --font-sans: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --type-shadow: 0 1px 0 rgba(255,255,255,.34), 0 3px 9px rgba(17,17,17,.09), 0 10px 24px rgba(17,17,17,.055);
  --type-shadow-strong: 0 1px 0 rgba(255,255,255,.40), 0 4px 11px rgba(17,17,17,.11), 0 14px 30px rgba(17,17,17,.07);
  --type-shadow-dark: 0 2px 8px rgba(0,0,0,.25), 0 10px 26px rgba(0,0,0,.16);
}

/* One reading typeface across the whole studio */
body,
button,input,textarea,select,
p,li,dt,dd,label,small,
.lead,.project-meta,.project-browser-url,.project-copy,
.manifesto-note,.experimental-cut-copy,
.anatomy-copy,.service p,.about-copy p,
.hero-kicker,.eyebrow,.section-label,
.brand-meta,.contact-link,
.brief-hero-copy,.brief-block,.brief-field,
.brief-estimate,.brief-breakdown,.brief-actions {
  font-family:var(--font-sans)!important;
}

/* Paragraphs never switch to an editorial serif */
p, li p, .anatomy-copy, .project-copy p, .about-copy p,
.service p, .manifesto-note, .experimental-cut-copy,
.brief-block p, .brief-block label, .brief-estimate p {
  font-style:normal;
  text-shadow:var(--type-shadow)!important;
}

/* Consistent soft depth */
h1,h2,h3,h4,h5,h6,
.hero-title,.project-title,.contact-link,
.brief-intro h2,.brief-block h3 {
  text-shadow:var(--type-shadow-strong)!important;
}
input,textarea,select,button,.pill,.object-id,.section-label,.eyebrow,.brand-meta {
  text-shadow:0 1px 0 rgba(255,255,255,.25),0 2px 7px rgba(17,17,17,.065)!important;
}

/* Dark surfaces: same typography, correct shadow direction */
.signature-band *,
.project-visual *,
.contact *,
.client-demo-toolbar *,
.mobile-menu * {
  text-shadow:var(--type-shadow-dark)!important;
}

/* Serif is reserved only for deliberate display accents */
.manifesto h2 em,
.type-stack span,
.intro-word i,
.brand-object-line,
.lab-head h2 i,
.motion-copy-v20 h2 i,
.brief-intro h2 em,
.brief-block h3 em {
  font-family:Georgia,"Times New Roman",serif!important;
}

/* But never inside body copy */
p em,p i,.lead em,.lead i,.anatomy-copy em,.anatomy-copy i,
.project-copy em,.project-copy i,.about-copy em,.about-copy i {
  font-family:inherit!important;
}



/* V31 — Anatomy editorial response panel */
.anatomy-wrap{
  grid-template-columns:minmax(0,1fr) minmax(250px,320px);
  gap:clamp(2rem,4vw,4rem);
}
.anatomy-copy{
  position:relative;
  min-height:156px;
  margin:0;
  padding:1.15rem 1.2rem 1.25rem 1.35rem;
  overflow:hidden;
  border-top:1px solid rgba(17,17,17,.24);
  border-bottom:1px solid rgba(17,17,17,.12);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:1rem;
  line-height:1.2;
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(241,239,232,.06));
  text-shadow:0 1px 0 rgba(255,255,255,.38),0 4px 12px rgba(17,17,17,.07);
  transition:background .38s var(--ease),border-color .38s var(--ease),transform .38s var(--ease);
}
.anatomy-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:1rem;
  bottom:1rem;
  width:2px;
  background:var(--accent);
  transform:scaleY(.45);
  transform-origin:center;
  opacity:.65;
  transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s;
}
.anatomy-copy.is-active::before{transform:scaleY(1);opacity:1;}
.anatomy-copy .anatomy-note{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.45rem .85rem;
  align-items:start;
}
.anatomy-copy .anatomy-note-index{
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:2.1rem;
  height:2.1rem;
  border:1px solid rgba(17,17,17,.22);
  border-radius:50%;
  color:var(--accent);
  font:700 .62rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.08em;
}
.anatomy-copy .anatomy-note-label{
  align-self:end;
  color:rgba(17,17,17,.56);
  font:700 .62rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.anatomy-copy .anatomy-note-text{
  margin:0;
  max-width:18rem;
  font-size:clamp(1.18rem,1.75vw,1.62rem);
  font-weight:760;
  line-height:1.03;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.anatomy-copy .anatomy-note-text em{
  color:var(--accent);
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-style:italic;
}
.anatomy-copy .anatomy-note-rule{
  grid-column:2;
  width:clamp(42px,38%,96px);
  height:1px;
  margin-top:.15rem;
  background:linear-gradient(90deg,var(--accent),rgba(255,59,24,0));
  transform-origin:left;
  animation:anatomyRuleIn .5s cubic-bezier(.16,1,.3,1) both;
}
@keyframes anatomyRuleIn{from{transform:scaleX(.15);opacity:.2}to{transform:scaleX(1);opacity:1}}
.anatomy-copy.is-motion-statement{
  display:block;
  padding:1.15rem 1.2rem 1.25rem 1.35rem;
  border-top:1px solid rgba(17,17,17,.24);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.anatomy-copy.is-motion-statement strong,
.anatomy-copy.is-motion-statement em,
.anatomy-copy.is-motion-statement strong:last-child{
  all:unset;
}
@media (max-width:900px){
  .anatomy-wrap{grid-template-columns:1fr;gap:1.4rem;}
  .anatomy-copy{min-height:132px;}
}
@media (prefers-reduced-motion:reduce){
  .anatomy-copy .anatomy-note-rule{animation:none!important;}
}



/* V24 — faster, logical scroll choreography: NOISE → ORDER → OBJECT. */
.vision-section{min-height:128svh}
.vision-stage{--vf:0;--vfrag:1;--vnoise:1;--vobject:0;--vcore:.12;--vaxis:.08}
.vision-frag{
  opacity:var(--vfrag)!important;
  transition:none!important;
  filter:blur(calc((1 - var(--vfrag)) * 1.6px));
  will-change:transform,opacity,filter;
}
/* The fragments move into eight readable lanes around the core, then disappear. */
.vision-frag.f1{left:10%;top:18%;transform:translate(calc(var(--vf)*10vw),calc(var(--vf)*8vh)) rotate(calc(-16deg + var(--vf)*12deg))!important}
.vision-frag.f2{left:72%;top:13%;transform:translate(calc(var(--vf)*-9vw),calc(var(--vf)*9vh)) rotate(calc(12deg + var(--vf)*-9deg))!important}
.vision-frag.f3{left:19%;top:72%;transform:translate(calc(var(--vf)*8vw),calc(var(--vf)*-8vh)) rotate(calc(8deg + var(--vf)*-6deg))!important}
.vision-frag.f4{left:79%;top:68%;transform:translate(calc(var(--vf)*-11vw),calc(var(--vf)*-7vh)) rotate(calc(-10deg + var(--vf)*8deg))!important}
.vision-frag.f5{left:6%;top:45%;transform:translate(calc(var(--vf)*15vw),calc(var(--vf)*-3vh)) rotate(calc(90deg + var(--vf)*-76deg))!important}
.vision-frag.f6{left:84%;top:44%;transform:translate(calc(var(--vf)*-16vw),calc(var(--vf)*4vh)) rotate(calc(-90deg + var(--vf)*76deg))!important}
.vision-frag.f7{left:42%;top:8%;transform:translate(calc(var(--vf)*-12vw),calc(var(--vf)*8vh)) rotate(calc(var(--vf)*-4deg))!important}
.vision-frag.f8{left:45%;top:84%;transform:translate(calc(var(--vf)*14vw),calc(var(--vf)*-9vh)) rotate(calc(var(--vf)*5deg))!important}

.vision-axis{transform:translateX(-50%) scaleY(calc(.08 + var(--vaxis)*.92))!important;opacity:calc(.08 + var(--vaxis)*.84)!important}
.vision-core{
  opacity:var(--vcore)!important;
  transform:translate(-50%,-50%) scale(calc(.76 + var(--vcore)*.24)) rotate(calc((1 - var(--vcore))*-5deg))!important;
  will-change:transform,opacity;
}
.vision-ring.r1{transform:rotate(calc(var(--vcore)*86deg))!important}
.vision-ring.r2{transform:rotate(calc(var(--vcore)*-116deg))!important}
.vision-glow{opacity:calc(var(--vcore)*.46)!important;transform:translate(-50%,-50%) scale(calc(.76 + var(--vcore)*.24))!important}

/* The sentence reads as a sequence, not four elements fighting at once. */
.vision-title{opacity:1!important;grid-template-columns:auto 1fr auto 1fr}
.vision-title span,.vision-title i{opacity:calc(.18 + var(--vcore)*.34)}
.vision-title strong:first-of-type{
  opacity:var(--vnoise);
  transform:translateX(calc((1 - var(--vnoise))*-6vw)) scaleX(calc(.94 + var(--vnoise)*.06))!important;
  filter:blur(calc((1 - var(--vnoise))*3px));
}
.vision-title strong:last-child{
  opacity:var(--vobject);
  transform:translateX(calc((1 - var(--vobject))*5vw)) scaleX(calc(.92 + var(--vobject)*.08))!important;
  filter:blur(calc((1 - var(--vobject))*2px));
}

@media(max-width:900px){
  .vision-section{min-height:124svh}
  .vision-title strong:first-of-type{transform:translateX(calc((1 - var(--vnoise))*-4vw))!important}
  .vision-title strong:last-child{transform:translateX(calc((1 - var(--vobject))*4vw))!important}
  .vision-frag{font-size:.67rem}
  .vision-frag.f1{transform:translate(calc(var(--vf)*7vw),calc(var(--vf)*7vh)) rotate(calc(-16deg + var(--vf)*12deg))!important}
  .vision-frag.f2{transform:translate(calc(var(--vf)*-7vw),calc(var(--vf)*8vh)) rotate(calc(12deg + var(--vf)*-9deg))!important}
  .vision-frag.f3{transform:translate(calc(var(--vf)*6vw),calc(var(--vf)*-7vh))!important}
  .vision-frag.f4{transform:translate(calc(var(--vf)*-8vw),calc(var(--vf)*-6vh))!important}
}



/* V33 — FINAL mobile layer. Appended last on purpose: legacy version styles occur after </html>. */
html,body{max-width:100%!important;overflow-x:clip!important}
img,video,canvas,svg,iframe{max-width:100%}
.section-grid>*,.project-panel>*,.anatomy-wrap>*,.about-content>*,.experimental-cut-inner>*,.method>*,.service>*{min-width:0!important}
.site-header{padding-left:max(var(--pad),env(safe-area-inset-left))!important;padding-right:max(var(--pad),env(safe-area-inset-right))!important}
.brand-mark{transition:transform .48s cubic-bezier(.16,1,.3,1),filter .35s ease!important}
.site-header.scrolled .brand-mark{transform:scale(.88)!important;transform-origin:left center!important;filter:drop-shadow(0 5px 12px rgba(17,17,17,.07))!important}
.site-header.scrolled .brand-mark .bm-d{transform:translateX(5px) rotate(-1deg)!important}
.site-header.scrolled .brand-mark .bm-o{transform:translateX(-4px) rotate(1deg)!important}
.site-header.scrolled .brand-mark .bm-axis{transform:rotate(0deg) scaleY(.78)!important}
.site-header.scrolled .brand-mark .bm-node.n1{transform:translate(5px,3px) scale(.72)!important;opacity:.72}
.site-header.scrolled .brand-mark .bm-node.n2{transform:translate(-4px,-1px) scale(.88)!important}
.site-header.scrolled .brand-mark .bm-node.n3{transform:translate(-1px,-3px) scale(.72)!important;opacity:.7}

@media(max-width:900px){
  :root{--pad:clamp(1rem,4vw,1.6rem)!important;--space:clamp(4.5rem,11vw,7rem)!important}
  body{width:100%!important;min-width:0!important}
  .site-header{min-height:72px!important;padding-top:max(.72rem,env(safe-area-inset-top))!important;padding-bottom:.72rem!important;gap:1rem!important}
  .site-header.scrolled{min-height:58px!important;padding-top:max(.48rem,env(safe-area-inset-top))!important;padding-bottom:.48rem!important;background:rgba(241,239,232,.92)!important;backdrop-filter:blur(16px) saturate(115%)!important;-webkit-backdrop-filter:blur(16px) saturate(115%)!important}
  .brand{min-width:0!important;gap:.5rem!important}
  .brand-word{min-width:0!important;max-width:15rem;overflow:hidden!important;text-overflow:clip;transition:max-width .45s cubic-bezier(.16,1,.3,1),opacity .3s ease,transform .45s cubic-bezier(.16,1,.3,1),padding .35s ease,border-color .35s ease,background .35s ease!important}
  .brand-word b{white-space:nowrap!important;font-size:.82rem!important}
  .brand-meta{font-size:.55rem!important}
  .menu-toggle{display:block!important;position:relative!important;z-index:102!important;flex:none!important;min-width:48px!important;min-height:44px!important;padding:.6rem .2rem!important;text-align:right!important;color:var(--ink)!important}
  .desktop-nav{display:none!important}
  .mobile-menu{z-index:99!important;padding:max(6.5rem,calc(env(safe-area-inset-top) + 5.5rem)) max(var(--pad),env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom)) max(var(--pad),env(safe-area-inset-left))!important;overflow-y:auto!important;overscroll-behavior:contain!important;justify-content:center!important;gap:.25rem!important}
  .mobile-menu a{font-size:clamp(2.85rem,11vw,5rem)!important;line-height:.9!important;max-width:100%!important}

  .section-grid{display:grid!important;width:100%!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-columns:minmax(0,1fr)!important;column-gap:0!important;row-gap:clamp(1.8rem,6vw,3rem)!important;padding-left:var(--pad)!important;padding-right:var(--pad)!important}
  .section-grid>*{grid-column:1!important}
  .hero{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;grid-auto-rows:auto!important;min-height:auto!important;padding-top:clamp(7rem,19vw,9rem)!important;padding-bottom:clamp(3.5rem,10vw,6rem)!important;align-content:start!important;align-items:start!important;overflow:clip!important}
  .hero .eyebrow,.hero-title,.hero-bottom,.hero-kicker,.hero-edition,.hero-do-object{grid-column:1!important;min-width:0!important;width:auto!important;max-width:100%!important;justify-self:stretch!important}
  .hero .eyebrow{grid-row:auto!important;max-width:34rem!important;line-height:1.4!important}
  .hero-edition{grid-row:auto!important;justify-self:start!important;margin:0!important;width:max-content!important;max-width:100%!important}
  .hero-title{grid-row:auto!important;width:100%!important;max-width:100%!important;font-size:clamp(3.4rem,13.2vw,7rem)!important;line-height:.82!important;letter-spacing:-.072em!important;overflow:visible!important;overflow-wrap:normal!important;word-break:normal!important}
  .hero-title span,.switch-word{display:block!important;max-width:100%!important;min-width:0!important;white-space:nowrap!important;transform:none!important}
  .hero-bottom{grid-row:auto!important;display:flex!important;width:100%!important;max-width:100%!important}
  .hero-statement{width:100%!important;max-width:100%!important;padding-right:0!important}
  .hero-statement p>strong{font-size:clamp(2.15rem,8vw,4.25rem)!important}
  .hero-statement p>em{font-size:clamp(1.45rem,5.5vw,2.5rem)!important}
  .hero-kicker{grid-row:auto!important;flex-wrap:wrap!important;row-gap:.5rem!important}
  .hero-do-object{position:relative!important;right:auto!important;top:auto!important;grid-row:auto!important;width:min(100%,520px)!important;height:clamp(260px,62vw,360px)!important;margin:.5rem auto 0!important;justify-self:center!important}
  .hero-index{display:none!important}
  .hero-orbit{opacity:.45!important;overflow:hidden!important}
  .hero-orbit span{font-size:.46rem!important;letter-spacing:.12em!important}
  .do-creative-phrase{max-width:min(78vw,22rem)!important}

  .experimental-cut{overflow:clip!important}
  .experimental-cut-inner{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:2rem!important}
  .experimental-cut-copy{max-width:100%!important}
  .design-cockpit{width:100%!important;max-width:680px!important;justify-self:stretch!important;transform:none!important;min-width:0!important}
  .cockpit-browser{width:100%!important;min-width:0!important;overflow:hidden!important}
  .cockpit-tools{min-width:0!important}

  .project-trigger{grid-template-columns:2.2rem minmax(0,1fr) 2rem!important;gap:.75rem!important;padding:1.2rem 0!important}
  .project-title{font-size:clamp(1.5rem,6vw,2.6rem)!important;line-height:.94!important;overflow-wrap:break-word!important}
  .project-meta,.project-year{display:none!important}
  .project-panel{grid-template-columns:minmax(0,1fr)!important;gap:1.5rem!important}
  .project-visual{min-height:clamp(250px,62vw,390px)!important}
  .project-browser-url{max-width:55vw!important}
  .project-actions{gap:.7rem 1rem!important}

  .method .section-label,.method>div>h2{position:static!important;top:auto!important}
  .method-list{margin-top:2.5rem!important}
  .method-list li{grid-template-columns:2.6rem minmax(0,1fr)!important;min-height:0!important;padding:1.25rem 0!important}
  .method-list p{font-size:clamp(1.45rem,6.2vw,2.6rem)!important;line-height:.96!important}

  .anatomy-wrap{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:1.4rem!important;align-items:start!important}
  .anatomy-map{padding:clamp(1rem,4vw,1.6rem)!important;width:100%!important}
  .anatomy-map button{min-height:46px!important}
  .map-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:.45rem!important}
  .map-row>span{transform:rotate(90deg)!important;justify-self:center!important}
  .anatomy-copy{width:100%!important;min-height:0!important;padding:1rem!important}
  .anatomy-copy .anatomy-note{grid-template-columns:2rem minmax(0,1fr)!important;gap:.4rem .7rem!important}

  .service{grid-template-columns:2.5rem minmax(0,1fr)!important;gap:.75rem!important;padding:1.15rem .25rem!important;margin:0!important}
  .service h3{font-size:clamp(1.6rem,7vw,2.7rem)!important;line-height:.95!important}
  .service p{grid-column:2!important;max-width:34rem!important}

  .vision-section{overflow:clip!important;padding-left:var(--pad)!important;padding-right:var(--pad)!important}
  .vision-sticky{width:100%!important}
  .vision-stage,.vision-meta{width:100%!important;max-width:100%!important}
  .vision-title{left:5%!important;right:5%!important;min-width:0!important}
  .vision-title strong{font-size:clamp(3.8rem,16vw,7.2rem)!important}
  .vision-core{width:clamp(170px,48vw,290px)!important}

  .about-content{grid-template-columns:minmax(0,1fr)!important;gap:2rem!important}
  .about-content h2{grid-column:1!important;max-width:100%!important;font-size:clamp(3.1rem,12vw,6.5rem)!important;overflow-wrap:break-word!important}
  .about-art,.about-portrait-art{width:100%!important;min-width:0!important;min-height:clamp(360px,105vw,620px)!important}
  .about-portrait{max-width:100%!important}
  .about-editorial,.about-principles,.about-name-line{min-width:0!important}
  .about-name-line{grid-template-columns:minmax(0,1fr)!important}
  .about-name-line>strong{font-size:clamp(3rem,13vw,5.5rem)!important}

  .contact{min-height:78svh!important;padding-left:var(--pad)!important;padding-right:var(--pad)!important;overflow:clip!important}
  .contact-link{max-width:100%!important;font-size:clamp(3.1rem,14vw,7rem)!important;line-height:.82!important;overflow-wrap:break-word!important}
  .contact-bottom{flex-direction:column!important;align-items:flex-start!important;gap:1.2rem!important}
}

@media(max-width:720px){
  .site-header .brand-word{max-width:12rem;opacity:1;transform:none;background:transparent!important;border-color:transparent!important;box-shadow:none!important;padding:0!important}
  .site-header.scrolled .brand{gap:.05rem!important}
  .site-header.scrolled .brand-mark{transform:scale(.78)!important;transform-origin:left center!important}
  .site-header.scrolled .brand-word{max-width:0!important;opacity:0!important;transform:translateX(-.45rem)!important;padding:0!important;border-color:transparent!important;background:transparent!important;box-shadow:none!important;pointer-events:none!important}
  .site-header.scrolled .brand-word::after{display:none!important}
  .menu-toggle{font-size:.66rem!important;letter-spacing:.1em!important}
  .hero-title{font-size:clamp(3.25rem,12.7vw,5.6rem)!important}
  .hero-edition{white-space:normal!important}
  .project-browser-bar{padding:.65rem .7rem!important}
  .project-browser-url{max-width:46vw!important}
  .cockpit-tools{grid-template-columns:minmax(0,1fr)!important}
  .cockpit-breakpoints{flex-wrap:wrap!important}
  .vision-meta{left:.65rem!important;right:.65rem!important;width:auto!important}
  .contact-bottom{font-size:.55rem!important}
}

@media(max-width:480px){
  :root{--pad:1rem!important;--space:4.75rem!important}
  .site-header{min-height:66px!important}
  .brand-mark{width:45px!important;height:40px!important;transform-origin:left center!important}
  .brand-word b{font-size:.72rem!important}
  .brand-meta{display:none!important}
  .mobile-menu a{font-size:clamp(2.6rem,13vw,4.2rem)!important}
  .hero{padding-top:6.6rem!important}
  .hero-title{font-size:clamp(3.05rem,12.4vw,4.8rem)!important;letter-spacing:-.065em!important}
  .hero-do-object{height:250px!important}
  .hero-orbit span:nth-child(n+3){display:none!important}
  .project-trigger{grid-template-columns:1.9rem minmax(0,1fr) 1.5rem!important}
  .project-title{font-size:clamp(1.35rem,7.4vw,2rem)!important}
  .project-browser-dots span{width:6px!important;height:6px!important}
  .method-list li{grid-template-columns:2rem minmax(0,1fr)!important}
  .anatomy-map{padding:.8rem!important}
  .anatomy-copy .anatomy-note{grid-template-columns:1.85rem minmax(0,1fr)!important}
  .service{grid-template-columns:2rem minmax(0,1fr)!important}
  .about-art,.about-portrait-art{min-height:390px!important}
  .contact-link{font-size:clamp(2.85rem,14.5vw,5.2rem)!important}
}

@media(prefers-reduced-motion:reduce){
  .brand-mark,.brand-word,.brand-mark .bm-d,.brand-mark .bm-o,.brand-mark .bm-axis,.brand-mark .bm-node{transition:none!important}
}



@media(max-width:480px){
  .site-header:not(.scrolled) .brand-meta{display:block!important;font-size:.47rem!important;line-height:1!important;letter-spacing:.12em!important;margin-top:.12rem!important}
}
\n\n/* WordPress / Gutenberg compatibility */
.wp-site-blocks{padding:0!important}.entry-content{margin:0!important}.wp-block-group{box-sizing:border-box}
.desktop-nav ul,.desktop-nav li,.mobile-menu ul,.mobile-menu li{display:contents;list-style:none;margin:0;padding:0}
body.admin-bar .site-header{top:32px}@media(max-width:782px){body.admin-bar .site-header{top:46px}}
.wp-block-image{margin:0}.project-shot .wp-block-image img{display:block;width:100%;height:auto}
.wp-block-heading{margin-top:0}

.dos-gutenberg-map{display:none!important}

/* 2.1 — Not a Page body copy aligned with the studio reading system */
.experimental-cut-copy{
  font-family:var(--font-sans)!important;
  font-size:clamp(.95rem,1.15vw,1.08rem)!important;
  line-height:1.58!important;
  letter-spacing:-.012em!important;
  font-weight:450!important;
  color:rgba(255,255,255,.90)!important;
  text-shadow:0 1px 0 rgba(17,17,17,.08),0 6px 16px rgba(17,17,17,.10)!important;
}

/* Signal Port — exact V45 visual */
:root{--sp-paper:#f1efe8;--sp-ink:#111;--sp-accent:#ff3b18;}
.signal-port{position:fixed;right:clamp(10px,1.5vw,22px);top:58%;z-index:2147483600;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity .65s ease,transform .65s cubic-bezier(.16,1,.3,1)}
.signal-port.is-ready{opacity:1;pointer-events:auto;transform:translateY(-50%)}
.signal-port *{box-sizing:border-box}
.signal-port-rail{position:relative;width:24px;height:118px;border:0;background:transparent;padding:0;cursor:pointer;display:block;isolation:isolate}
.signal-port-readable{position:absolute;right:18px;top:50%;min-width:124px;height:46px;padding:7px 13px 7px 14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;transform:translateY(-50%);background:rgba(241,239,232,.88);border:1px solid rgba(17,17,17,.14);box-shadow:0 12px 34px rgba(17,17,17,.10),inset 0 1px 0 rgba(255,255,255,.58);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:999px;color:var(--sp-ink);white-space:nowrap;transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s ease,border-color .38s ease;background .38s ease}
.signal-port-readable b{font-size:10px;line-height:1;font-weight:950;letter-spacing:.18em}
.signal-port-readable small{font-size:7px;line-height:1;font-weight:850;letter-spacing:.16em;color:rgba(17,17,17,.46)}
.signal-port-readable i{position:absolute;right:11px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--sp-accent);transform:translateY(-50%);box-shadow:0 0 0 0 rgba(255,59,24,.18);animation:signalReadablePulse 2.8s ease-out infinite}
@keyframes signalReadablePulse{0%,56%,100%{box-shadow:0 0 0 0 rgba(255,59,24,0)}68%{box-shadow:0 0 0 9px rgba(255,59,24,.08)}}
.signal-port-rail:hover .signal-port-readable,.signal-port-rail:focus-visible .signal-port-readable{transform:translateY(-50%) translateX(-4px);border-color:rgba(255,59,24,.34);background:rgba(241,239,232,.96);box-shadow:0 16px 42px rgba(17,17,17,.13),0 0 0 1px rgba(255,59,24,.04)}
.signal-port.is-open .signal-port-readable{opacity:0;transform:translateY(-50%) translateX(12px);pointer-events:none}

.signal-port-rail:focus-visible{outline:2px solid var(--sp-accent);outline-offset:8px;border-radius:999px}
.signal-port-line{position:absolute;left:50%;top:8px;bottom:8px;width:1px;background:linear-gradient(180deg,transparent,rgba(17,17,17,.35) 16%,rgba(17,17,17,.35) 84%,transparent);transform:translateX(-50%)}
.signal-port-line::before,.signal-port-line::after{content:"";position:absolute;left:50%;width:7px;height:1px;background:rgba(17,17,17,.32);transform:translateX(-50%)}
.signal-port-line::before{top:26%}.signal-port-line::after{bottom:26%}
.signal-carrier{position:absolute;left:50%;top:12px;width:9px;height:9px;border-radius:50%;background:var(--sp-accent);box-shadow:0 0 0 0 rgba(255,59,24,.22),0 4px 18px rgba(255,59,24,.28);transform:translateX(-50%);animation:signalCarrier 5.2s cubic-bezier(.65,0,.35,1) infinite}
@keyframes signalCarrier{0%,100%{top:12px;box-shadow:0 0 0 0 rgba(255,59,24,0),0 4px 18px rgba(255,59,24,.2)}18%{top:38px}24%{box-shadow:0 0 0 12px rgba(255,59,24,.07),0 6px 22px rgba(255,59,24,.28)}48%{top:91px}68%{top:64px}82%{top:91px}}
.signal-port-code{position:absolute;right:18px;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:100% 50%;white-space:nowrap;font-size:8px;font-weight:900;letter-spacing:.22em;color:rgba(17,17,17,.42);text-transform:uppercase;opacity:0;transition:opacity .28s ease,transform .42s cubic-bezier(.16,1,.3,1)}
.signal-port-rail:hover .signal-port-code,.signal-port-rail:focus-visible .signal-port-code{opacity:1;transform:translateY(-50%) rotate(-90deg) translateY(-3px)}
.signal-port-ring{position:absolute;left:50%;top:50%;width:24px;height:24px;border:1px solid rgba(255,59,24,.22);border-radius:50%;transform:translate(-50%,-50%) scale(.5);opacity:0;pointer-events:none}
.signal-port-rail:hover .signal-port-ring,.signal-port-rail:focus-visible .signal-port-ring{animation:signalPing 1.4s ease-out infinite}
@keyframes signalPing{0%{opacity:.55;transform:translate(-50%,-50%) scale(.45)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.8)}}
.signal-deck{position:absolute;right:42px;top:50%;width:min(430px,calc(100vw - 72px));min-height:500px;transform:translate(22px,-50%) scale(.965);transform-origin:100% 50%;background:rgba(241,239,232,.94);border:1px solid rgba(17,17,17,.16);border-radius:30px;box-shadow:0 32px 100px rgba(17,17,17,.22),inset 0 1px 0 rgba(255,255,255,.72);backdrop-filter:blur(26px) saturate(1.06);-webkit-backdrop-filter:blur(26px) saturate(1.06);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease,transform .48s cubic-bezier(.16,1,.3,1);overflow:hidden}
.signal-port.is-open .signal-deck{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,-50%) scale(1)}
.signal-deck::before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 76% 18%,rgba(255,59,24,.19),transparent 26%),radial-gradient(circle at 20% 80%,rgba(255,59,24,.07),transparent 30%);pointer-events:none}
.signal-deck-head{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 20px 12px;border-bottom:1px solid rgba(17,17,17,.11)}
.signal-deck-id{font-size:8px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:rgba(17,17,17,.45)}
.signal-deck-title{margin-top:5px;font-size:clamp(25px,5vw,39px);line-height:.88;font-weight:900;letter-spacing:-.065em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.34),0 10px 22px rgba(17,17,17,.055)}
.signal-deck-title em{font-style:normal;color:var(--sp-accent)}
.signal-deck-close{width:38px;height:38px;border:1px solid rgba(17,17,17,.13);border-radius:50%;background:rgba(255,255,255,.26);display:grid;place-items:center;cursor:pointer;font-size:20px;line-height:1;transition:transform .28s ease,background .28s ease}
.signal-deck-close:hover{transform:rotate(11deg);background:rgba(255,255,255,.72)}
.signal-deck-close:focus-visible{outline:2px solid var(--sp-accent);outline-offset:3px}
.signal-radar{position:relative;z-index:1;width:300px;height:300px;margin:2px auto 4px;border-radius:50%;isolation:isolate}
.signal-radar::before,.signal-radar::after{content:"";position:absolute;border-radius:50%;inset:26px;border:1px solid rgba(17,17,17,.1)}
.signal-radar::after{inset:75px;border-color:rgba(255,59,24,.16)}
.signal-axis-x,.signal-axis-y{position:absolute;left:50%;top:50%;background:rgba(17,17,17,.09);pointer-events:none}.signal-axis-x{width:248px;height:1px;transform:translate(-50%,-50%)}.signal-axis-y{width:1px;height:248px;transform:translate(-50%,-50%)}
.signal-sweep{position:absolute;left:50%;top:50%;width:132px;height:1px;background:linear-gradient(90deg,var(--sp-accent),transparent);transform-origin:0 50%;animation:signalSweep 6.8s linear infinite;opacity:.58;pointer-events:none}
@keyframes signalSweep{to{transform:rotate(360deg)}}
.signal-center{position:absolute;left:50%;top:50%;width:74px;height:74px;border-radius:50%;transform:translate(-50%,-50%);border:1px solid rgba(17,17,17,.18);background:rgba(241,239,232,.72);display:grid;place-items:center;box-shadow:0 12px 34px rgba(17,17,17,.08),inset 0 1px 0 rgba(255,255,255,.65)}
.signal-center::before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--sp-accent);box-shadow:0 0 0 8px rgba(255,59,24,.07)}
.signal-center-label{position:absolute;top:52px;font-size:7px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:rgba(17,17,17,.45)}
.signal-frequency{position:absolute;width:72px;height:72px;border-radius:50%;border:1px solid rgba(17,17,17,.16);background:rgba(255,255,255,.34);color:var(--sp-ink);display:grid;place-items:center;cursor:pointer;text-align:center;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 8px 24px rgba(17,17,17,.05);transition:transform .4s cubic-bezier(.16,1,.3,1),background .25s ease,border-color .25s ease,color .25s ease;z-index:3}
.signal-frequency::after{content:"";position:absolute;inset:7px;border-radius:50%;border:1px dashed rgba(17,17,17,.11);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.signal-frequency:hover,.signal-frequency:focus-visible,.signal-frequency.is-active{transform:scale(1.08);background:var(--sp-ink);color:#fff;border-color:var(--sp-ink);outline:none}
.signal-frequency:hover::after,.signal-frequency.is-active::after{transform:rotate(28deg);border-color:rgba(255,255,255,.24)}
.signal-frequency.is-active{box-shadow:0 0 0 9px rgba(255,59,24,.08),0 12px 30px rgba(17,17,17,.12)}
.signal-frequency.idea{left:18px;top:48px}.signal-frequency.site{right:14px;top:88px}.signal-frequency.cost{left:84px;bottom:8px}
.signal-frequency small{display:block;font-size:6px;letter-spacing:.13em;color:var(--sp-accent);margin-top:2px}.signal-frequency.is-active small,.signal-frequency:hover small{color:#ff8068}
.signal-wave{position:absolute;left:0;right:0;bottom:6px;height:26px;opacity:.22;overflow:hidden;pointer-events:none}.signal-wave i{position:absolute;bottom:0;width:1px;background:var(--sp-accent);animation:waveBars 1.8s ease-in-out infinite;transform-origin:bottom}.signal-wave i:nth-child(1){left:8%;height:8px}.signal-wave i:nth-child(2){left:16%;height:17px;animation-delay:.14s}.signal-wave i:nth-child(3){left:24%;height:10px;animation-delay:.28s}.signal-wave i:nth-child(4){left:32%;height:22px;animation-delay:.42s}.signal-wave i:nth-child(5){left:40%;height:13px;animation-delay:.56s}.signal-wave i:nth-child(6){left:48%;height:25px;animation-delay:.7s}.signal-wave i:nth-child(7){left:56%;height:12px;animation-delay:.84s}.signal-wave i:nth-child(8){left:64%;height:20px;animation-delay:.98s}.signal-wave i:nth-child(9){left:72%;height:9px;animation-delay:1.12s}.signal-wave i:nth-child(10){left:80%;height:16px;animation-delay:1.26s}.signal-wave i:nth-child(11){left:88%;height:7px;animation-delay:1.4s}
@keyframes waveBars{0%,100%{transform:scaleY(.35);opacity:.4}50%{transform:scaleY(1);opacity:1}}
.signal-compose{position:relative;z-index:2;margin:0 18px 18px;border-top:1px solid rgba(17,17,17,.12);padding-top:13px;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .44s cubic-bezier(.16,1,.3,1),opacity .28s ease}
.signal-compose.is-visible{grid-template-rows:1fr;opacity:1}.signal-compose-inner{overflow:hidden}
.signal-compose-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px;font-size:7px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:rgba(17,17,17,.44)}
.signal-compose-meta b{color:var(--sp-accent)}
.signal-message{width:100%;min-height:82px;resize:none;border:0;border-bottom:1px solid rgba(17,17,17,.22);background:transparent;padding:10px 2px 11px;color:var(--sp-ink);font:600 12.5px/1.5 Inter,ui-sans-serif,system-ui,sans-serif;outline:none}
.signal-message:focus{border-bottom-color:var(--sp-accent)}
.signal-transmit{margin-top:12px;width:100%;height:50px;border:0;border-radius:999px;background:var(--sp-ink);color:#fff;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;transition:transform .3s cubic-bezier(.16,1,.3,1),background .25s ease}
.signal-transmit:hover{transform:translateY(-2px);background:var(--sp-accent)}.signal-transmit:focus-visible{outline:2px solid var(--sp-accent);outline-offset:3px}.signal-transmit strong{font-size:16px;font-weight:500}.signal-transmit small{font-size:7px;opacity:.62;margin-left:auto}
.signal-note{display:none;margin:8px 2px 0;font-size:8px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:rgba(17,17,17,.46)}.signal-note.is-visible{display:block}
@media(max-width:680px){.signal-port{top:auto;bottom:18px;right:13px;transform:none}.signal-port.is-ready{transform:none}.signal-port-rail{width:54px;height:54px;border-radius:50%;background:rgba(241,239,232,.88);border:1px solid rgba(17,17,17,.16);box-shadow:0 12px 34px rgba(17,17,17,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.signal-port-line{top:10px;bottom:10px}.signal-carrier{top:9px;animation:signalCarrierMobile 4.6s cubic-bezier(.65,0,.35,1) infinite}.signal-port-code{display:none}@keyframes signalCarrierMobile{0%,100%{top:9px}40%{top:35px}70%{top:20px}}.signal-deck{position:fixed;left:10px;right:10px;bottom:10px;top:auto;width:auto;min-height:0;max-height:min(690px,calc(100dvh - 20px));overflow:auto;transform:translateY(28px) scale(.985);transform-origin:50% 100%;border-radius:25px}.signal-port.is-open .signal-deck{transform:none}.signal-radar{width:278px;height:278px}.signal-frequency.idea{left:10px;top:45px}.signal-frequency.site{right:7px;top:84px}.signal-frequency.cost{left:75px;bottom:5px}.signal-deck-title{font-size:31px}.signal-deck-head{padding:17px 17px 10px}.signal-compose{margin:0 16px 16px}}

@media(max-width:700px){
  .signal-port{right:10px;top:auto;bottom:18px;transform:none}
  .signal-port.is-ready{transform:none}
  .signal-port-rail{width:56px;height:56px;border-radius:50%;background:rgba(241,239,232,.9);border:1px solid rgba(17,17,17,.14);box-shadow:0 10px 30px rgba(17,17,17,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .signal-port-readable{right:48px;min-width:106px;height:42px;padding:7px 26px 7px 12px}
  .signal-port-readable b{font-size:9px}
  .signal-port-readable small{font-size:6px}
  .signal-port-line{top:11px;bottom:11px}
  .signal-port-code{display:none}
}
@media(prefers-reduced-motion:reduce){.signal-port *,.signal-port *::before,.signal-port *::after{animation:none!important;transition-duration:.01ms!important}}


/* WordPress fidelity layer: neutralize only Gutenberg front-end layout interference. */
html,body{margin:0!important;padding:0!important}
.entry-content{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
.entry-content>.wp-block-group,.entry-content>section{max-width:none!important;margin-block-start:0!important;margin-block-end:0!important}
.entry-content .is-layout-flow,.entry-content .is-layout-constrained,.entry-content .is-layout-flex,.entry-content .is-layout-grid{max-width:none!important}
.entry-content .wp-block-group-is-layout-flow,.entry-content .wp-block-group-is-layout-constrained{max-width:none!important}
.entry-content [style*="--wp--style--global--content-size"],.entry-content [style*="--wp--style--global--wide-size"]{max-width:none!important}
.desktop-nav ul,.desktop-nav li,.mobile-menu ul,.mobile-menu li{display:contents;list-style:none;margin:0;padding:0}
.wp-block-heading{margin-top:0}
.wp-block-image{margin:0}
body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
.dos-gutenberg-map{display:none!important}
