@font-face{font-family:Archivo;src:url('assets/archivo-black.ttf') format('truetype');font-weight:900;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--paper:#eeefec;--ink:#171916;--muted:#666d63;--line:#c9cec5;--pad:clamp(20px,4.6vw,88px);font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[data-physics]:focus-visible:not(.is-grabbed){outline:2px solid #4f687e;outline-offset:7px}::selection{background:#c7d0d8}p,h1,h2,figure{margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;left:20px;top:-90px;z-index:100;background:var(--ink);color:var(--paper);padding:14px 20px}.skip-link:focus{top:16px}.home-header{min-height:110px;padding:24px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:.875rem;font-weight:500}.studio-description{line-height:1.5}.home-header nav{display:flex;gap:34px;align-items:center}.home-header nav a{min-height:44px;display:flex;align-items:center;gap:24px}.header-cta{border:1px solid var(--line);padding:10px 17px;border-radius:999px}.header-cta:hover{border-color:var(--ink)}
.feature-world{position:relative;overflow:clip;padding:0 var(--pad) 80px;isolation:isolate}.feature-band{display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;gap:clamp(26px,4vw,70px) clamp(16px,3vw,54px);padding:70px 0}.physics-object{max-width:100%;flex:0 1 auto;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;margin:0;transform-origin:center;outline:none;text-align:center;touch-action:auto}.physics-object[role=button]{cursor:grab}.physics-object.is-grabbed{cursor:grabbing;z-index:10!important}.phrase{font-family:Archivo,Arial,sans-serif;font-weight:900;line-height:.99;letter-spacing:-.065em;padding:10px 12px;text-wrap:balance}.size-small{font-size:clamp(1.5rem,2.7vw,2.7rem)}.size-medium{font-size:clamp(2rem,4.1vw,4rem)}.size-large{font-size:clamp(2.8rem,5.7vw,6.2rem)}.size-giant{font-size:clamp(4rem,8.4vw,8.7rem)}.size-brand{font-size:clamp(7rem,23vw,23rem);letter-spacing:-.078em;line-height:1.08;padding:12px 20px}.band-0{padding:46px 0 75px;gap:18px 4%;justify-content:space-between}.band-0 .size-brand:first-child{margin-right:15%}.band-0 .size-brand:nth-child(2){margin-left:auto;margin-bottom:46px}.band-0 .size-medium{margin-top:18px}.band-0 .size-small{font-size:clamp(1.3rem,2.5vw,2.6rem);text-align:left}.band-0 .size-large{margin:46px auto 0}.tone-dark{background:var(--ink);color:var(--paper);padding:22px 30px 27px;border-radius:6px;box-shadow:0 2px 1px #00000015,0 10px 28px -16px #15191355}.tone-outline{border:1.5px solid #818b7e;border-radius:5px;padding:22px 30px 27px;background:#eeefecde}.editor-object{width:min(74%,950px);border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #10182218,0 24px 60px -18px #141a3260;background:#131823;color:#e9edf4;line-height:1.2;letter-spacing:0;text-align:left}.editor-object img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;pointer-events:none}.editor-object figcaption{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;font-size:.75rem;font-weight:500;border-top:1px solid #ffffff1a}.feature-world.is-ready .feature-band{display:contents}.feature-world.is-ready .physics-object{position:absolute;left:0;top:0;margin:0;max-width:none;will-change:auto}.feature-world.is-ready .physics-object.is-moving{will-change:transform}.feature-world.is-ready .physics-object:focus-visible{z-index:12}.home-access{padding:100px var(--pad) 130px;text-align:center;border-top:1px solid var(--line);position:relative;background:var(--paper)}.access-kicker{font-size:1rem;margin-bottom:27px}.home-access h2{font:900 clamp(4rem,13vw,13rem)/.9 Archivo,Arial,sans-serif;letter-spacing:-.075em}.access-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:30px 44px;margin-top:58px}.text-link{font-size:.875rem;display:inline-flex;justify-content:space-between;gap:30px;padding:10px 0 7px;border-bottom:1px solid #929a8c;min-height:44px}.text-link:hover{border-color:var(--ink)}
.mac-download{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:60px;max-width:100%;padding:17px 29px;background:linear-gradient(180deg,#626964 0%,#3c423e 13%,#252b27 49%,#171c19 53%,#292f2a 100%);color:#fff;border:1px solid #171d18;border-radius:999px;font-size:.9375rem;font-weight:600;line-height:1.35;letter-spacing:-.035em;text-shadow:0 1px 2px #0008;box-shadow:inset 0 1px 0 #ffffff80,inset 1px 0 0 #ffffff18,inset -1px 0 0 #ffffff18,inset 0 -1px 0 #0009,0 3px 0 #101611,0 4px 0 #8d938c,0 7px 10px #17201926,0 16px 26px -10px #17201945;transition:transform .2s,filter .2s,box-shadow .2s}.mac-download::before{content:'';position:absolute;inset:1px 15% auto;height:1px;background:linear-gradient(90deg,transparent,#ffffff8c,transparent)}.mac-download img{display:block;flex:none;filter:invert(1);object-fit:contain;transform:translateY(-1px)}@media(hover:hover){.mac-download:hover{filter:brightness(1.12);transform:translateY(-2px)}}.mac-download:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #ffffff60,0 1px 0 #101611,0 2px 0 #8d938c,0 4px 8px #17201926}.home-footer{padding:32px var(--pad) 38px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:28px}.footer-brand{font:900 26px/1 Archivo,Arial,sans-serif;letter-spacing:-.065em}.footer-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}.footer-links a{padding:10px 0}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.coming-soon{color:#737a6e;cursor:default}.legal-content{max-width:780px;margin:70px auto 110px;padding:0 24px;font-size:1rem;line-height:1.75}.legal-content h1{font:900 clamp(3.3rem,7vw,5.8rem)/1 Archivo,Arial,sans-serif;letter-spacing:-.065em;margin:22px 0}.legal-content h2{font-size:1.3rem;margin:34px 0 10px;font-weight:600}.legal-content p,.legal-content ul{margin:12px 0}.legal-content a{text-decoration:underline;text-underline-offset:3px}.legal-meta{font-size:.8125rem;color:var(--muted)}.legal-draft{border-left:2px solid #8b9584;padding-left:20px;color:#51594d}
@media(min-width:1800px){.feature-world{max-width:1900px;margin:auto}.feature-band{padding-block:95px}}
@media(max-width:1000px){.home-footer{flex-direction:column;align-items:flex-start}.feature-band{gap:34px 20px}.editor-object{width:87%}.home-header nav{gap:22px}}
@media(max-width:760px){.home-header{min-height:100px;padding-block:22px;font-size:.75rem;gap:18px}.home-header nav{gap:18px}.home-header nav a{gap:8px}.header-cta{padding:8px 12px}.feature-band{padding-block:50px;gap:35px 20px}.band-0{padding-top:35px}.size-brand{font-size:26vw;padding-inline:6px}.band-0 .size-brand:first-child{margin-right:0}.band-0 .size-brand:nth-child(2){margin-bottom:20px}.size-small{font-size:clamp(1.5rem,4vw,2.2rem)}.size-medium{font-size:clamp(2rem,5.4vw,3.1rem)}.size-large{font-size:clamp(2.3rem,7.7vw,4rem)}.size-giant{font-size:clamp(3rem,11vw,6rem)}.band-0 .size-medium{font-size:4.6vw}.band-0 .size-small{font-size:4.5vw}.band-0 .size-large{margin-top:25px}.tone-dark,.tone-outline{padding:16px 20px 20px}.editor-object{width:100%;border-radius:8px}.home-access{padding-block:80px 95px}.access-links{flex-direction:column;gap:24px;margin-top:40px}.home-access h2{font-size:15vw}.home-footer{align-items:center;text-align:center}.footer-links{justify-content:center;gap:12px 24px}}
@media(max-width:480px){.home-header{align-items:flex-start}.home-header nav{flex-direction:column;align-items:flex-end;gap:0}.home-header nav a{min-height:36px}.header-cta{border:0;padding:0}.feature-band{padding:35px 0;gap:30px 10px}.band-0{gap:20px 10px;padding-top:26px}.band-0 .size-medium{font-size:5.3vw}.band-0 .size-small{font-size:5.7vw;text-align:center;margin:12px auto}.band-0 .size-large{margin-top:20px}.size-brand{font-size:24vw}.size-medium{font-size:7.5vw}.size-large{font-size:9.5vw}.size-giant{font-size:12.7vw}.size-small{font-size:6vw}.tone-dark,.tone-outline{padding:15px 16px 18px}.editor-object figcaption{padding:10px 12px;font-size:.625rem}.home-access h2{font-size:15.5vw}.footer-brand{font-size:24px}.home-footer{padding-top:26px}.footer-links{font-size:.6875rem}.footer-links>span:last-child{flex-basis:100%}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.editor-object.size-panel{width:clamp(210px,25vw,350px)}.editor-object.size-panel img{aspect-ratio:374/480;object-fit:cover}

/* Full editor frames retain every control and native screenshot aspect ratio. */
.editor-object.size-wide{width:min(92%,1280px)}
@media(max-width:760px){.editor-object.size-wide{width:100%}}

/* Small, non-interactive fragments of the studio occupy a second depth plane. */
.floating-ui{position:absolute;inset:0;overflow:clip;pointer-events:none;z-index:0;user-select:none}
.feature-world.is-ready .physics-object{z-index:1}
.ui-fragment{position:absolute;left:0;top:0;pointer-events:none;opacity:.88;transform-origin:center;contain:layout style}
.ui-fragment.is-visible{will-change:transform}
.ui-fragment svg{display:block;width:100%;height:100%;overflow:visible}
.ui-fragment.cursor{width:36px;height:45px;color:#88a9d2;filter:drop-shadow(1px 3px 0 #fff) drop-shadow(0 7px 6px #18213020)}
.ui-fragment.cursor.violet{color:#ae9acd}.ui-fragment.cursor.gold{color:#d9b76a}
.ui-fragment.tile{width:49px;height:49px;display:grid;place-items:center;background:linear-gradient(145deg,#303742,#171d28);border:1px solid #444e5e;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff30,0 3px 0 #101722,0 11px 20px -10px #17203666}
.ui-fragment.tile img{width:30px;height:30px;display:block}
.ui-fragment.key{width:35px;height:35px;padding:8px;border:1px solid #7799c466;border-radius:8px;color:#83aada;background:#dce5efbd;box-shadow:0 8px 13px -9px #17203655}
.ui-fragment.curve{width:102px;height:57px;padding:9px 10px;border-radius:10px;background:#192230;border:1px solid #374454;box-shadow:inset 0 1px 0 #ffffff15,0 12px 22px -12px #17203688}
.ui-fragment.slider{width:89px;height:35px;padding:8px 10px;border-radius:8px;background:#202630;border:1px solid #434b57;box-shadow:0 10px 18px -10px #17203666}
@media(max-width:760px){.ui-fragment{opacity:.7}.ui-fragment.tile{width:36px;height:36px;border-radius:9px}.ui-fragment.tile img{width:24px;height:24px}.ui-fragment.cursor{width:27px;height:34px}.ui-fragment.curve{width:76px;height:44px;padding:7px}.ui-fragment.slider{width:68px;height:29px;padding:6px}.ui-fragment.key{width:27px;height:27px;padding:6px}}

/* A short typographic entrance, in its final position. Physics owns body transforms. */
.studio-line{display:block}
@media(prefers-reduced-motion:no-preference){
  .intro-enter .studio-line{animation:studio-line-in 680ms cubic-bezier(.22,1,.36,1) both}
  .intro-enter .studio-line:nth-child(2){animation-delay:110ms}
  .intro-enter .feature-world{animation:studio-page-in 780ms cubic-bezier(.22,1,.36,1) 640ms both}
  .intro-enter .home-header nav{animation:studio-page-in 600ms ease 780ms both}
  .intro-enter .home-access,.intro-enter .home-footer{animation:studio-page-in 600ms ease 640ms both}
  .intro-enter .band-0 .size-brand>span{display:block;animation:studio-type-in 850ms cubic-bezier(.22,1,.36,1) 640ms both}
  .intro-enter .band-0 .size-brand:nth-child(2)>span{animation-delay:720ms}
}
@keyframes studio-line-in{from{opacity:0;transform:translateY(5px);filter:blur(1.5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes studio-page-in{from{opacity:0}to{opacity:1}}
@keyframes studio-type-in{from{transform:translateY(12px)}to{transform:translateY(0)}}

/* The opening occupies a real viewport, so the page arrives with native scroll. */
.opening{display:none}
.intro-scroll .opening{display:grid;place-items:center;height:100svh;min-height:440px;background:#fff;padding:30px;text-align:center}
.opening-copy{font:500 clamp(24px,3.8vw,58px)/1.25 Montserrat,Arial,sans-serif;letter-spacing:-.055em;color:#171916;max-width:1000px}
.opening-copy{opacity:0;filter:blur(5px);transition:opacity .75s ease,filter .9s ease;position:relative;overflow:visible}
.intro-copy-visible .opening-copy,.intro-finished .opening-copy{opacity:1;filter:none}
.opening-line{display:flex;justify-content:center;align-items:baseline;gap:.24em;white-space:nowrap}
.opening-line+.opening-line{margin-top:.14em}
.opening-word{display:inline-block;font-size:calc(1em * var(--word-scale));line-height:1.2;user-select:none;touch-action:none;cursor:grab;transform-origin:center}
.opening-word:active{cursor:grabbing;outline:none}
.opening-word:focus-visible:not(:active){outline:1px solid #909890;outline-offset:5px;border-radius:3px}
.opening-copy.has-word-physics .opening-line{display:contents}
.opening-copy.has-word-physics .opening-word{position:absolute;left:0;top:0;will-change:transform}
.intro-running{scroll-behavior:auto}
/* Small native icons drift independently of the original wordmark layout. */
.hero-icon{position:absolute;left:0;top:0;width:calc(49px * var(--icon-scale,1));height:calc(49px * var(--icon-scale,1));display:grid;place-items:center;border-radius:22%;background:linear-gradient(145deg,#39434e,#1a222e);border:1px solid #59636f;box-shadow:inset 0 1px 0 #ffffff5c,inset 0 -2px 0 #0005,0 4px 0 #111722,0 12px 18px -9px #19223370;visibility:hidden}
.hero-icon img{width:70%;height:70%;pointer-events:none}
/* Only the hero loses its tile; keep the same glyph and physics bounds. */
.hero-icon[data-physics-piece="hero"]{background:none;border-color:transparent;box-shadow:none}
.feature-world.is-ready .hero-icon{visibility:visible;z-index:2}
@media(max-width:760px){.hero-icon{width:calc(24px * var(--icon-scale,1));height:calc(24px * var(--icon-scale,1));}.opening-copy{font-size:clamp(23px,5.1vw,38px);letter-spacing:-.05em}.intro-scroll .opening{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){.intro-scroll .opening{display:none}.opening-copy span{transition:none;opacity:1;transform:none;filter:none}}


.brand-row-break{flex-basis:100%;height:0;pointer-events:none}
.opening-copy>span:not(.opening-line){display:block}

/* One shared physical plane, with the giant wordmark above the floating pieces. */
.physics-piece{opacity:.9;position:absolute;left:0;top:0;visibility:hidden;user-select:none;touch-action:auto}
.feature-world.is-ready .physics-piece{visibility:visible;z-index:1}
.feature-world.is-ready .size-brand{z-index:20}
.ui-piece{font:500 11px/1.2 Montserrat,Arial,sans-serif;color:#dce5ee;background:linear-gradient(145deg,#293341,#1a222e);border:1px solid #465363;border-radius:8px;box-shadow:inset 0 1px 0 #ffffff20,0 6px 13px -7px #16233880;display:flex;align-items:center;justify-content:space-between;padding:8px 9px}
.ui-piece *{pointer-events:none}
.piece-slider{width:118px;height:36px;gap:7px}
.piece-min,.piece-max{font-size:9px;color:#92a0b1}
.piece-track{height:3px;flex:1;background:#53627b;position:relative;border-radius:2px}
.piece-thumb{position:absolute;left:24%;top:50%;transform:translateY(-50%);border:1px solid #91a6c2;border-radius:4px;padding:3px 5px;background:#536c90;color:#edf4ff;font-size:10px}
.piece-curve{width:114px;height:66px;padding:6px}
.piece-curve svg{width:100%;height:100%}
.piece-dropdown{width:108px;height:34px}
.piece-dropdown svg{width:14px;height:14px}
.piece-keyframe{width:34px;height:34px;padding:4px}
.piece-keyframe svg{width:100%;height:100%}
@media(max-width:760px){.piece-slider{width:98px;height:30px;padding:6px}.piece-curve{width:88px;height:51px}.piece-dropdown{width:86px;height:30px;font-size:10px}.piece-keyframe{width:27px;height:27px}}

/* Pointer focus stays quiet after release; keyboard input restores its focus ring. */
html.physics-pointer-input [data-physics]:focus,
html.physics-pointer-input .opening-word:focus{outline:none}

/* On phones each wordmark line is a separate, oversized physical object. */
.brand-mobile{display:none}
.size-brand>span{white-space:nowrap}
.brand-baseline{display:inline-block;width:0;height:0;padding:0;vertical-align:baseline}
@media(max-width:760px){
  .brand-desktop{display:none}
  .band-0 .brand-mobile{display:block;flex:0 0 auto;font-size:48vw;line-height:1.03;padding:0 4px;margin:0 auto;letter-spacing:-.078em}
  .band-0 .brand-fri{font-size:78vw}
  .band-0 .brand-effe{font-size:46vw}
  .band-0 .brand-cts{font-size:55vw;margin-bottom:34px}
}

/* Tighten the measured homes, then let physics own all positioning. */
@media(max-width:760px){
  .feature-world:not(.is-ready) .brand-day{margin-top:-16vw}
  .feature-world:not(.is-ready) .brand-effe{margin-top:-3vw}
  .feature-world:not(.is-ready) .brand-cts{margin-top:-12vw}
}
