@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f3f0e8;--paper2:#e9e4d9;--ink:#111;--muted:#777168;--line:#cdc6b9;--dark:#111;--max:1320px;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5;overflow-x:hidden}a{color:inherit}.site-nav{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px 3.2vw;background:rgba(243,240,232,.72);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:background .3s,border-color .3s}.site-nav.scrolled{background:rgba(243,240,232,.94);border-color:var(--line)}.brand,.site-nav nav a{text-decoration:none;font-size:.64rem;font-weight:700;letter-spacing:.08em}.site-nav nav{display:flex;gap:20px}.site-nav nav a{font-weight:500;letter-spacing:0;opacity:.78;transition:opacity .2s}.site-nav nav a:hover{opacity:1}
.hero{min-height:100svh;padding:132px 5vw 54px;display:flex;align-items:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 49.94%,rgba(17,17,17,.06) 50%,transparent 50.06%);pointer-events:none}.hero-inner,.section-inner{width:100%;max-width:var(--max);margin:auto;position:relative;z-index:2}.eyebrow{margin:0 0 18px;color:var(--muted);font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero h1,.section h2{font-weight:600;letter-spacing:-.072em}.hero h1{margin:0;font-size:clamp(5rem,11.2vw,11rem);line-height:.81;max-width:1180px}.hero-line{display:block}.hero-line.indent{padding-left:12vw}.hero-zero-copy{display:grid;grid-template-columns:1fr 1fr;gap:7vw;max-width:1050px;margin-top:54px;margin-left:auto}.hero-zero-copy>div{border-top:1px solid var(--line);padding-top:16px}.hero-zero-copy p{margin:0;color:#45413b;font-size:clamp(.94rem,1.15vw,1.08rem);line-height:1.55}.hero-zero-close{max-width:620px;margin:32px 0 0 auto;font-size:1.05rem}.pill{display:inline-flex;gap:14px;align-items:center;margin-top:28px;padding:11px 16px;border:1px solid var(--ink);border-radius:999px;text-decoration:none;font-size:.72rem;transition:background .25s,color .25s,transform .25s}.pill:hover{background:var(--ink);color:var(--paper);transform:translateY(-1px)}.hero .pill{margin-left:calc(50% + 3.5vw)}.hero-bottom{position:absolute;bottom:22px;left:5vw;right:5vw;display:flex;justify-content:space-between;color:var(--muted);font-size:.59rem;letter-spacing:.1em;text-transform:uppercase}.fragment-field{position:absolute;inset:0;z-index:1;pointer-events:none}.fragment{position:absolute;font-size:.6rem;font-weight:700;letter-spacing:.16em;color:#a9a296;opacity:.3;will-change:transform}.f1{left:7%;top:27%}.f2{left:30%;top:17%}.f3{right:8%;top:28%}.f4{left:15%;bottom:23%}.f5{right:28%;bottom:16%}.f6{right:6%;bottom:29%}.f7{left:45%;top:31%}.f8{right:37%;top:12%}.reveal,.reveal-delay{opacity:0;transform:translateY(18px)}.is-ready .reveal{animation:rise .9s .05s both}.is-ready .reveal-delay{animation:rise .9s .22s both}@keyframes rise{to{opacity:1;transform:none}}
.section{position:relative;padding:150px 5vw;border-top:1px solid var(--line)}.split,.stance-inner,.thought-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:8vw;align-items:start}.section h2{margin:0;font-size:clamp(4.2rem,7.4vw,8.4rem);line-height:.86;max-width:980px}.big-copy{margin:0 0 24px;max-width:720px;color:#2f2c28;font-size:clamp(1.3rem,1.95vw,1.76rem);line-height:1.38}.copy{margin:0 0 27px;max-width:650px;color:#5d5850;font-size:.97rem;line-height:1.67}.section-intro{margin:20px 0 0;max-width:710px;color:#5d5850;font-size:1.02rem;line-height:1.65}.text-link{display:inline-block;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:.75rem;font-weight:700}.text-link span{margin-left:8px}.canon{overflow:hidden}.canon:after{content:"";position:absolute;left:5vw;right:5vw;top:50%;height:1px;background:var(--line);transform-origin:left;transform:scaleX(var(--canon-line,0));opacity:.55;pointer-events:none}.canon .split>div:first-child{position:sticky;top:125px}.fragment-lines{margin:46px 0;color:#24211e;font-size:clamp(1.28rem,2vw,1.8rem);line-height:1.7;font-weight:500;letter-spacing:-.025em}.bridge-copy{margin:42px 0;max-width:700px;font-size:1.02rem;line-height:1.62}.alignment-line{max-width:var(--max);margin:120px auto 0;display:grid;grid-template-columns:repeat(5,1fr);transform:translateX(var(--align-shift,0px));transition:transform .1s linear}.alignment-line span{height:1px;background:var(--line);position:relative}.alignment-line span:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--ink)}
.worlds-section{padding-top:120px}.worlds-section h2{max-width:none;font-size:clamp(4.5rem,8.2vw,9rem);white-space:nowrap;transform:translateX(var(--world-title-shift,0px));will-change:transform}.worlds-section .section-intro{max-width:760px}.world-portals{margin-top:80px;border-top:1px solid var(--line)}.world-portal{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);min-height:430px;text-decoration:none;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);position:relative;overflow:hidden}.world-portal:nth-child(even){grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr)}.world-portal:nth-child(even) .portal-scene{order:2}.portal-scene{position:relative;min-height:430px;overflow:hidden;background:var(--dark);transform:scale(.96);transition:transform .5s cubic-bezier(.2,.75,.2,1)}.world-portal:hover .portal-scene{transform:scale(1)}.portal-copy{padding:55px 5vw;display:flex;flex-direction:column;justify-content:center;max-width:720px}.portal-copy h3{margin:0 0 25px;font-size:clamp(2.7rem,4.8vw,5.2rem);line-height:.9;letter-spacing:-.065em}.portal-copy p{margin:0 0 17px;max-width:590px;color:#5d5850;font-size:.92rem;line-height:1.6}.doorway-link{margin-top:22px;font-size:.72rem;font-weight:700}.portal-number{position:absolute;top:20px;left:22px;color:rgba(243,240,232,.7);font-size:.6rem;letter-spacing:.08em}.portal-brand .portal-scene{background:radial-gradient(circle at 62% 35%,#5a5549 0,#282620 34%,#111 75%)}.scene-grid{position:absolute;inset:-18%;background:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);background-size:34px 34px;transform:perspective(320px) rotateX(63deg) translateY(72px)}.portal-tech .portal-scene{background:radial-gradient(circle at center,#4e5751 0,#1d221f 37%,#0b0d0c 76%)}.scene-orbit{position:absolute;left:50%;top:50%;margin:-64px 0 0 -128px;border:1px solid rgba(220,230,220,.36);border-radius:50%;width:256px;height:128px;transform:rotate(-24deg)}.orbit-two{width:360px;height:180px;margin:-90px 0 0 -180px;transform:rotate(42deg)}.scene-orbit:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#d8ddd7;left:8%;top:50%;box-shadow:0 0 24px rgba(216,221,215,.32)}.portal-self .portal-scene{background:linear-gradient(180deg,#565249 0,#29271f 58%,#111 100%)}.scene-sun{position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#fff7d9 0,#e8dcc0 30%,#b2a58c 53%,transparent 74%);top:78px;right:23%;filter:drop-shadow(0 0 13px rgba(255,240,190,.18))}.scene-horizon{position:absolute;left:-10%;right:-10%;bottom:-20px;height:110px;background:linear-gradient(160deg,transparent 0 44%,#111 45% 100%);transform:rotate(-4deg)}.territory-close{margin-top:30px;padding-top:20px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:.75rem}.territory-close span{color:var(--muted)}
.stance-section{background:#111;color:var(--paper);min-height:100svh}.stance-section .eyebrow{color:#9c978f}.stance-inner>div:first-child{position:sticky;top:125px}.stance-section h2{color:var(--paper);font-size:clamp(4.6rem,7.8vw,8.6rem)}.stance-section .big-copy{color:#f2eee5}.stance-section .copy{color:#b7b0a5}.illumination{margin:58px 0 0;max-width:660px;color:#f3f0e8;font-size:clamp(1.65rem,2.6vw,2.45rem);line-height:1.26;letter-spacing:-.04em}.stance-section:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(243,240,232,.08)}
.jasper-section{background:#f0ece4}.jasper-section .split>div:first-child{position:sticky;top:125px}.experience-line{margin:48px 0 0;max-width:720px;font-size:clamp(1.55rem,2.4vw,2.15rem);line-height:1.3;letter-spacing:-.04em}.quiet-proof{margin-top:90px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:20px;color:#625d55;font-size:.61rem;font-weight:700;letter-spacing:.035em}.quiet-proof span{padding-right:20px}.quiet-proof span+span{border-left:1px solid var(--line);padding-left:20px}.operating-code{margin-top:90px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;font-size:clamp(1.55rem,2.6vw,2.35rem);font-weight:600;letter-spacing:-.05em}.operating-code span{display:block;padding-top:18px;border-top:1px solid var(--line)}
.section-library{background:var(--paper2);overflow:hidden}.section-library .split>div:first-child{position:sticky;top:125px}.library-shelves{margin-top:90px;border-top:1px solid var(--line)}.library-shelves a{display:grid;grid-template-columns:.8fr 1.7fr auto;gap:30px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none;position:relative;transition:padding .28s ease}.library-shelves a:before{content:"";position:absolute;inset:0 auto 0 0;width:0;background:#111;transition:width .35s cubic-bezier(.2,.75,.2,1);z-index:0}.library-shelves a:hover:before{width:100%}.library-shelves a>*{position:relative;z-index:1;transition:color .25s,transform .25s}.library-shelves a:hover>*{color:var(--paper);transform:translateX(12px)}.library-shelves span{font-size:.61rem;font-weight:700;letter-spacing:.12em}.library-shelves strong{font-size:clamp(1.1rem,1.9vw,1.45rem);font-weight:500}.library-shelves b{font-size:.9rem}
.lab-section{background:var(--paper2);padding-top:0;border-top:0}.lab-card{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8vw;min-height:650px;padding:85px 6vw;background:#111;color:var(--paper);overflow:hidden}.lab-card:before,.lab-card:after{content:"";position:absolute;border:1px solid rgba(243,240,232,.14);border-radius:50%;pointer-events:none}.lab-card:before{width:300px;height:300px;left:13%;top:28%;transform:translate(var(--lab-x,0px),var(--lab-y,0px))}.lab-card:after{width:120px;height:120px;right:16%;bottom:18%;transform:translate(calc(var(--lab-x,0px)*-.5),calc(var(--lab-y,0px)*-.5))}.lab-card .eyebrow{color:#99948b}.lab-card h2{color:var(--paper)}.lab-card .big-copy{color:#e5e0d6}.lab-card .copy{color:#b8b1a6}.lab-card .text-link{border-color:var(--paper)}.lab-close{margin:40px 0 0;max-width:620px;font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.35;letter-spacing:-.035em}
.thought-section{background:#ded8ca;overflow:hidden}.thought-grid>div:first-child{position:sticky;top:125px}.thought-section h2{font-size:clamp(4.8rem,8.5vw,9.4rem)}.thought-prompts{margin:45px 0 10px;border-top:1px solid rgba(17,17,17,.28)}.thought-prompts span{display:block;padding:18px 0;border-bottom:1px solid rgba(17,17,17,.28);font-size:clamp(1.05rem,1.75vw,1.35rem);font-weight:500;letter-spacing:-.025em;transition:padding .25s,background .25s}.thought-prompts span:hover{padding-left:14px;background:rgba(255,255,255,.18)}.intent-route{margin-top:48px;padding-top:20px;border-top:1px solid rgba(17,17,17,.28);color:#5d5850;font-size:.76rem;line-height:1.7}.intent-route a{display:inline-block;margin-top:7px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--ink)}
.closing{min-height:95svh;display:flex;align-items:center;overflow:hidden}.closing:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line);transform:scaleX(var(--close-line,0));transform-origin:center}.closing-inner{width:100%}.operating-close{margin:0 0 100px;max-width:560px;color:#5d5850;font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1.65}.closing h2{margin:0;font-size:clamp(5.5rem,13.5vw,13rem);line-height:.8;white-space:nowrap;transform:translateX(var(--close-shift,0px));will-change:transform}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:38px 5vw;border-top:1px solid var(--line);color:var(--muted);font-size:.68rem}.site-footer a{text-decoration:none}
@media(max-width:960px){.site-nav{padding:18px 5vw}.site-nav nav{display:none}.hero{padding:120px 6vw 85px}.hero h1{font-size:clamp(4.1rem,16vw,7rem)}.hero-line.indent{padding-left:5vw}.hero-zero-copy,.split,.stance-inner,.thought-grid,.lab-card{grid-template-columns:1fr;gap:42px}.hero-zero-copy{margin-left:0}.hero .pill{margin-left:0}.section{padding:100px 6vw}.canon .split>div:first-child,.stance-inner>div:first-child,.jasper-section .split>div:first-child,.section-library .split>div:first-child,.thought-grid>div:first-child{position:relative;top:auto}.worlds-section h2{white-space:normal}.world-portal,.world-portal:nth-child(even){grid-template-columns:1fr}.world-portal:nth-child(even) .portal-scene{order:0}.portal-scene{min-height:280px;transform:none}.portal-copy{padding:38px 0 55px}.quiet-proof,.operating-code{grid-template-columns:1fr}.quiet-proof span+span{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}.lab-card{padding:58px 36px;min-height:0}.closing{min-height:70svh}.closing h2{white-space:normal}.site-footer{padding:34px 6vw;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-delay{opacity:1;transform:none}.worlds-section h2,.alignment-line,.closing h2,.lab-card:before,.lab-card:after{transform:none!important}}

/* V3 motion: arrive, align, rest. Copy remains readable without JavaScript. */
.reveal,.reveal-delay{opacity:1;transform:none}
.motion-enabled .motion-type{transform:translate3d(var(--type-x,0px),var(--type-y,0px),0) scale(var(--type-scale,1));transform-origin:left center}
.worlds-section h2{font-size:clamp(3rem,6.3vw,6rem);white-space:normal;max-width:100%;will-change:auto}
.closing h2{font-size:clamp(4rem,11vw,10rem);white-space:normal;will-change:auto}
.canon{overflow:clip}.canon:after{display:none}
.alignment-line{transform:none}.closing:before{transform:none;opacity:.45}
.section{scroll-margin-top:76px}
.portal-scene .scene-grid{animation:grid-glide 14s linear infinite}
.portal-scene .orbit-one{animation:orbit-breathe-one 24s ease-in-out -6s infinite}
.portal-scene .orbit-two{animation:orbit-breathe-two 30s ease-in-out -9s infinite}
.portal-scene .scene-sun{animation:sun-drift 18s ease-in-out -4.5s infinite}
.portal-scene .scene-horizon{animation:horizon-drift 12s ease-in-out -3s infinite}
.portal-scene .scene-grid,.portal-scene .scene-orbit,.portal-scene .scene-sun,.portal-scene .scene-horizon{animation-play-state:paused}
.portal-scene.is-active .scene-grid,.portal-scene.is-active .scene-orbit,.portal-scene.is-active .scene-sun,.portal-scene.is-active .scene-horizon{animation-play-state:running}
.scene-orbit{opacity:.85}.scene-sun{opacity:.78}
@keyframes grid-glide{from{background-position:0 0,0 0}to{background-position:0 34px,0 34px}}
@keyframes orbit-breathe-one{0%,100%{transform:rotate(-24deg) scale(.99)}50%{transform:rotate(-8deg) scale(1.035)}}
@keyframes orbit-breathe-two{0%,100%{transform:rotate(42deg) scale(1.01)}50%{transform:rotate(28deg) scale(.975)}}
@keyframes sun-drift{0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.78}50%{transform:translate3d(-8px,18px,0) scale(.96);opacity:.66}}
@keyframes horizon-drift{0%,100%{transform:rotate(-4deg) translate3d(-4px,0,0)}50%{transform:rotate(-4deg) translate3d(10px,-5px,0)}}
.portal-copy h3,.doorway-link{transition:transform .65s cubic-bezier(.2,.75,.2,1)}
.text-link span{display:inline-block;transition:transform .4s ease}
@media(hover:hover) and (pointer:fine){
  .world-portal:hover .portal-copy h3{transform:translateX(6px)}
  .world-portal:hover .doorway-link{transform:translateX(9px)}
  .text-link:hover span{transform:translateY(3px)}
}
a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.library-shelves a:focus-visible:before{width:100%}
.library-shelves a:focus-visible>*{color:var(--paper)}
.world-portal:focus-visible .portal-scene{transform:scale(1)}
@media(max-width:960px){
  .section h2{font-size:clamp(2.9rem,10vw,5.7rem)}
  .worlds-section h2{font-size:clamp(2.7rem,9vw,5.4rem)}
  .closing h2{font-size:clamp(3.5rem,12vw,7rem)}
  .hero h1{font-size:clamp(3rem,14vw,7rem)}
  .library-shelves a{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:24px 4px}
  .library-shelves a>span{grid-column:1 / -1}
  .library-shelves a:hover>*{transform:none}
  .territory-close{gap:18px;flex-wrap:wrap}
  .portal-copy h3{font-size:clamp(2.5rem,9vw,4rem)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .motion-type,.fragment{transform:none!important}
  .world-portal:hover .portal-scene{transform:none}
  .portal-copy h3,.doorway-link,.library-shelves a>*,.text-link span,.pill{transform:none!important}
}

/* Keep long editorial words within the desktop split column. */
.stance-section h2{font-size:clamp(3.4rem,6.4vw,7rem)}
@media(max-width:960px){.stance-section h2{font-size:clamp(2.9rem,10vw,5.7rem)}}

/* One shared visual thread: drift resolves before the three territories. */
.alignment-line{position:relative;gap:0;--alignment-rest:0}
.alignment-line span{transform-origin:center;transform:translateY(calc(var(--fragment-offset) * var(--alignment-rest))) rotate(calc(var(--fragment-angle) * var(--alignment-rest)));transition:none}
.alignment-line span:nth-child(1){--fragment-offset:-22px;--fragment-angle:-5deg}
.alignment-line span:nth-child(2){--fragment-offset:14px;--fragment-angle:3deg}
.alignment-line span:nth-child(3){--fragment-offset:-10px;--fragment-angle:-2deg}
.alignment-line span:nth-child(4){--fragment-offset:24px;--fragment-angle:4deg}
.alignment-line span:nth-child(5){--fragment-offset:-16px;--fragment-angle:-3deg}
.alignment-line:after{content:"";position:absolute;top:0;left:50%;height:64px;width:1px;background:var(--line);transform:scaleY(calc(1 - var(--alignment-rest)));transform-origin:top}
.worlds-section .eyebrow:before{content:"";display:block;width:4px;height:4px;border-radius:50%;background:var(--muted);box-shadow:12px 0 var(--muted),24px 0 var(--muted);margin-bottom:20px}
.portal-number{display:flex;align-items:center;gap:8px}
.portal-number:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}
@media(max-width:960px){
 .alignment-line{margin-top:84px}
 .alignment-line span{transform:translateY(calc(var(--fragment-offset) * var(--alignment-rest) * .6)) rotate(calc(var(--fragment-angle) * var(--alignment-rest)))}
 .alignment-line:after{height:42px}
}
@media(prefers-reduced-motion:reduce){
 .alignment-line span{transform:none!important}
 .alignment-line:after{transform:none!important}
}


/* First-half choreography: words perform their meaning. */
.hero{isolation:isolate}
.hero-inner{transform:none}
.hero-line{will-change:transform}
.canon-line{display:inline-block}
.meaning-move,.meaning-drift{display:inline-block;will-change:transform}
.fragment-lines{margin:46px 0;display:grid;gap:0;color:#24211e;font-size:clamp(1.28rem,2vw,1.8rem);line-height:1.25;font-weight:500;letter-spacing:-.025em}
.fragment-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);overflow:visible}
.fragment-pair:first-child{border-top:1px solid var(--line)}
.fragment-pair span{display:block;will-change:transform}
.fragment-pair span:last-child{transform:translate3d(0,0,0);color:#6c675f}
.worlds-section h2>span{display:inline-block;will-change:transform}
.world-portals{position:relative}
.portal-scene{will-change:transform}
.portal-brand .scene-grid{animation:grid-glide 12s linear infinite}
.portal-tech .orbit-one{animation:orbit-breathe-one 60s ease-in-out -15s infinite}
.portal-tech .orbit-two{animation:orbit-breathe-two 60s ease-in-out -30s infinite}
.portal-self .scene-sun{animation:sun-drift 12s ease-in-out -3s infinite}
.portal-self .scene-horizon{animation:horizon-drift 12s ease-in-out -3s infinite}
.world-portal{transition:background .55s ease}
.world-portal:hover{background:rgba(255,255,255,.16)}
.stance-section h2,.stance-section .eyebrow,.stance-section .big-copy,.stance-section .copy,.stance-section .illumination{transform:none!important}
.stance-section h2{will-change:auto}
@media(min-width:961px){
  .world-portal{min-height:520px}
  .portal-scene{min-height:520px}
  .portal-copy{padding-top:72px;padding-bottom:72px}
}
@media(max-width:960px){
  .fragment-pair{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:16px}
}
@media(prefers-reduced-motion:reduce){
  .hero-inner,.meaning-move,.meaning-drift,.fragment-pair span,.worlds-section h2>span{transform:none!important;opacity:1!important}
}


/* Shared pace: the opening word sets the rhythm; Zero remains anchored. */
.fragment,.hero-line:not(.indent),.hero-drift{--drift-x:6px;animation:hero-horizontal 24s ease-in-out -6s infinite;will-change:transform}
.fragment:nth-child(2n),.hero-your{--drift-x:-6px}
.fragment:nth-child(3n){animation-delay:-8s}
.fragment:nth-child(4n){animation-delay:-4s}
.hero-line.indent{animation:none;transform:none;will-change:auto}
.hero-drift{display:inline-block}
.hero-zero{display:inline-block}
.hero-question{margin-left:.05em}
@keyframes hero-horizontal{
  0%,100%{transform:translate3d(calc(var(--drift-x) * -1),0,0)}
  50%{transform:translate3d(var(--drift-x),0,0)}
}
@media(max-width:600px){
 .fragment,.hero-line:not(.indent),.hero-drift{--drift-x:3px}
 .fragment:nth-child(2n),.hero-your{--drift-x:-3px}
}
@media(prefers-reduced-motion:reduce){.fragment,.hero-line,.hero-drift{animation:none!important;transform:none!important}}




/* Second act: person -> proof -> work -> play -> conversation -> zero. */
.jasper-section .split>div:last-child>.copy,.jasper-section .split>div:last-child>.big-copy,.experience-line{transition:opacity .55s ease,transform .55s ease}
.motion-enabled .jasper-section .story-soft{opacity:.34;transform:translateY(-3px)}
.motion-enabled .jasper-section .story-focus{opacity:1;transform:none}
.steel-line{display:inline-block;position:relative;padding-bottom:5px}
.steel-line:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(var(--steel,0));transform-origin:left}
.steel-line:before{content:"";position:absolute;left:52%;bottom:-9px;width:1px;height:18px;background:var(--ink);transform:scaleY(var(--steel,0));transform-origin:center}
.range-lines{display:grid;gap:3px}
.range-lines span{display:block;transform:translateX(var(--range-x,0px));transition:transform .1s linear}
.experience-line{padding-top:34px;border-top:1px solid var(--line)}
.operating-code span{transform:translateY(var(--code-y,0px));opacity:var(--code-o,1);transition:transform .1s linear,opacity .1s linear}

/* Library behaves like a shelf: selected object advances, label counters. */
.library-shelves a{overflow:hidden}
.library-shelves a strong{transition:color .35s,transform .45s cubic-bezier(.2,.75,.2,1)}
.library-shelves a span{transition:color .35s,transform .45s cubic-bezier(.2,.75,.2,1)}
@media(hover:hover) and (pointer:fine){
 .library-shelves a:hover strong{transform:translateX(18px)}
 .library-shelves a:hover span{transform:translateX(-4px)}
 .library-shelves a:hover b{transform:translateX(-10px)}
}

/* The Lab is allowed to misbehave, quietly. */
.lab-card>div:not(.lab-field){position:relative;z-index:2}
.lab-field{position:absolute!important;inset:0;z-index:1;pointer-events:none}
.lab-field i{position:absolute;width:4px;height:4px;background:rgba(243,240,232,.36);border-radius:50%;animation:lab-drift 28s ease-in-out infinite alternate}
.lab-field i:after{content:"";position:absolute;left:12px;top:1px;width:42px;height:1px;background:rgba(243,240,232,.12)}
.lab-field i:nth-child(1){left:8%;top:18%;animation-duration:31s}
.lab-field i:nth-child(2){left:34%;top:70%;animation-duration:39s;animation-delay:-12s}
.lab-field i:nth-child(3){right:13%;top:22%;animation-duration:35s;animation-delay:-5s}
.lab-field i:nth-child(4){right:29%;bottom:12%;animation-duration:44s;animation-delay:-18s}
.lab-field i:nth-child(5){left:18%;bottom:25%;animation-duration:37s;animation-delay:-8s}
.lab-field i:nth-child(6){right:8%;top:56%;animation-duration:42s;animation-delay:-20s}
@keyframes lab-drift{0%{transform:translate3d(-7px,5px,0)}50%{transform:translate3d(13px,-11px,0)}100%{transform:translate3d(-3px,15px,0)}}
.lab-card:before{border-radius:0;width:88px;height:88px;left:9%;top:24%;border-right:0;border-bottom:0;transform:translate(var(--lab-x,0px),var(--lab-y,0px)) rotate(4deg)}
.lab-card:after{width:7px;height:7px;right:18%;bottom:18%;border-radius:50%;background:rgba(243,240,232,.18);transform:translate(calc(var(--lab-x,0px)*-.5),calc(var(--lab-y,0px)*-.5))}

/* Conversation is the visual in Send a Thought. */
.thought-prompts span{opacity:.62;transform:translateX(0);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.75,.2,1),padding .25s,background .25s}
.thought-prompts span em{font-style:normal;display:inline-block;letter-spacing:.08em;transform-origin:left;transition:transform .45s ease,letter-spacing .45s ease}
@media(hover:hover) and (pointer:fine){
 .thought-prompts:hover span{opacity:.3}
 .thought-prompts span:hover{opacity:1;transform:translateX(10px);padding-left:0;background:transparent}
 .thought-prompts span:hover em{transform:scaleX(1.12);letter-spacing:.12em}
}

/* Return to Zero: motion is nearly imperceptible. */
.closing h2{transform:translate3d(var(--final-zero-x,0px),0,0);transition:transform .15s linear}
.closing .operating-close{opacity:var(--closing-copy-o,1);transform:translateY(var(--closing-copy-y,0px))}
@media(prefers-reduced-motion:reduce){
 .jasper-section .story-soft,.jasper-section .story-focus,.range-lines span,.operating-code span,.closing h2,.closing .operating-close{opacity:1!important;transform:none!important}
 .steel-line:after,.steel-line:before{transform:none!important}
 .lab-field i{animation:none!important}
}


/* Library books: two real destinations within one shelf. */
.library-book-row{display:grid;grid-template-columns:.8fr 1.7fr auto;gap:30px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.library-book-row>span{font-size:.61rem;font-weight:700;letter-spacing:.12em}
.library-book-row strong{font-size:clamp(1.1rem,1.9vw,1.45rem);font-weight:500}
.library-book-row strong a{text-decoration:none;display:inline-block;transition:transform .3s ease,opacity .3s ease}
.library-book-row strong a:hover{transform:translateX(6px);opacity:.62}
.book-separator{display:inline-block;margin:0 9px;color:var(--muted)}
@media(max-width:960px){
 .library-book-row{grid-template-columns:1fr;gap:8px;padding:24px 4px}
 .library-book-row strong{line-height:1.7}
}


/* Library live links: make each destination an unmistakable full hit area. */
.library-book-row{grid-template-columns:.8fr 1.7fr;align-items:stretch}
.book-links{display:grid;grid-template-columns:1fr 1fr;gap:0}
.book-links>a{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 18px;text-decoration:none;font-size:clamp(1.1rem,1.9vw,1.45rem);font-weight:500;border-left:1px solid var(--line);transition:background .3s,color .3s,padding .3s}
.book-links>a b{font-size:.8rem}
@media(hover:hover) and (pointer:fine){.book-links>a:hover{background:var(--ink);color:var(--paper);padding-left:25px}}
@media(max-width:960px){.library-book-row{grid-template-columns:1fr}.book-links{grid-template-columns:1fr}.book-links>a{border-left:0;border-top:1px solid var(--line);padding:14px 0}.book-links>a:hover{padding-left:0}}


/* Link reliability: decorative shelf layers must never intercept pointer input. */
.library-shelves a{cursor:pointer;isolation:isolate;z-index:2}
.library-shelves a:before{pointer-events:none!important;z-index:-1}
.library-shelves a>*{pointer-events:none}
.library-book-row .book-links{position:relative;z-index:5;pointer-events:auto}
.library-book-row .book-links>a{position:relative;z-index:6;pointer-events:auto!important;cursor:pointer;isolation:isolate}
.library-book-row .book-links>a:before{display:none!important}
.library-book-row .book-links>a>*{pointer-events:none}

/* Curiosity leads; the platforms are destinations within a wider inquiry. */
.curiosity-section h2{max-width:1050px;font-size:clamp(3.2rem,7.6vw,7.2rem);line-height:.94}
.curiosity-section .eyebrow:before{display:none}
.curiosity-section .section-intro{max-width:620px}
.curiosity-section .world-portals{border:0;margin-top:100px;display:grid;gap:100px}
.curiosity-section .world-portal{border:0;overflow:visible;align-items:center;min-height:0;gap:5vw;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.curiosity-section .world-portal:nth-child(even){grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.curiosity-section .world-portal:hover{background:transparent}
.curiosity-section .portal-scene{min-height:360px;transform:none}
.curiosity-section .portal-copy{padding:24px 0;max-width:600px}
.curiosity-section .portal-copy h3{font-size:clamp(2.2rem,3.8vw,4rem);line-height:1.04;letter-spacing:-.055em;font-weight:500;transform:none}
.curiosity-section .portal-copy p{max-width:490px;font-size:1rem;line-height:1.7}
.curiosity-section .doorway-link{align-self:flex-start;display:inline-block;padding:8px 0;text-decoration:none;border-bottom:1px solid var(--line);line-height:1.5;font-size:.76rem;transform:none}
.curiosity-section .doorway-link:hover{border-color:var(--ink);transform:translateX(4px)}
.curiosity-section .world-portal:nth-child(2){margin-left:6vw}
.curiosity-section .world-portal:nth-child(3){margin-right:4vw}
.curiosity-section .territory-close{margin-top:80px;justify-content:flex-end;border:0}
@media(max-width:960px){
 .curiosity-section h2{font-size:clamp(2.8rem,10vw,5.5rem)}
 .curiosity-section .world-portals{margin-top:64px;gap:64px}
 .curiosity-section .world-portal,.curiosity-section .world-portal:nth-child(even){grid-template-columns:minmax(0,1fr);gap:28px;margin:0}
 .curiosity-section .portal-scene{min-height:280px}
 .curiosity-section .portal-copy{padding:0;max-width:640px}
 .curiosity-section .portal-copy h3{font-size:clamp(2.1rem,6.8vw,3.7rem)}
 .curiosity-section .territory-close{margin-top:48px}
}

/* Review refinements: a pause between the two closing thoughts. */
.illumination strong>span{display:block}
.illumination strong>span+span{margin-top:.85em}

/* The expanded statement must remain fully reachable on shorter screens. */
.canon .split>div:first-child{position:relative;top:auto}

/* Time drives these independent drifts; scrolling only gates playback.
   Each pass settles at its own offset without looping or snapping backward. */
.canon .meaning-drift,
.canon .fragment-pair span:last-child{
 --drift-distance:48px;
 --drift-duration:42.667s;
 animation:canon-time-drift var(--drift-duration) linear both paused;
}
.canon .fragment-pair:nth-child(1) span:last-child{--drift-distance:36px;--drift-duration:40s}
.canon .fragment-pair:nth-child(2) span:last-child{--drift-distance:64px;--drift-duration:32s}
.canon .fragment-pair:nth-child(3) span:last-child{--drift-distance:24px;--drift-duration:53.333s}
.canon .fragment-pair:nth-child(4) span:last-child{--drift-distance:48px;--drift-duration:37.333s}
.canon.drift-in-view .meaning-drift,
.canon .fragment-lines.drift-in-view .fragment-pair span:last-child{animation-play-state:running}
/* Reserve travel space so long phrases remain readable on narrow screens. */
.canon .fragment-lines{padding-right:clamp(32px,5vw,64px)}
@keyframes canon-time-drift{
 from{transform:translate3d(0,0,0)}
 to{transform:translate3d(calc(var(--drift-distance) * var(--drift-direction,1)),0,0)}
}
@media(max-width:600px){
 .canon .meaning-drift{--drift-distance:24px}
 .canon .fragment-pair:nth-child(1) span:last-child{--drift-distance:18px}
 .canon .fragment-pair:nth-child(2) span:last-child{--drift-distance:32px}
 .canon .fragment-pair:nth-child(3) span:last-child{--drift-distance:12px}
 .canon .fragment-pair:nth-child(4) span:last-child{--drift-distance:24px}
}
@media(prefers-reduced-motion:reduce){
 .canon .meaning-drift,
 .canon .fragment-pair span:last-child{animation:none!important;transform:none!important}
}

/* Let the aligned starting column register before the phrases disperse. */
.canon .fragment-pair{column-gap:clamp(40px,6vw,72px)}
.canon .fragment-pair span:last-child{animation-delay:1.2s;text-align:left}
/* Give the large headline a longer, more apparent journey at 1.5x its old speed. */
.canon .meaning-drift{--drift-distance:64px;--drift-duration:56.889s}
@media(max-width:600px){.canon .meaning-drift{--drift-distance:32px}}

@media(max-width:600px){
 .canon .fragment-pair{grid-template-columns:minmax(0,1fr);gap:6px}
 .canon .fragment-pair span:last-child{margin-left:32px}
}
