@import url('https://fonts.googleapis.com/css2?family=Anton&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#181816;--paper:#eae9e3;--accent:#e74d32;--line:#aaa9a1;--serif:Georgia,'Times New Roman',serif;--sans:'Space Grotesk','Arial',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 'DM Sans',Arial,sans-serif;overflow-x:hidden}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}a:hover{text-decoration-color:var(--accent)}button{font:inherit}img{max-width:100%;height:auto}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;transform:translateY(-150%);background:white;padding:1rem;z-index:1000}.skip:focus{transform:none}.top{position:fixed;z-index:90;top:0;width:100%;padding:18px 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(130,130,125,.35);background:rgba(234,233,227,.90);backdrop-filter:blur(15px)}.brand{font:700 1rem/1 var(--sans);letter-spacing:-.05em}.brand b{font-size:1.3rem}.topnav{display:flex;align-items:center;gap:2rem}.topnav a{font:600 .72rem/1 var(--sans);text-transform:uppercase;letter-spacing:.09em}.navbtn{display:none;background:none;border:0;cursor:pointer;font-weight:700}.tiny{font:.68rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase}.eyebrow{color:var(--accent)}.number{font:500 .72rem var(--sans);color:#65655f}.wrap{width:min(1400px,92%);margin:auto}.big{font:600 clamp(3.8rem,10vw,11.5rem)/.85 var(--sans);letter-spacing:-.105em;margin:0}.display{font:600 clamp(3.2rem,7vw,8rem)/.95 var(--sans);letter-spacing:-.085em;margin:0}.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.065em}.hero{position:relative;min-height:100svh;padding:25vh 4vw 8vh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero-head{position:relative;z-index:2;max-width:1300px}.hero-head .big>span{display:block}.hero-head .big .indent{margin-left:12vw}.hero-head .big .orange{color:var(--accent)}.hero-meta{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:24px}.hero-meta p{max-width:420px;font-size:clamp(1rem,1.4vw,1.3rem);margin:0}.spin{position:absolute;right:-5vw;top:16%;width:32vw;min-width:300px;aspect-ratio:1;border:1px solid rgba(231,77,50,.5);border-radius:50%;display:grid;place-items:center;transform:translate3d(0,var(--float,0),0) rotate(var(--rot,0deg));opacity:.82}.spin:before,.spin:after{content:'';position:absolute;inset:14%;border:1px solid rgba(231,77,50,.45);border-radius:50%}.spin:after{inset:29%;background:var(--accent);border:0;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.scroll-label{writing-mode:vertical-rl;letter-spacing:.25em;font-size:.7rem}.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;background:var(--accent);color:var(--paper)}.ticker span{white-space:nowrap;display:block;font:700 clamp(1.5rem,3vw,3rem) var(--sans);letter-spacing:-.05em;animation:marquee 28s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.intro{padding:18vh 0 20vh}.intro-grid{display:grid;grid-template-columns:1fr 2.3fr;gap:5vw}.intro-copy{font:400 clamp(1.9rem,4vw,4.8rem)/1.12 var(--sans);letter-spacing:-.055em;margin:0}.intro-copy em{color:var(--accent);font-family:var(--serif)}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:7vh;border-top:1px solid var(--line);padding-top:20px}.intro-bottom p{max-width:540px}.section-head{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding-top:20px;margin-bottom:6vh}.section-head h2{margin:0}.projects{padding:5vh 0 18vh}.project{display:grid;grid-template-columns:1fr 1.15fr;gap:5%;padding:6vh 0;border-bottom:1px solid var(--line);min-height:65vh;align-items:center}.project:nth-child(even) .project-media{order:-1}.project-copy h3{font:600 clamp(3.5rem,7vw,8rem)/.93 var(--sans);letter-spacing:-.09em;margin:1.4rem 0}.project-copy p{max-width:440px;font-size:1.1rem}.project-copy .count{color:var(--accent)}.project-media{height:min(68vh,620px);min-height:300px;position:relative;overflow:hidden;background:#211f1c;color:white;display:flex;align-items:center;justify-content:center;isolation:isolate}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.project:hover .project-media img{transform:scale(1.06)}.project-media:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.28),transparent 40%)}.media-type{position:absolute;bottom:2rem;left:2rem;z-index:2;font:.75rem var(--sans);letter-spacing:.18em;text-transform:uppercase}.typographic-art{font:700 clamp(5rem,15vw,17rem)/.8 var(--sans);letter-spacing:-.13em;color:#f5ede7;transform:rotate(-9deg) translateX(-4%);user-select:none}.media-bp{background:#17372f}.media-bp:before{content:'';position:absolute;inset:10%;border:1px solid #89bea5;border-radius:50%;transform:scaleX(1.5)}.media-bp .typographic-art{font-size:clamp(4rem,10vw,11rem);color:#d5ebdd}.media-lunori{background:#d0adce;color:#32233e}.media-lunori .typographic-art{color:#342b45;font-size:clamp(3rem,10vw,11rem)}.media-art{background:repeating-linear-gradient(125deg,#332d2b,#332d2b 9%,#80594b 10%,#c18e5c 20%,#262e2c 25%)}.media-art .typographic-art{font-size:clamp(2.5rem,7vw,9rem);color:#f1dfc8;mix-blend-mode:screen}.visit{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid var(--ink);padding:10px 0;font:600 .83rem var(--sans);text-transform:uppercase;letter-spacing:.05em}.visit span{color:var(--accent)}.feature-scroll{height:290vh;position:relative;background:var(--ink);color:var(--paper)}.feature-sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;place-items:center}.feature-bg{position:absolute;inset:0;opacity:.28;background:radial-gradient(circle at 50% 50%,#a54f38 1%,transparent 38%);transform:scale(var(--zoom,1)) rotate(var(--turn,0deg))}.feature-ring{position:absolute;border:1px solid #70655d;width:min(75vmin,700px);aspect-ratio:1;border-radius:50%;transform:scale(var(--scale,1)) rotate(var(--turn,0deg))}.feature-ring:after{content:'';position:absolute;inset:17%;border:1px solid var(--accent);border-radius:50%}.feature-stage{text-align:center;position:relative;z-index:2;width:90%}.feature-stage h2{font:600 clamp(3rem,9vw,10rem)/.95 var(--sans);letter-spacing:-.1em;max-width:1200px;margin:0 auto}.feature-stage p{font-size:clamp(1rem,1.7vw,1.4rem);max-width:630px;margin:3rem auto 0}.phase{position:absolute;right:4%;bottom:5%;font:500 .8rem var(--sans);color:#aaa}.phase b{color:var(--accent)}.method{padding:15vh 0}.method-row{display:grid;grid-template-columns:.6fr 2fr 1.4fr;gap:5%;border-top:1px solid var(--line);padding:3.2rem 0;align-items:start}.method-row h3{font:600 clamp(1.8rem,3.5vw,4rem)/1 var(--sans);letter-spacing:-.06em;margin:0}.method-row p{margin:0;font-size:1rem;max-width:420px}.method-row .number{font-size:1rem;color:var(--accent)}.cta{background:var(--accent);color:#f8f3ec;padding:14vh 4vw 7vh}.cta h2{font:600 clamp(4rem,12vw,14rem)/.82 var(--sans);letter-spacing:-.11em;margin:2rem 0 6rem}.cta a{display:inline-block;border:1px solid #fff;padding:15px 22px;min-width:250px;text-align:center}.cta a:hover{background:white;color:var(--accent)}footer{display:flex;justify-content:space-between;padding:2rem 4vw;background:var(--ink);color:#ddd;font:.72rem var(--sans);gap:20px}.progress{position:fixed;z-index:100;top:0;height:3px;width:0;background:var(--accent);pointer-events:none}.page-hero{padding:23vh 4vw 8vh;min-height:65vh}.page-hero p{max-width:620px;font-size:1.25rem}.case-cover{min-height:72vh;position:relative;background:#20201f;overflow:hidden;display:grid;place-items:center}.case-cover img{width:100%;height:75vh;object-fit:cover}.case-cover .cover-word{color:#e7e5e0;font:700 clamp(5rem,18vw,20rem)/1 var(--sans);letter-spacing:-.12em}.case-cover.bp{background:#15372f}.case-cover.lunori{background:#d4b5d3}.case-cover.art{background:#855b48}.case-grid{display:grid;grid-template-columns:1fr 2fr;gap:6vw;padding:12vh 0}.case-grid h2{font:600 clamp(2rem,4vw,5rem)/1 var(--sans);letter-spacing:-.07em;margin:0}.case-body{font-size:clamp(1.1rem,1.5vw,1.3rem);max-width:850px}.case-body h3{font:600 1.35rem var(--sans);margin:2rem 0 .4rem}.case-body p{margin:0 0 1.5rem}.case-body ul{padding-left:1.2rem}.note{font-size:.85rem;color:#686761;border-top:1px solid var(--line);padding-top:20px}.visual-strip{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem 0 12vh}.visual-strip img{height:420px;width:100%;object-fit:cover}.visual-strip figure{margin:0}.visual-strip figcaption{font-size:.75rem;margin-top:1rem;color:#67655e}.subpage{padding:13vh 0}.editorial-block{display:grid;grid-template-columns:1fr 2fr;gap:7%;border-top:1px solid var(--line);padding:4rem 0}.editorial-block h2{font:600 clamp(2rem,4vw,4rem)/1 var(--sans);letter-spacing:-.06em;margin:0}.editorial-block p{max-width:800px;font-size:1.2rem;margin:0}.ai-map{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:5rem 0}.ai-map article{border:1px solid var(--line);padding:2rem;min-height:260px}.ai-map b{font:600 2.5rem var(--sans);color:var(--accent)}.ai-map h3{font:600 1.4rem var(--sans)}.motion-ready .reveal{opacity:0;transform:translate3d(0,52px,0);transition:opacity .8s,transform .9s cubic-bezier(.2,.7,.1,1)}.motion-ready .reveal.shown{opacity:1;transform:none}.motion-ready .project-media{clip-path:inset(0 0 13% 0);transition:clip-path 1.1s cubic-bezier(.2,.7,.1,1)}.motion-ready .project-media.shown{clip-path:inset(0)}@media(max-width:850px){.topnav{display:none;position:absolute;top:60px;right:0;width:100%;background:var(--paper);padding:2rem 4vw;border-bottom:1px solid var(--line);flex-direction:column;align-items:start}.topnav.open{display:flex}.navbtn{display:block}.hero{padding-top:20vh}.hero-head .big .indent{margin-left:0}.spin{top:25%;right:-130px;opacity:.28}.hero-meta{align-items:start;flex-direction:column}.intro-grid,.intro-bottom,.project,.case-grid,.editorial-block{grid-template-columns:1fr}.project:nth-child(even) .project-media{order:0}.project{gap:2rem}.project-media{height:55vh}.method-row{grid-template-columns:30px 1fr}.method-row p{grid-column:2}.ai-map{grid-template-columns:1fr}.visual-strip{grid-template-columns:1fr}.visual-strip img{height:auto}.feature-scroll{height:230vh}.page-hero{min-height:55vh}.section-head{gap:1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker span{animation:none}.motion-ready .reveal,.motion-ready .project-media{opacity:1;transform:none;clip-path:none;transition:none}}

/* ═══════════════════════════════════════════════════════════════════════
   V3 · SWISS EDITORIAL / SCROLL-DIRECTED FILM
   User supplied source motion, integrated as a video scrub timeline.
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  --ink: #2B2D31;
  --paper: #F7F7F5;
  --accent: #FF6B4A;
  --line: #D8DADD;
  --graphite: #5A6068;
  --silver: #D8DADD;
  --sans: 'Helvetica Neue', 'Space Grotesk', Arial, sans-serif;
  --swiss: 'Anton', 'Arial Narrow', Impact, sans-serif;
}
body {background:var(--paper);}
.top {background:rgba(247,247,245,.91);border-color:rgba(43,45,49,.12);}
.brand {letter-spacing:-.035em;}
.topnav a:hover {color:var(--accent)}
.hero-scroll {position:relative;height:340svh;background:var(--paper);color:var(--ink)}
.hero-pin {position:sticky;top:0;height:100svh;min-height:520px;overflow:hidden;isolation:isolate;background:var(--paper)}
.hero-film {position:absolute;inset:0 0 0 22%;pointer-events:none;z-index:-2;overflow:hidden;background:#e9dacc}
.hero-video {position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:56% 50%;background:#e9dacc}
.hero-film-wash {position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(247,247,245,.98) 15%,rgba(247,247,245,.85) 30%,rgba(247,247,245,.34) 55%,transparent 75%)}
.hero-layout-guides {pointer-events:none;position:absolute;z-index:-1;inset:0 4vw;opacity:.24;border-left:1px solid var(--graphite);border-right:1px solid var(--graphite);background:linear-gradient(to right,transparent 33.3%,rgba(43,45,49,.15) 33.34%,transparent 33.4%,transparent 66.6%,rgba(43,45,49,.15) 66.64%,transparent 66.7%)}
.hero-upper {position:absolute;top:clamp(98px,15vh,155px);left:4vw;right:4vw;display:flex;align-items:center;justify-content:space-between;gap:12px;font:700 .7rem/1.5 var(--sans);letter-spacing:.095em;z-index:4}
.hero-upper-label {display:inline-flex;gap:10px;align-items:center}
.hero-upper-dot {display:inline-block;height:9px;width:9px;border-radius:100%;background:var(--accent);box-shadow:0 0 0 4px rgba(255,107,74,.15)}
.hero-scenes {position:absolute;inset:0 4vw 0;display:flex;align-items:center;pointer-events:none}
.hero-scene {position:absolute;left:0;top:50%;width:min(740px,74%);transform:translate3d(0,calc(-44% + 30px),0);opacity:0;visibility:hidden;transition:opacity .4s ease, transform .58s cubic-bezier(.22,1,.36,1),visibility 0s .4s;will-change:opacity,transform}
.hero-scene.is-active {opacity:1;visibility:visible;transform:translate3d(0,-44%,0);transition:opacity .52s ease,transform .7s cubic-bezier(.22,1,.36,1),visibility 0s}
.hero-scene-n {display:block;border-top:3px solid var(--ink);padding-top:13px;font:700 .7rem/1.2 var(--sans);letter-spacing:.13em;margin-bottom:25px;max-width:510px}
.hero-swiss-title {font:400 clamp(4.75rem,9vw,10.5rem)/.87 var(--swiss);letter-spacing:-.017em;margin:0;text-transform:uppercase;max-width:100%;text-wrap:balance}
.hero-swiss-title>span {display:block;white-space:nowrap}
.hero-title-stop {color:var(--accent)}
.hero-outline {-webkit-text-stroke:2px var(--ink);color:transparent}
.hero-coral-line {color:var(--accent)}
.hero-scene p {font:500 clamp(1rem,1.5vw,1.25rem)/1.45 var(--sans);max-width:420px;margin:27px 0 0;letter-spacing:-.018em}
.hero-footer {position:absolute;left:4vw;right:4vw;bottom:5vh;display:grid;grid-template-columns:1fr 1fr 250px;gap:22px;align-items:end;z-index:4}
.hero-person {display:flex;flex-direction:column;gap:2px;font:700 .7rem/1.45 var(--sans);letter-spacing:.065em}
.hero-person span {color:var(--graphite);font-weight:500}
.hero-scroll-hint {display:flex;align-items:center;gap:18px;font:700 .64rem/1.25 var(--sans);letter-spacing:.11em;max-width:250px}
.hero-arrow {border:1px solid var(--ink);border-radius:100%;width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;font-size:1.1rem}
.hero-timeline {height:4px;background:rgba(43,45,49,.22);grid-column:3;grid-row:1;align-self:end;margin-bottom:30px;overflow:hidden}
.hero-timeline-fill {height:100%;width:var(--hero-percent,0%);background:var(--accent);transition:width .08s linear}
.hero-time {grid-column:3;grid-row:1;align-self:end;text-align:right;font:700 .7rem/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.05em}
.hero-side-label {position:absolute;right:1vw;top:51%;writing-mode:vertical-rl;transform:translateY(-50%);font:600 .57rem var(--sans);letter-spacing:.16em;opacity:.62}
/* Swiss editorial continuation */
.ticker {background:var(--accent);color:var(--ink)}
.projects .project-copy .count, .number {color:var(--graphite)}
.feature-scroll {background:var(--ink)}
.feature-ring:after {border-color:var(--accent)}
.cta {color:var(--ink)}
.cta a {border-color:var(--ink)}
.cta a:hover {background:var(--ink);color:white}
::selection {background:var(--accent);color:var(--ink)}
@media(max-width:1050px) {
  .hero-film {left:20%}
  .hero-swiss-title {font-size:clamp(4.2rem,9.7vw,8rem)}
  .hero-scene {width:80%}
  .hero-footer {grid-template-columns:1fr 1fr 160px}
}
@media(max-width:700px) {
  .hero-scroll {height:290svh}
  .hero-pin {min-height:0}
  .hero-film {inset:25% -38% 12% -8%;opacity:.92}
  .hero-video {object-position:58% center}
  .hero-film-wash {background:linear-gradient(180deg,var(--paper) 0%,rgba(247,247,245,.92) 13%,rgba(247,247,245,.18) 45%,rgba(247,247,245,.32) 72%,var(--paper) 100%)}
  .hero-upper {top:92px;flex-direction:column;align-items:start;gap:4px;font-size:.59rem;letter-spacing:.075em}
  .hero-scenes {inset:0 5vw}
  .hero-scene {top:35%;width:100%;transform:translate3d(0,calc(-50% + 24px),0)}
  .hero-scene.is-active {transform:translate3d(0,-50%,0)}
  .hero-scene-n {max-width:290px;border-top-width:2px;font-size:.57rem;padding-top:11px;margin-bottom:17px}
  .hero-swiss-title {font-size:clamp(3.75rem,13.4vw,6.2rem);line-height:.91}
  .hero-scene p {margin-top:18px;font-size:.91rem;max-width:280px;text-shadow:0 1px 12px var(--paper)}
  .hero-footer {left:5vw;right:5vw;bottom:28px;grid-template-columns:1fr auto;gap:15px 10px;align-items:end}
  .hero-scroll-hint {order:1;grid-column:1 / 3;grid-row:1;font-size:.58rem}
  .hero-person {grid-column:1;grid-row:2;font-size:.59rem}
  .hero-timeline {grid-column:1 / 3;grid-row:3;margin:0;height:3px}
  .hero-time {grid-column:2;grid-row:2;font-size:.59rem}
  .hero-side-label {display:none}
  .hero-layout-guides {inset:0 5vw}
}
@media(max-width:380px) {
 .hero-swiss-title {font-size:13vw}
 .hero-upper {top:82px}
}
@media(prefers-reduced-motion:reduce) {
  .hero-scroll {height:100svh}
  .hero-film {background-image:url('../assets/hero-poster.webp');background-size:cover;background-position:center}
  .hero-video {display:none}
  .hero-scene {display:none;transition:none;transform:translate3d(0,-44%,0)}
  .hero-scene[data-hero-scene="0"] {display:block;opacity:1;visibility:visible}
  .hero-timeline-fill {transition:none}
}
