:root{--bg:#0b090f;--surface:#17131e;--surface-2:#332b3e;--text:#fffdf9;--muted:#a59bad;--line:#3f3747;--violet:#9d63ff;--lilac:#d7b8ff;--ease:cubic-bezier(.52,.01,0,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif;font-weight:400;letter-spacing:0}button,a{font:inherit;color:inherit}button{cursor:pointer}.site-header{height:86px;position:absolute;z-index:10;top:0;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);display:flex;align-items:center;border-bottom:1px solid rgba(255,253,249,.18)}.brand{margin-right:auto;display:block}.brand img{display:block;width:136px;height:44px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}nav{display:flex;gap:32px;margin-right:40px}nav a{text-decoration:none;font-size:14px;text-transform:uppercase}nav a:hover{color:var(--lilac)}.outline-btn{border:1px solid var(--text);background:transparent;border-radius:5px;padding:10px 16px;text-transform:uppercase;font-size:14px;transition:.5s var(--ease)}.outline-btn:hover{background:var(--text);color:var(--bg)}.outline-btn.large{padding:16px 20px;font-size:15px}.hero{min-height:100svh;position:relative;overflow:hidden;padding:126px clamp(20px,4vw,64px) 44px;display:flex;align-items:flex-end}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,9,15,.35),transparent 70%);pointer-events:none}#prism{position:absolute;inset:0;width:100%;height:100%}.hero-copy{position:relative;z-index:2;width:100%}.hero h1{font-size:clamp(54px,7.2vw,116px);line-height:.98;font-weight:400;max-width:1280px;margin:0 0 54px;letter-spacing:-.02em}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.hero-bottom p{font-size:clamp(20px,2vw,29px);line-height:1.25;max-width:540px;margin:0}.hero-actions{display:flex;gap:30px}.text-link{border:0;border-bottom:1px solid currentColor;background:none;padding:0 0 7px;text-transform:uppercase;font-size:14px}.text-link span{margin-left:20px}.text-link.muted{color:var(--muted)}.hero-index{position:absolute;z-index:2;right:clamp(20px,4vw,64px);top:112px;font-size:13px;color:var(--muted)}.section{padding:clamp(92px,10vw,160px) clamp(20px,4vw,64px);max-width:1600px;margin:auto}.section-kicker{text-transform:uppercase;font-size:14px;color:var(--muted);margin-bottom:46px}.section h2{font-weight:400;font-size:clamp(48px,6.5vw,104px);line-height:1.01;letter-spacing:-.02em;margin:0 0 84px}.services{background:var(--surface);max-width:none}.services>*{max-width:1472px;margin-left:auto;margin-right:auto}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:90px minmax(0,1fr) 200px;gap:20px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start;transition:.5s var(--ease)}.service-row:hover{padding-left:18px;color:var(--lilac)}.service-row--lead{padding-top:50px;padding-bottom:50px}.service-number,.service-price{font-size:14px;color:var(--muted);text-transform:uppercase}.service-price{text-align:right}.service-row h3{font-size:clamp(36px,4.2vw,68px);line-height:1;margin:0 0 18px;font-weight:400}.service-row p{font-size:18px;line-height:1.5;color:var(--muted);max-width:760px;margin:0}.express{min-height:760px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,130px);align-items:center}.express-art{height:550px;position:relative;overflow:hidden;background:#100c17;border:1px solid var(--line)}.express-art:before{content:"";position:absolute;width:280px;height:280px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);border:1px solid var(--lilac);box-shadow:-28px 18px 0 rgba(157,99,255,.28),28px -18px 0 rgba(215,184,255,.13)}.express-art span{position:absolute;inset:auto 28px 24px auto;font-size:72px;color:rgba(255,255,255,.1)}.scan{position:absolute;background:linear-gradient(90deg,transparent,var(--violet),transparent);height:1px;width:120%;left:-10%;animation:scan 6.5s var(--ease) infinite}.scan-a{top:32%}.scan-b{top:50%;animation-delay:-2s}.scan-c{top:68%;animation-delay:-4s}@keyframes scan{0%,100%{transform:translateX(-35%);opacity:.2}50%{transform:translateX(35%);opacity:1}}.express-copy h2{font-size:clamp(50px,6vw,94px);margin-bottom:42px}.express-copy>p{font-size:20px;line-height:1.55;color:var(--muted);max-width:630px;margin:0 0 38px}.express-copy small{display:block;color:var(--muted);line-height:1.5;max-width:590px;margin-top:25px}.work{max-width:none;background:var(--surface)}.work>*{max-width:1472px;margin-left:auto;margin-right:auto}.feature-case{margin-bottom:150px}.case-stage{position:relative;overflow:hidden;background:#241c2c;border-radius:15px}.case-stage iframe{position:absolute;border:0;width:1440px;height:900px;left:50%;top:50%;transform:translate(-50%,-50%) scale(.86);pointer-events:none;filter:saturate(.78) contrast(1.05)}.case-stage--wild{height:min(76vw,820px)}.case-stage--kamtonir,.case-stage--river{height:520px}.case-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,9,15,.05),rgba(11,9,15,.78))}.case-mark{position:absolute;top:24px;left:24px;font-size:14px;text-transform:uppercase}.case-stage h3{position:absolute;left:28px;bottom:22px;font-size:clamp(54px,8vw,130px);line-height:.87;letter-spacing:-.03em;font-weight:400;margin:0}.case-meta{display:grid;grid-template-columns:1.4fr 1fr auto;gap:40px;align-items:end;padding-top:26px}.case-meta p,.compact-case p{font-size:22px;line-height:1.35;margin:0}.case-meta>span,.compact-case>span{font-size:14px;color:var(--muted)}.case-pair{display:grid;grid-template-columns:1fr 1fr;gap:34px}.compact-case--lower{margin-top:150px}.compact-case p{margin:24px 0 14px;max-width:560px}.compact-case .case-stage h3{font-size:clamp(50px,5.6vw,88px)}.manifesto{min-height:90svh;display:grid;grid-template-columns:1.3fr .7fr;grid-template-areas:"k k" "h p";align-content:center;column-gap:80px}.manifesto .section-kicker{grid-area:k}.manifesto h2{grid-area:h;margin:0}.manifesto p{grid-area:p;font-size:clamp(20px,2.1vw,30px);line-height:1.45;align-self:end;margin:0 0 10px;color:var(--muted)}.principles{padding-top:0}.principle{display:grid;grid-template-columns:80px 1fr 1fr;gap:28px;border-top:1px solid var(--line);padding:34px 0}.principle:last-child{border-bottom:1px solid var(--line)}.principle span{color:var(--muted)}.principle h3{font-size:clamp(30px,3.2vw,50px);font-weight:400;margin:0}.principle p{font-size:18px;line-height:1.5;color:var(--muted);max-width:560px;margin:4px 0 0}.process{background:var(--surface-2);max-width:none}.process>*{max-width:1472px;margin-left:auto;margin-right:auto}.process ol{list-style:none;padding:0;margin:0}.process li{display:grid;grid-template-columns:80px 1fr;border-top:1px solid rgba(255,255,255,.2);padding:20px 0}.process li:last-child{border-bottom:1px solid rgba(255,255,255,.2)}.process li span{color:var(--lilac)}.process li p{font-size:clamp(26px,3vw,46px);margin:0}.closing{min-height:90svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.closing>p{font-size:20px;color:var(--muted);margin-bottom:36px}.closing h2{max-width:1300px}.closing .outline-btn{align-self:flex-end}footer{margin:0 clamp(20px,4vw,64px);min-height:170px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px;color:var(--muted);font-size:14px}footer img{width:136px;height:44px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
@media(max-width:800px){.site-header{height:70px}.brand img{width:96px;height:32px}.site-header nav{display:none}.site-header .outline-btn{font-size:12px;padding:8px 10px}.hero{min-height:760px;padding-top:100px}.hero h1{font-size:clamp(48px,14vw,72px);margin-bottom:50px}.hero-bottom{display:block}.hero-bottom p{font-size:20px;margin-bottom:36px}.hero-actions{justify-content:space-between}.hero-index{top:90px}.section{padding-top:96px;padding-bottom:96px}.section h2{font-size:clamp(46px,13vw,70px);margin-bottom:54px}.service-row{grid-template-columns:44px 1fr}.service-price{grid-column:2;text-align:left}.service-row h3{font-size:38px}.service-row p{font-size:16px}.express{display:block}.express-art{height:380px;margin-bottom:72px}.express-copy>p{font-size:18px}.case-stage--wild{height:620px}.case-stage iframe{transform:translate(-50%,-50%) scale(.58)}.case-meta{display:block}.case-meta>*{display:block;margin-bottom:18px}.case-pair{display:block}.compact-case,.compact-case--lower{margin:0 0 80px}.case-stage--kamtonir,.case-stage--river{height:460px}.manifesto{display:block;min-height:auto}.manifesto p{font-size:20px}.principle{grid-template-columns:42px 1fr}.principle p{grid-column:2}.process li{grid-template-columns:44px 1fr}.closing .outline-btn{align-self:flex-start}footer{grid-template-columns:1fr auto}footer p:nth-child(2){grid-column:1/-1;grid-row:2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scan{animation:none}}

body{overflow-x:hidden}
body:before{display:none}
.work>h2{
  color:transparent;
  background-image:linear-gradient(to top,#0b0910 0 50%,#fffdf9 50% 100%);
  background-size:100% 200%;
  background-position:0 0;
  background-clip:text;
  -webkit-background-clip:text;
  transition:background-position 1.35s var(--ease);
}
body.light-phase .work>h2{background-position:0 100%}
.manifesto h2{
  color:transparent;
  background-image:linear-gradient(to top,#fffdf9 0 50%,#0b0910 50% 100%);
  background-size:100% 200%;
  background-position:0 100%;
  background-clip:text;
  -webkit-background-clip:text;
  transition:background-position 1.35s var(--ease);
}
body.light-phase .manifesto h2{background-position:0 0}
body,.work p,.work h3,.work span,.work a,.work button,.case-meta>span,.compact-case>span,.archive-head p{transition:color 1.1s var(--ease),border-color 1.1s var(--ease)}
body.light-phase .work p,
body.light-phase .work h3,
body.light-phase .work span,
body.light-phase .work a,
body.light-phase .work button,
body.light-phase .case-meta>span,
body.light-phase .compact-case>span,
body.light-phase .archive-head p{color:#0b0910}
body.light-phase .case-stage,
body.light-phase .case-stage h3,
body.light-phase .case-stage .case-mark,
body.light-phase .case-stage span{color:#fffdf9}
.hero:after{display:none}
h1,h2,h3,p{overflow-wrap:break-word}
.case-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(.78) contrast(1.05)}
@media(max-width:800px){
  .hero h1{font-size:clamp(45px,13.2vw,72px)}
  .manifesto h2{font-size:44px}
}

/* Structural cleanup: no eyebrow labels or decorative numbering. */
.manifesto{grid-template-areas:"h p"}
.principle{grid-template-columns:1fr 1fr}
.process li{grid-template-columns:1fr}
@media(max-width:800px){
  .principle{grid-template-columns:1fr}
  .principle p{grid-column:auto}
  .process li{grid-template-columns:1fr}
}

/* Studio B continuous canvas */
#ambient{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;background:#0a0810}
main,footer{position:relative;z-index:1}.site-header{z-index:10}
.hero,.services,.work,.process{background:transparent}
.services,.work,.process{max-width:1600px}
.services>*:not(.service-list),.work>*,.process>*{max-width:none}
.services{padding-bottom:72px}
.service-row{grid-template-columns:minmax(0,1fr) auto;padding-left:0!important}
.service-row:hover h3{transform:translateX(12px)}
.service-row h3{transition:transform .5s var(--ease)}
.service-price{align-self:center;white-space:nowrap}

.express{position:relative;z-index:1;min-height:clamp(300px,34svh,390px);margin:0 clamp(20px,4vw,64px) clamp(92px,10vw,160px);padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center}
.express-copy{width:100%;display:grid;grid-template-columns:minmax(340px,.9fr) minmax(360px,1fr) minmax(290px,.65fr);gap:clamp(30px,5vw,80px);align-items:center}
.express-copy h2{font-weight:400;font-size:clamp(44px,4.7vw,76px);line-height:1.02;letter-spacing:-.02em;margin:0}
.express-copy>p{font-size:18px;line-height:1.5;color:var(--muted);margin:0;max-width:620px}
.express-action{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.express-action small{color:var(--muted);line-height:1.45;max-width:420px}

.archive-head{margin-top:clamp(120px,14vw,220px);padding-top:36px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.archive-head h3{font-size:clamp(48px,6vw,92px);line-height:1;font-weight:400;letter-spacing:-.02em;margin:0}
.archive-head p{font-size:18px;line-height:1.5;color:var(--muted);max-width:600px;margin:0 0 8px}
.project-archive{margin-top:68px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:84px 24px;align-items:start}
.archive-project{min-width:0}.archive-project--wide{grid-column:span 2}.archive-project--tall{margin-top:110px}
.archive-project img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;background:#17131e;filter:saturate(.9);transition:filter .5s var(--ease),transform .7s var(--ease)}
.archive-project--wide img{aspect-ratio:2/1}.archive-project:hover img{filter:saturate(1.08);transform:translateY(-8px)}
.archive-project p{font-size:18px;line-height:1.4;max-width:520px;margin:18px 0 0}

@media(max-width:1000px){
  .express-copy{grid-template-columns:1fr 1fr}.express-action{grid-column:1/-1;flex-direction:row;align-items:center}.express{min-height:auto}
  .project-archive{grid-template-columns:1fr 1fr}.archive-project--wide{grid-column:span 2}
}
@media(max-width:800px){
  .services{padding-bottom:50px}.service-row{grid-template-columns:1fr}.service-price{grid-column:1}
  .express{margin-bottom:96px;padding:36px 0}.express-copy{display:block}.express-copy h2{font-size:44px;margin-bottom:26px}.express-copy>p{font-size:16px;margin-bottom:28px}.express-action{display:block}.express-action small{display:block;margin-top:16px}
  .archive-head{display:block}.archive-head h3{margin-bottom:28px}.project-archive{display:block;margin-top:48px}.archive-project,.archive-project--tall{margin:0 0 64px}.archive-project img,.archive-project--wide img{aspect-ratio:4/3}
}

/* July refinement: typography, case order, pointer and reveal motion. */
.service-price{
  font-size:clamp(22px,2vw,32px);
  line-height:1;
  font-weight:600;
  color:var(--text);
  text-transform:none;
}
.services p,.express-copy>p,.express-copy small,.manifesto p,
.principle p,.closing>p,footer{color:var(--text)}
body.light-phase .work p,
body.light-phase .work a,
body.light-phase .work button{font-weight:500}
.manifesto{
  grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);
  column-gap:clamp(48px,8vw,140px)
}
.manifesto p{
  max-width:680px;
  line-height:calc(1em + 2px)
}
.manifesto h2{overflow-wrap:normal;word-break:normal;hyphens:none}

.text-reveal{
  opacity:0;
  transform:translateY(52px);
  clip-path:inset(0 0 100% 0);
  transition:opacity .72s var(--ease) var(--reveal-delay,0ms),transform .95s var(--ease) var(--reveal-delay,0ms),clip-path .95s var(--ease) var(--reveal-delay,0ms);
  will-change:opacity,transform,clip-path
}
.text-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
  clip-path:inset(0 0 0 0)
}
@keyframes text-reveal{
  from{opacity:0;transform:translateY(38px);clip-path:inset(0 0 100% 0)}
  to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}
}
.case-stage--wild{height:auto;aspect-ratio:1448/1086}

@media(pointer:fine){
  body,body *{cursor:none!important}
  .cursor-label{
    position:fixed;
    left:0;
    top:0;
    z-index:1000;
    width:12px;
    height:12px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:50%;
    background:#fffdf9;
    color:#0b0910;
    pointer-events:none;
    opacity:1;
    transform:translate3d(-100px,-100px,0);
    transition:width .55s var(--ease),height .55s var(--ease),background-color .55s var(--ease),color .55s var(--ease),opacity .3s var(--ease);
    will-change:transform,width,height
  }
  .cursor-label span{
    font-size:10px;
    line-height:1;
    font-weight:700;
    text-transform:uppercase;
    white-space:nowrap;
    opacity:0;
    transform:translateY(5px);
    transition:opacity .32s var(--ease),transform .45s var(--ease)
  }
  .cursor-label.is-action{width:82px;height:82px}
  .cursor-label.is-action span{opacity:1;transform:translateY(0)}
  body.light-phase .cursor-label{background:#0b0910;color:#fffdf9}
  body.light-phase .cursor-label.is-on-media{background:#fffdf9;color:#0b0910}
}

@media(max-width:800px){
  .service-price{font-size:24px;margin-top:8px}
  .manifesto{display:block}
  .manifesto p{max-width:none;line-height:calc(1em + 2px)}
}
@media(prefers-reduced-motion:reduce){
  .text-reveal,.text-reveal.is-visible{opacity:1;transform:none;clip-path:none;transition:none}
}

/* One continuous full-width rhythm on large screens. */
.section,.services,.work,.process{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0
}
.services>*,.work>*,.process>*{
  width:100%;
  max-width:none
}

@media(min-width:1600px){
  .site-header,.hero,.section{
    padding-left:clamp(64px,4vw,96px);
    padding-right:clamp(64px,4vw,96px)
  }
  .site-header{
    left:0;
    right:0;
    padding-left:clamp(64px,4vw,96px);
    padding-right:clamp(64px,4vw,96px)
  }
  .express{
    margin-left:clamp(64px,4vw,96px);
    margin-right:clamp(64px,4vw,96px)
  }
  footer{
    margin-left:clamp(64px,4vw,96px);
    margin-right:clamp(64px,4vw,96px)
  }
  .hero h1{
    max-width:1720px;
    font-size:clamp(116px,7vw,154px)
  }
  .hero-bottom p{font-size:clamp(28px,1.7vw,36px);max-width:720px}
  .section h2{font-size:clamp(104px,6vw,132px)}
  .service-row h3{font-size:clamp(68px,3.8vw,88px)}
  .service-row p,.express-copy>p,.archive-head p,.archive-project p,
  .principle p,.closing>p{font-size:clamp(20px,1.1vw,24px)}
  .case-meta p,.compact-case p{font-size:clamp(24px,1.35vw,29px)}
  .manifesto p{font-size:clamp(30px,1.8vw,38px)}
  .service-price{font-size:clamp(30px,1.8vw,38px)}
}
