:root{color-scheme:dark;--bg:#101113;--alt:#151719;--surface:#202226;--raised:#292e34;--text:#f5f6f8;--muted:#b0b5c0;--accent:#9bb7ff;--action:#2454d6;--border:#353b44;--line:#292e34;--glow:#4778f51a;--header:#101113df;--shadow:0 4px 10px #0002,0 25px 80px #0005}
:root[data-theme=light]{color-scheme:light;--bg:#f7f6f2;--alt:#eeeee8;--surface:#fff;--raised:#eceff5;--text:#191b20;--muted:#565d69;--accent:#2454d6;--action:#2454d6;--border:#ccd2dc;--line:#dcdedb;--glow:#4778f510;--header:#f7f6f2e6;--shadow:0 3px 8px #26365208,0 25px 70px #26365215}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:Figtree,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:450;line-height:1.04;letter-spacing:-.05em}h1{font-size:clamp(64px,6.3vw,92px)}h2{font-size:clamp(44px,4.9vw,68px)}em{font-style:normal;color:var(--accent)}p,.muted{color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.header{height:80px;position:absolute;inset:0 0 auto;z-index:10;border-bottom:1px solid var(--line)}.nav{height:100%;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:29px;font-weight:650;letter-spacing:-.06em}.mark{width:31px;height:31px;border-radius:10px;background:#2454d6;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 1px #fff4;flex-shrink:0}.mark i{display:block;width:15px;height:5px;border-radius:8px;background:white}.nav nav{display:flex;gap:32px;align-items:center;font-size:13px;color:var(--muted)}.text-button{border:0;background:none;padding:0;font-size:inherit;color:inherit}.nav nav a:hover,.text-button:hover{color:var(--text)}.nav-right{display:flex;align-items:center;gap:22px}.theme-toggle{display:grid;place-items:center;border:1px solid var(--border);width:34px;height:34px;border-radius:50%;background:transparent}.theme-toggle svg{width:17px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--action);color:white;border:1px solid transparent;border-radius:7px;padding:15px 24px;font-size:14px;font-weight:550;transition:background .2s,box-shadow .2s}.button:hover{background:#1c46b9;box-shadow:0 4px 18px #2454d62a}.button:active{transform:translateY(1px)}.button.small{padding:10px 17px;font-size:12px}.eyebrow,.micro,.platform,.chapter-index,.chapter-detail,.stage-status,.stage-counter,.stage-footer,.source-label,.world-label,.film-duration,.example-label{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:.07em}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--muted);margin-bottom:28px;letter-spacing:.12em}.status-dot{width:5px;height:5px;display:inline-block;flex-shrink:0;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px var(--glow)}.hero{position:relative;min-height:1030px;overflow:hidden;padding-top:80px;isolation:isolate}.hero-copy{position:relative;z-index:3;padding-top:100px;pointer-events:none}.hero-copy>*{pointer-events:auto;width:fit-content}.hero-description{font-size:17px;line-height:1.8;margin-top:27px}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:30px}.film-button{background:none;border:0;display:flex;align-items:center;gap:9px;font-size:12px;padding:9px 0}.film-button svg{width:14px;height:14px;fill:currentColor;stroke:none}.film-button>span{color:var(--muted);font-size:10px;margin-left:3px}.platform{display:block;color:var(--muted);font-size:10px;margin-top:17px;letter-spacing:.02em}.hero-world{position:absolute;inset:0;z-index:1;perspective:1400px}.world-grid,.canvas-grid{position:absolute;inset:0;background-image:radial-gradient(var(--border) .6px,transparent .6px);background-size:24px 24px;mask-image:radial-gradient(ellipse,#0008,transparent 75%);pointer-events:none}.world-grid{inset:80px -20% 0 20%;background-size:28px 28px}.world-thread{position:absolute;left:-5%;width:110%;height:500px;top:460px;stroke:var(--accent);stroke-width:.8;opacity:.28}.fragment{position:absolute;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:13px;overflow:hidden;will-change:transform}.window-bar{padding:12px 15px;border-bottom:1px solid var(--line);display:flex;gap:9px;align-items:center;font-size:10px;color:var(--muted)}.dots{margin-left:auto;letter-spacing:2px}.file-icon{display:inline-grid;width:25px;height:28px;border-radius:6px;place-items:center;font-size:11px;font-weight:550;letter-spacing:0;font-style:normal;flex-shrink:0}.lavender{background:#8169dc25;color:#c2b3ff}.mint{background:#27a99c22;color:#75d5c7}.blue{background:var(--glow);color:var(--accent)}.coral{background:#e7776322;color:#e79d8c}[data-theme=light] .lavender{color:#665091}[data-theme=light] .mint{color:#27685d}[data-theme=light] .coral{color:#a14b38}.fragment-content{padding:24px}.fragment h3{font-size:31px;line-height:1.15;letter-spacing:-.035em}.fragment .micro{font-size:8px;color:var(--muted);display:block;margin-bottom:14px}.fragment-content>p{font-size:10px;margin-top:18px}.fragment-note{width:265px;top:205px;left:66%;transform:translateY(var(--hero-shift,0px)) rotate(7deg)}.ink-line{height:4px;background:var(--line);margin-top:20px;border-radius:3px}.ink-line.short{width:65%;margin-top:8px}.fragment-browser{width:240px;top:465px;left:78%;transform:translateY(calc(var(--hero-shift,0px) * -.6)) rotate(-8deg)}.browser-top{display:flex;justify-content:space-between;font-size:7px;color:var(--muted);padding:11px;background:var(--raised)}.fragment-browser .fragment-content{padding:16px}.fragment-browser h3{font-size:22px}.image-art{height:90px;overflow:hidden;position:relative;background:linear-gradient(135deg,#b9c3d0,#627b9c);border-radius:5px;margin-bottom:16px}.image-art div{position:absolute;left:40%;top:-60px;width:70px;height:200px;border-radius:50%;border:20px solid #e0d9b6;transform:rotate(-35deg)}.image-art i{position:absolute;left:14%;top:20px;width:150px;height:150px;border-radius:50%;border:25px solid #22354b;box-shadow:0 0 25px #15253740}.fragment-decision{width:320px;top:630px;left:46%;padding:25px;transform:translateY(calc(var(--hero-shift,0px) * .7)) rotate(-5deg)}.fragment-decision p{font-size:20px;color:var(--text);line-height:1.4;letter-spacing:-.025em}.source-label{display:flex;align-items:center;gap:7px;font-size:8px;color:var(--muted);margin-top:20px}.source-label .file-icon{width:17px;height:20px;font-size:8px}.fragment-task{width:290px;top:775px;left:17%;transform:translateY(calc(var(--hero-shift,0px) * -.4)) rotate(4deg)}.fragment-task p{font-size:11px;padding:18px 16px 0;display:flex;gap:10px;color:var(--text)}.fragment-task p:last-child{padding-bottom:22px;padding-top:12px}.checkbox{display:inline-block;width:12px;height:12px;border:1px solid var(--border);border-radius:3px;flex-shrink:0}.task-dim{color:var(--muted)!important}.world-label{position:absolute;top:935px;left:50%;color:var(--muted);display:flex;align-items:center;gap:9px;font-size:9px}.world-label>span:last-child{margin-left:25px;font-size:8px;opacity:.8}.scroll-cue{position:absolute;bottom:35px;left:40px;font-size:8px;letter-spacing:.15em;display:flex;align-items:center;gap:12px;color:var(--muted);z-index:4}.scroll-line{height:30px;width:1px;background:var(--accent)}.experience{padding-top:65px}.experience-intro>p{font-size:14px;margin-top:24px}.experience-intro .eyebrow{font-size:9px}.experience-body{display:grid;grid-template-columns: .8fr 1.3fr;gap:65px;position:relative}.chapter{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px 0;scroll-margin-top:160px}.chapter-index{color:var(--accent);font-size:9px;margin-bottom:28px}.chapter h3{font-size:42px;line-height:1.1}.chapter p{font-size:16px;line-height:1.8;margin-top:25px;max-width:325px}.chapter-detail{font-size:9px;color:var(--muted);margin-top:32px;padding-top:16px;border-top:1px solid var(--line);width:100%;max-width:325px}.mobile-scene{display:none}.sticky-stage{position:sticky;top:calc(50vh - 290px);height:580px;align-self:start;margin-top:70px}.stage-shell{height:100%;background:var(--surface);border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.stage-header{height:60px;padding:0 22px;display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line)}.mini-brand{display:flex;gap:8px;align-items:center;font-weight:600;font-size:17px;letter-spacing:-.04em}.mini-brand .mark{width:21px;height:21px;border-radius:6px}.mini-brand .mark i{height:3px;width:10px}.stage-status{font-size:7px;color:var(--muted);margin-left:auto}.stage-counter{font-size:9px;color:var(--muted)}.stage-canvas{height:465px;position:relative;overflow:hidden}.stage-piece{position:absolute;width:205px;display:flex;gap:11px;align-items:center;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:9px;box-shadow:0 8px 25px #00000008;transition:transform 1s cubic-bezier(.22,1,.36,1),opacity .65s;z-index:2;font-size:12px}.stage-piece small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.piece-one{left:4%;top:50px;transform:rotate(-9deg)}.piece-two{right:3%;top:92px;transform:rotate(8deg)}.piece-three{left:8%;bottom:55px;transform:rotate(4deg)}.piece-four{right:4%;bottom:100px;transform:rotate(-5deg)}.stage-lines{position:absolute;inset:0;height:100%;width:100%;stroke:var(--accent);stroke-width:1;stroke-dasharray:700;stroke-dashoffset:700;opacity:.45;transition:stroke-dashoffset 1.5s ease}.project-core{position:absolute;inset:115px 18% auto;text-align:center;padding:25px 15px;background:var(--surface);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow);opacity:0;transform:scale(.8);transition:opacity .7s,transform .8s cubic-bezier(.22,1,.36,1);z-index:3}.project-core h4{font-size:25px;margin-top:15px}.project-core p{font-size:12px;margin-top:12px}.core-counts{margin-top:20px;display:flex;gap:10px;justify-content:center;color:var(--muted);font-size:8px}.return-card{position:absolute;left:10%;right:10%;top:48px;padding:25px;background:var(--bg);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow);opacity:0;transform:translateY(40px) scale(.96);transition:opacity .65s,transform .8s cubic-bezier(.22,1,.36,1);z-index:4}.return-top{display:flex;align-items:center;gap:9px;font-size:12px;margin-bottom:30px}.return-top>span:last-child{margin-left:auto;font-size:8px;color:var(--accent)}.return-card .micro{font-size:8px;color:var(--muted)}.return-card h4{font-size:32px;line-height:1.2;margin-top:12px}.return-card>p{font-size:11px;margin-top:15px}.return-next{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;display:grid;gap:12px}.return-next>span:last-child{font-size:12px;display:flex;align-items:center;gap:8px}.stage-footer{height:54px;border-top:1px solid var(--line);padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-size:6px;color:var(--muted);gap:15px}.chapter-dots{display:flex;gap:5px}.chapter-dots i{display:block;width:18px;height:2px;background:var(--border);transition:background .3s}.chapter-dots .active{background:var(--accent)}[data-stage="1"] .stage-lines,[data-stage="2"] .stage-lines{stroke-dashoffset:0}[data-stage="1"] .project-core{opacity:1;transform:scale(1)}[data-stage="1"] .piece-one{transform:translate(-40px,-20px) scale(.7);opacity:.6}[data-stage="1"] .piece-two{transform:translate(40px,-30px) scale(.7);opacity:.6}[data-stage="1"] .piece-three{transform:translate(-40px,35px) scale(.7);opacity:.6}[data-stage="1"] .piece-four{transform:translate(40px,45px) scale(.7);opacity:.6}[data-stage="2"] .stage-piece{opacity:.1;transform:scale(.7)}[data-stage="2"] .project-core{opacity:0;transform:scale(.9)}[data-stage="2"] .return-card{opacity:1;transform:none}
.payoff{padding-block:120px;display:grid;grid-template-columns:.8fr 1.3fr;gap:65px;align-items:center}.payoff-heading p{font-size:15px;line-height:1.8;margin-top:25px}.payoff-heading .eyebrow{font-size:8px}.interactive-demo{border:1px solid var(--border);border-radius:15px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.demo-questions{display:flex;border-bottom:1px solid var(--line);padding:8px;gap:3px;background:var(--bg)}.demo-questions button{border:0;border-radius:6px;background:none;flex:1;padding:13px 5px;font-size:11px;color:var(--muted);transition:background .2s,color .2s}.demo-questions button>span{font-size:8px;margin-right:5px;color:var(--muted)}.demo-questions button.active{background:var(--raised);color:var(--text)}.demo-output{padding:27px 30px;min-height:380px}.demo-output-top{display:flex;align-items:center;gap:9px;font-size:11px;margin-bottom:35px}.demo-output-top .micro{margin-left:auto;font-size:7px;color:var(--muted)}.demo-label{font-size:8px;color:var(--muted)}.demo-output h3{font-size:29px;line-height:1.3;margin-top:17px;min-height:76px}.demo-output>p{font-size:12px;margin-top:15px;min-height:38px}.source-button{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:7px;background:var(--bg);padding:12px 14px;width:100%;text-align:left;font-size:11px;margin-top:25px;transition:border-color .2s}.source-button:hover{border-color:var(--accent)}.source-button small{display:block;color:var(--muted);font-size:9px}.source-button svg{margin-left:auto;width:16px}.example-label{display:block;color:var(--muted);font-size:7px;text-align:right;margin-top:15px}.film-strip{background:var(--alt);padding-block:55px;border-block:1px solid var(--line)}.film-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.film-strip h2{font-size:35px}.film-strip .eyebrow{font-size:9px;margin-bottom:18px}.film-strip p{font-size:14px;margin-top:15px}.film-thumbnail{width:310px;border:1px solid var(--border);padding:0;border-radius:10px;background:#101113;overflow:hidden;aspect-ratio:16/9;position:relative;flex-shrink:0}.film-thumbnail img{width:100%;height:100%;object-fit:cover;opacity:.65;transition:opacity .3s,transform .5s}.film-thumbnail:hover img{opacity:.9;transform:scale(1.03)}.play-round{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#2454d6;color:white;display:grid;place-items:center;box-shadow:0 0 0 7px #2454d625}.play-round svg{fill:white;stroke:none;width:16px}.film-duration{position:absolute;right:10px;bottom:9px;color:#fff;font-size:8px}.control{padding-block:110px;display:grid;grid-template-columns:1fr 1fr;gap:110px}.control h2{font-size:49px}.control-heading>p{max-width:380px;font-size:15px;line-height:1.8;margin-top:26px}.control-list article{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.control-list article:first-child{padding-top:0}.control-list article>span{font-family:monospace;color:var(--accent);font-size:10px;padding-top:5px}.control-list h3{font-size:24px;letter-spacing:-.025em}.control-list p{font-size:13px;line-height:1.8;margin-top:12px}.faq{border-top:1px solid var(--line);padding-block:70px 90px;display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.faq h2{font-size:32px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq details:first-child{padding-top:0}.faq summary{list-style:none;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:20px;line-height:1;color:var(--muted);transition:transform .3s}.faq details[open] summary>span{transform:rotate(45deg)}.faq details p{font-size:13px;padding-top:17px;line-height:1.8}.closing{text-align:center;position:relative;overflow:hidden;padding:95px 0 100px;background:var(--alt);border-block:1px solid var(--line);isolation:isolate}.closing .wrap{position:relative;z-index:2}.closing .mark{width:44px;height:44px;border-radius:13px;margin-bottom:35px}.closing .eyebrow{justify-content:center;font-size:9px}.closing h2{font-size:clamp(48px,5.5vw,75px)}.closing p{font-size:16px;margin-top:25px}.closing-thread{position:absolute;left:-20%;right:-20%;bottom:-80%;height:170%;border:1px solid var(--border);border-radius:50%;transform:rotate(-15deg);z-index:0}.closing-thread:before,.closing-thread:after{content:'';position:absolute;inset:25px;border:1px solid var(--line);border-radius:50%}.closing-thread:after{inset:50px}.waitlist-form{max-width:440px;margin:30px auto 0}.form-row{display:flex;gap:5px;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.form-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}input{min-width:0;flex:1;width:0;border:0;background:none;color:var(--text);padding:10px 12px;font-size:13px}input:focus-visible{outline:0}input::placeholder{color:var(--muted)}.form-row .button{padding:13px 17px;font-size:12px;white-space:nowrap}.closing .form-note{font-size:10px;margin-top:12px;min-height:32px}.closing .platform{font-size:10px;margin-top:0}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:30px 35px}.footer .brand{font-size:25px}.footer .brand>span{font-size:10px;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:12px}.footer>div{display:flex;gap:23px;font-size:10px;color:var(--muted)}.footer>div>span:last-child{font-size:8px;padding-top:2px;letter-spacing:.04em}dialog{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:0;box-shadow:0 25px 120px #0008}dialog::backdrop{background:#090c12d9;backdrop-filter:blur(10px)}.film-dialog{width:min(1100px,calc(100% - 40px));overflow:visible}.film-dialog video{display:block;width:100%;max-height:80vh;background:#101113;border-radius:14px}.film-dialog>p{position:absolute;bottom:-34px;left:0;color:#c0c6d0;font-size:11px}.dialog-close{position:absolute;right:10px;top:10px;z-index:3;width:33px;height:33px;border:1px solid #ffffff40;border-radius:50%;background:#101113db;color:white;font-size:24px;line-height:1;display:grid;place-items:center}.source-dialog{padding:45px;width:min(580px,calc(100% - 40px))}.source-dialog h2{font-size:34px}.source-dialog>p{font-size:13px;line-height:1.8;margin-top:25px}.source-dialog .source-quote{border-left:2px solid var(--accent);padding-left:20px;font-size:19px;color:var(--text)}.source-dialog .eyebrow{font-size:8px;padding-right:20px}.skip{position:fixed;left:15px;top:-60px;z-index:100;background:var(--action);color:white;padding:10px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1100px){.hero{min-height:1000px}.hero h1{font-size:72px}.fragment-note{left:70%;width:220px}.fragment-browser{left:80%;width:210px}.fragment-decision{left:47%;top:650px}.fragment-task{left:10%;top:780px}.experience-body,.payoff{gap:40px;grid-template-columns:.8fr 1.2fr}.stage-piece{width:170px;padding:12px;font-size:11px}.stage-status{display:none}.return-card{left:6%;right:6%}.return-card h4{font-size:28px}.chapter h3{font-size:37px}.control{gap:60px}}
@media(max-width:760px),(prefers-reduced-motion:reduce){.experience-body{display:block}.sticky-stage{display:none}.chapters{display:grid;grid-template-columns:1fr}.chapter{min-height:0;padding:40px 0;border-bottom:1px solid var(--line)}.mobile-scene{display:block;width:100%;height:auto;margin-top:28px;border:1px solid var(--border);border-radius:11px}.chapter p,.chapter-detail{max-width:470px}.chapter-detail{margin-top:20px}.hero-world .fragment{transform:none!important}.world-thread{stroke-dasharray:none}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:70px}.nav nav{display:none}.nav-right{gap:12px}.button.small{font-size:10px;padding:9px 12px}.brand{font-size:25px}.mark{width:28px;height:28px;border-radius:9px}.theme-toggle{width:30px;height:30px}.hero{min-height:1130px;padding-top:70px}.hero-copy{padding-top:55px}.hero h1{font-size:clamp(49px,9.5vw,72px);line-height:1.06}.hero .eyebrow{font-size:8px;margin-bottom:25px}.hero-description{font-size:15px;line-height:1.8;margin-top:24px}.hero-actions{gap:20px;margin-top:25px}.hero-actions .button{font-size:12px;padding:13px 18px}.film-button{font-size:11px;gap:6px}.film-button>span{display:none}.platform{font-size:9px}.world-grid{inset:400px -30% 0}.world-thread{top:580px;height:430px;width:150%;left:-25%}.fragment-note{top:560px;left:8%;width:215px;transform:rotate(-4deg)!important}.fragment-note .fragment-content{padding:20px}.fragment-note h3{font-size:27px}.fragment-browser{top:710px;left:67%;width:170px;transform:rotate(6deg)!important}.fragment-browser .image-art{height:65px}.fragment-browser h3{font-size:19px}.fragment-decision{top:870px;left:8%;width:260px;transform:rotate(-3deg)!important;padding:22px}.fragment-decision p{font-size:19px}.fragment-task{display:none}.world-label{top:1080px;left:10%;font-size:8px}.world-label>span:last-child{display:none}.scroll-cue{bottom:30px;left:auto;right:20px;font-size:7px}.scroll-line{height:20px}.experience{padding-top:40px}.experience-intro .eyebrow{font-size:8px;line-height:1.8;max-width:250px}h2{font-size:38px}.experience-intro>p{font-size:13px}.chapter{padding-block:40px}.chapter-index{font-size:8px;margin-bottom:20px}.chapter h3{font-size:35px}.chapter p{font-size:15px;margin-top:20px}.chapter-detail{font-size:8px}.payoff{padding-block:65px;grid-template-columns:1fr;gap:30px}.payoff h2{font-size:49px}.payoff-heading p{font-size:14px}.payoff-heading .eyebrow{font-size:8px;line-height:1.8}.demo-questions{gap:0;padding:6px}.demo-questions button{font-size:10px;padding:13px 3px}.demo-questions button>span{display:none}.demo-output{padding:23px 20px;min-height:380px}.demo-output h3{font-size:26px;min-height:100px}.demo-output-top{font-size:10px}.demo-output-top .micro{font-size:6px}.film-strip{padding-block:40px}.film-strip-inner{flex-direction:column;align-items:flex-start;gap:25px}.film-strip h2{font-size:31px}.film-strip p{font-size:13px}.film-thumbnail{width:100%;max-width:450px}.control{padding-block:65px;grid-template-columns:1fr;gap:35px}.control h2{font-size:38px}.control-heading>p{font-size:14px}.control-list h3{font-size:23px}.control-list p{font-size:13px}.faq{padding-block:45px 60px;grid-template-columns:1fr;gap:30px}.faq h2{font-size:31px}.faq summary{font-size:13px}.closing{padding-block:60px}.closing h2{font-size:43px}.closing .eyebrow{font-size:8px}.closing p{font-size:14px}.closing-thread{left:-80%;right:-80%}.footer{flex-direction:column;align-items:flex-start;gap:20px}.footer .brand>span{font-size:9px}.footer>div{gap:18px;font-size:9px}.footer>div>span:last-child{font-size:7px}.source-dialog{padding:35px 25px}.film-dialog{width:calc(100% - 20px)}.film-dialog .dialog-close{top:-42px;right:0}.source-dialog .source-quote{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fragment{transform:none!important}}
/* One project story, seen through three different worlds. */
[hidden]{display:none!important}.audience-switch{display:inline-flex;gap:5px;border:1px solid var(--border);padding:5px;border-radius:30px;margin:0 0 30px;background:var(--surface)}.audience-switch button{background:none;border:0;border-radius:24px;color:var(--muted);padding:10px 19px;font-size:12px;transition:background .25s,color .25s,box-shadow .25s}.audience-switch button.active{background:var(--text);color:var(--bg);box-shadow:0 2px 8px #00000010}.audience-switch button:not(.active):hover{background:var(--raised);color:var(--text)}.mobile-world{padding:25px;background:var(--surface);box-shadow:var(--shadow)}.mobile-world>.micro{color:var(--muted)}.mobile-world h4{font-size:28px;line-height:1.2;margin-top:16px}.mobile-world>p{font-size:14px;line-height:1.8}.source-label{white-space:nowrap}.fragment-note h3{min-height:72px}.fragment-decision{min-height:178px}.project-core h4{font-size:23px}.return-card h4{font-size:30px}
/* Authentic app evidence, presented as a guided interaction. */
.product-proof{padding-block:20px 110px}.proof-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:40px}.proof-heading h2{font-size:51px}.proof-heading>p{font-size:15px;max-width:300px;line-height:1.8;padding-bottom:5px}.proof-layout{display:grid;grid-template-columns:260px 1fr;gap:45px;align-items:center}.proof-controls>.micro{color:var(--muted);font-size:9px;display:block;margin-bottom:25px}.proof-step{display:flex;width:100%;gap:16px;align-items:baseline;background:none;border:0;border-left:1px solid var(--border);text-align:left;padding:18px;color:var(--muted);transition:border-color .25s,background .25s}.proof-step>span{font-family:monospace;font-size:10px}.proof-step>div{font-size:15px}.proof-step small{font-size:11px;display:block;margin-top:4px}.proof-step.active{border-left:2px solid var(--accent);background:var(--glow);color:var(--text)}#proof-description{font-size:12px;line-height:1.8;margin-top:25px;min-height:88px}.proof-reset{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:4px;font-size:12px;margin-top:17px}.proof-device{border:1px solid var(--border);border-radius:13px;background:#fafafa;box-shadow:var(--shadow);overflow:hidden;position:relative;isolation:isolate}.proof-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;padding:13px 17px;background:var(--surface);color:var(--muted);border-bottom:1px solid var(--border)}.window-dots{display:flex;gap:5px}.window-dots i{width:6px;height:6px;background:var(--border);border-radius:50%}.proof-image-wrap{position:relative;overflow:hidden}.proof-image-wrap>img{width:100%;height:auto;display:block;aspect-ratio:3/2}.proof-hotspot{position:absolute;left:26%;top:75.4%;width:33.5%;height:5.2%;border:2px solid #2454d6;background:#2454d60d;border-radius:8px;color:#2454d6;transition:box-shadow .2s}.proof-hotspot:hover{box-shadow:0 0 0 5px #2454d620}.hotspot-label{position:absolute;left:0;bottom:calc(100% + 10px);font-size:10px;white-space:nowrap;padding:7px 10px;background:#2454d6;color:white;border-radius:5px;box-shadow:0 3px 14px #0002}.hotspot-label:after{content:'';position:absolute;top:100%;left:16px;border:5px solid transparent;border-top-color:#2454d6}.hotspot-pulse{position:absolute;inset:-5px;border:1px solid #2454d655;border-radius:11px;animation:proof-ring 2.5s ease-out 3}.proof-caption{display:flex;justify-content:space-between;gap:15px;padding:12px 16px;font-family:monospace;font-size:7px;color:var(--muted);background:var(--surface);border-top:1px solid var(--border)}[data-proof=source] .proof-image-wrap>img{animation:proof-in .35s ease-out}@keyframes proof-ring{from{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}@keyframes proof-in{from{opacity:.6}to{opacity:1}}
/* The same fragments resolve into the mark at the final invitation. */
.closing{--gather:0;padding-top:30px}.gather-scene{width:min(600px,100%);height:210px;margin:0 auto 28px;position:relative}.gather-fragment{position:absolute;display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:9px;background:var(--surface);padding:14px;font-size:11px;box-shadow:var(--shadow);opacity:calc(1 - var(--gather));will-change:transform,opacity}.gather-a{left:5%;top:25px;transform:translate(calc(var(--gather) * 170px),calc(var(--gather) * 60px)) rotate(calc(-8deg + var(--gather) * 8deg)) scale(calc(1 - var(--gather) * .55))}.gather-b{right:4%;top:15px;transform:translate(calc(var(--gather) * -170px),calc(var(--gather) * 70px)) rotate(calc(7deg - var(--gather) * 7deg)) scale(calc(1 - var(--gather) * .55))}.gather-c{right:15%;bottom:10px;transform:translate(calc(var(--gather) * -100px),calc(var(--gather) * -70px)) scale(calc(1 - var(--gather) * .55))}.gather-scene>.gather-mark{position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,-50%) scale(calc(.55 + var(--gather) * .45));opacity:var(--gather);width:52px;height:52px;border-radius:16px;box-shadow:0 0 70px var(--glow);z-index:2}.gather-mark i{width:24px;height:7px}.gather-scene svg{position:absolute;inset:0;width:100%;height:100%;stroke:var(--accent);stroke-width:.6;opacity:calc((1 - var(--gather)) * .35);z-index:-1}
@media(max-width:1000px){.proof-layout{grid-template-columns:210px 1fr;gap:25px}.proof-heading h2{font-size:45px}.proof-hotspot{border-width:1px;border-radius:5px}.proof-caption{font-size:6px}.return-card h4{font-size:27px}}
@media(max-width:760px){.audience-switch{max-width:100%;padding:4px;margin-bottom:28px}.audience-switch button{font-size:11px;padding:10px 15px}.product-proof{padding-block:0 65px}.proof-heading{display:block;margin-bottom:26px}.proof-heading h2{font-size:37px}.proof-heading>p{font-size:14px;margin-top:22px;max-width:330px}.proof-layout{display:flex;flex-direction:column;gap:25px;align-items:stretch}.proof-controls{display:grid;grid-template-columns:1fr 1fr;gap:0}.proof-controls>.micro{grid-column:1/-1;margin-bottom:15px}.proof-step{padding:12px 10px;gap:9px}.proof-step>div{font-size:12px}.proof-step small{font-size:9px}.proof-controls #proof-description{grid-column:1/-1;min-height:0;margin-top:18px;font-size:12px}.proof-reset{grid-column:1/-1;text-align:left}.proof-titlebar{padding:10px 12px;font-size:8px}.proof-caption{padding:10px;font-size:6px;line-height:1.6}.proof-caption>span:last-child{display:none}.proof-image-wrap{overflow:auto}.proof-image-wrap>img{width:100%;min-width:0}.hotspot-label{font-size:8px;padding:5px 7px;bottom:calc(100% + 7px)}.proof-hotspot{border-radius:4px}.gather-scene{height:185px;margin-bottom:10px}.gather-fragment{font-size:9px;padding:10px;gap:6px}.gather-fragment .file-icon{width:20px;height:23px;font-size:9px}.gather-a{left:2%;transform:translate(calc(var(--gather) * 95px),calc(var(--gather) * 35px)) scale(calc(1 - var(--gather) * .55))}.gather-b{right:2%;transform:translate(calc(var(--gather) * -95px),calc(var(--gather) * 45px)) scale(calc(1 - var(--gather) * .55))}.gather-c{right:10%;transform:translate(calc(var(--gather) * -70px),calc(var(--gather) * -65px)) scale(calc(1 - var(--gather) * .55))}.closing{padding-top:15px}}
@media(prefers-reduced-motion:reduce){.gather-fragment,.gather-scene svg{display:none}.gather-scene>.gather-mark{opacity:1;transform:translate(-50%,-50%)}.hotspot-pulse{animation:none}.gather-scene{height:125px}}
@media(max-width:760px){.proof-image-wrap{overflow:hidden}.proof-image-wrap>img{width:170%;max-width:none;transform:translateX(-22%)}.proof-hotspot{left:6.8%;width:56.95%;min-height:24px}.proof-caption{font-size:8px;letter-spacing:0;line-height:1.7}.proof-titlebar{font-size:9px}.proof-caption>span:first-child{max-width:270px}}

/* Editorial accent: key phrases set in an italic serif beside Figtree */
em{font-family:'Instrument Serif',Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.02em;font-size:1.14em;line-height:1}
h1 em,h2 em{letter-spacing:-.025em}

/* Photo layers: every blur, tint and fade is CSS; the source images stay untouched */
.header{--text:#fbf3ea;--muted:#eadccd;--border:#ffffff4d;--line:#ffffff24}
.hero{min-height:920px;background:#150f0d;--text:#fbf3ea;--muted:#e8d8c8;--accent:#ffc9a3;--border:#ffffff33;--line:#ffffff22}
.hero-photo{position:absolute;inset:0 0 0 34%;z-index:0;background:url(assets/photography/focus.jpg) center 38%/cover no-repeat;filter:saturate(1.12) contrast(1.06) brightness(.95);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.hero-photo::before{content:'';position:absolute;inset:0;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);-webkit-mask-image:radial-gradient(ellipse 36% 40% at 50% 63%,transparent 40%,#000 100%);mask-image:radial-gradient(ellipse 36% 40% at 50% 63%,transparent 40%,#000 100%)}
.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#3a1a0d55,transparent 35%,#150f0dcc 100%),radial-gradient(ellipse at 60% 60%,#ff9a5c22,transparent 60%)}
.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(transparent,var(--bg));z-index:2;pointer-events:none}
.hero-world{display:none}
.hero h1 em{color:#ffc9a3}
.hero .eyebrow{color:#ffd9bf}
.hero .button.secondary,.hero .film-button{color:#fbf3ea}
.scroll-cue{z-index:3}
.photo-band{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#1a110e}
.photo-band-img{position:absolute;inset:-4%;z-index:-1;background:url(assets/photography/team.jpg) center 78%/cover no-repeat;filter:sepia(.7) saturate(1.5) hue-rotate(-14deg) contrast(1.05) brightness(.8) blur(2.5px)}
.photo-band-img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1a110ee6 0,#2b140a88 45%,#1a110e44),linear-gradient(0deg,#1a110e99,transparent 40%)}
.photo-band-copy{padding-block:80px;--text:#fbf3ea;--muted:#e8d8c8}
.photo-band-copy h2{color:#fbf3ea;margin-bottom:18px}
.photo-band-copy em{color:#ffc9a3}
.photo-band-copy .eyebrow{color:#ffd9bf}
.photo-band-copy p{color:#e8d8c8;font-size:19px;max-width:420px}
.closing{background:#150f0d;border-color:transparent;--text:#fbf3ea;--muted:#e8d8c8;--accent:#ffc9a3;--border:#ffffff33;--line:#ffffff22;--alt:#150f0d}
.closing-photo{position:absolute;inset:0;z-index:0;background:url(assets/photography/evening.jpg) center 55%/cover no-repeat;filter:saturate(1.1) brightness(.78) blur(2px);transform:scale(1.06)}
.closing-photo::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,#150f0d99 0,#150f0dee 75%),linear-gradient(180deg,var(--bg),transparent 18%)}
.closing-thread{display:none}
@media(max-width:760px){.hero-photo{inset:0;opacity:.55;-webkit-mask-image:none;mask-image:none}.photo-band{min-height:420px}}
.hero h1,.header .brand,.header nav a,.header .text-button,.header .theme-toggle{color:#fbf3ea}
.closing h2,.closing .brand{color:#fbf3ea}
/* Hero in product blue: photo tinted blue, no orange */
.hero-photo::after{background:#2f5fe0;mix-blend-mode:color;opacity:.6}
.hero h1 em,.hero .eyebrow{color:#a9c1ff}
:root[data-theme=light] .header{--text:#10183a;--muted:#3b4666;--border:#2454d640;--line:#2454d61f}
:root[data-theme=light] .header .brand,:root[data-theme=light] .header nav a,:root[data-theme=light] .header .text-button,:root[data-theme=light] .header .theme-toggle{color:#10183a}
:root[data-theme=light] .hero{background:#eef2fb;--text:#10183a;--muted:#35405f;--accent:#2454d6;--border:#2454d633;--line:#2454d61f}
:root[data-theme=light] .hero-photo{filter:saturate(.85) brightness(1.35) contrast(.88)}
:root[data-theme=light] .hero-photo::after{opacity:.55}
:root[data-theme=light] .hero h1,:root[data-theme=light] .hero .film-button{color:#10183a}
:root[data-theme=light] .hero h1 em,:root[data-theme=light] .hero .eyebrow{color:#2454d6}
:root[data-theme=light] .hero .eyebrow{color:#2454d6}
:root[data-theme=light] .hero-photo{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 45%);mask-image:linear-gradient(90deg,transparent 0,#000 45%)}
:root[data-theme=dark] .hero{background:#0b1022}
/* Midway: lighter blue tint, photo keeps its natural warmth */
.hero-photo::after{opacity:.26}
:root[data-theme=light] .hero-photo::after{opacity:.2}
:root[data-theme=light] .hero-photo{filter:saturate(.95) brightness(1.2) contrast(.95)}
:root[data-theme=light] .hero{background:#f1f2f6}
:root[data-theme=dark] .hero{background:#12121a}
/* Closer to the original warm photo; only the accent phrase stays blue */
.hero-photo::after{opacity:.07}
:root[data-theme=light] .hero-photo::after{opacity:.07}
:root[data-theme=light] .hero-photo,:root[data-theme=dark] .hero-photo{filter:saturate(1.1) contrast(1.05) brightness(.95);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
:root[data-theme=light] .hero,:root[data-theme=dark] .hero{background:#150f0d;--text:#fbf3ea;--muted:#e8d8c8;--accent:#8fb0ff;--border:#ffffff33;--line:#ffffff22}
:root[data-theme=light] .header{--text:#fbf3ea;--muted:#eadccd;--border:#ffffff4d;--line:#ffffff24}
:root[data-theme=light] .header .brand,:root[data-theme=light] .header nav a,:root[data-theme=light] .header .text-button,:root[data-theme=light] .header .theme-toggle,:root[data-theme=light] .hero h1,:root[data-theme=light] .hero .film-button{color:#fbf3ea}
.hero h1 em,:root[data-theme=light] .hero h1 em{color:#8fb0ff}
.hero .eyebrow,:root[data-theme=light] .hero .eyebrow{color:#ffe0c8}
/* Match band + closing to the hero: same blue accent phrase, same warm-neutral photo grade */
.photo-band-copy em,.closing h2 em,.closing em{color:#8fb0ff}
.photo-band-copy .eyebrow,.closing .eyebrow{color:#ffe0c8}
.photo-band-img{filter:sepia(.3) saturate(1.25) hue-rotate(-8deg) contrast(1.05) brightness(.85) blur(2.5px)}
.photo-band::before,.photo-band::after{content:'';position:absolute;left:0;right:0;height:90px;z-index:0;pointer-events:none}
.photo-band::before{top:0;background:linear-gradient(var(--bg),transparent)}
.photo-band::after{bottom:0;background:linear-gradient(transparent,var(--bg))}
.photo-band-copy{position:relative;z-index:1}
/* Band: show the team (no blur), framed on their faces */
.photo-band{min-height:560px}
.photo-band-img{inset:0;background-position:center 46%;filter:sepia(.3) saturate(1.2) hue-rotate(-8deg) contrast(1.05) brightness(.9)}
.photo-band-img::after{background:linear-gradient(90deg,#1a110ef0 0,#1a110eaa 38%,#1a110e22 70%),linear-gradient(0deg,#1a110e88,transparent 35%)}

/* One story, with connections attached to the moving cards. */
.story{--ease:cubic-bezier(.22,1,.36,1);position:relative;background:var(--bg)}
.story-track{height:320vh}.story-sticky{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:minmax(300px,.78fr) 1.22fr;gap:48px;align-items:center;width:min(1240px,calc(100% - 80px));margin-inline:auto}.story-text{position:relative}.story-steps{list-style:none;margin:0;padding:0;display:grid}.step{grid-area:1/1;opacity:0;transform:translateY(18px);filter:blur(3px);transition:opacity .55s var(--ease),transform .75s var(--ease),filter .6s var(--ease);pointer-events:none}.step.active{opacity:1;transform:none;filter:none;pointer-events:auto}.step-kicker{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--muted);margin-bottom:22px}.step-kicker b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--action);color:#fff;font-size:12px;font-weight:600}.step h3{font-size:clamp(40px,4.3vw,64px);line-height:1.04;letter-spacing:-.045em;font-weight:450}.step p{margin-top:22px;font-size:18px;line-height:1.65;max-width:410px}.story-rail{display:flex;gap:6px;margin-top:38px}.story-rail i{width:26px;height:3px;border-radius:3px;background:var(--border);transition:background .4s,width .5s var(--ease)}.story-rail i.on{background:var(--action);width:44px}
.story-stage{position:relative;height:min(650px,78vh);isolation:isolate}.frag{position:absolute;left:var(--l);top:var(--t);width:27%;max-width:184px;display:flex;gap:9px;align-items:flex-start;padding:14px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 2px 5px #00000003;transform:translate(-50%,-50%) rotate(var(--r,0deg)) scale(var(--s,1));opacity:var(--o,1);transition:left 1s var(--ease),top 1s var(--ease),transform 1s var(--ease),opacity .7s;z-index:2}.frag i{width:7px;height:7px;border-radius:50%;background:var(--dot);margin-top:5px;flex-shrink:0}.frag b{display:block;font-weight:500;font-size:13px;line-height:1.4;color:var(--text)}.frag span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.f1{--l:17%;--t:15%;--r:-5deg}.f2{--l:72%;--t:12%;--r:4deg}.f3{--l:28%;--t:43%;--r:-3deg}.f4{--l:78%;--t:50%;--r:5deg}.f5{--l:16%;--t:77%;--r:3deg}.f6{--l:69%;--t:87%;--r:-4deg}
.story-stage:not([data-step="0"]) .f1{--l:16%;--t:19%;--r:0deg}.story-stage:not([data-step="0"]) .f2{--l:84%;--t:19%;--r:0deg}.story-stage:not([data-step="0"]) .f3{--l:16%;--t:50%;--r:0deg}.story-stage:not([data-step="0"]) .f4{--l:84%;--t:50%;--r:0deg}.story-stage:not([data-step="0"]) .f5{--l:16%;--t:81%;--r:0deg}.story-stage:not([data-step="0"]) .f6{--l:84%;--t:81%;--r:0deg}.story-stage[data-step="2"] .frag{--o:.32;--s:.94}.story-stage[data-step="3"] .frag{--o:.12;--s:.9}
.threads{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0;opacity:0;transition:opacity .65s}.threads path{fill:none;stroke:var(--action);stroke-width:1.15;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.6}.threads circle{fill:var(--surface);stroke:var(--action);stroke-width:1.2}.story-stage[data-step="1"] .threads{opacity:1}.story-stage[data-step="2"] .threads{opacity:.25}.story-stage[data-step="3"] .threads{opacity:.08}
.core{position:absolute;left:50%;top:50%;width:34%;transform:translate(-50%,-50%);display:grid;z-index:3}.core>div{grid-area:1/1;opacity:0;transform:translateY(14px) scale(.97);transition:opacity .55s var(--ease),transform .8s var(--ease);pointer-events:none}.story-stage[data-step="1"] .core-a,.story-stage[data-step="2"] .core-b,.story-stage[data-step="3"] .core-c{opacity:1;transform:none}.core-a{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:17px 10px;width:100%;box-shadow:0 8px 28px #00000007}.core-a i{width:7px;height:7px;border-radius:50%;background:var(--action)}.core-a b{font-weight:550;font-size:15px;color:var(--text)}.core-a span{flex-basis:100%;font-size:10px;text-align:center;color:var(--muted)}.core-b,.core-c{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:23px;width:160%;margin-left:-30%;box-shadow:0 8px 28px #00000007}.core-b b{font-size:17px;font-weight:550;display:block;margin-bottom:14px}.core-b p{font-size:17px;line-height:1.4;color:var(--text);margin-top:12px;letter-spacing:-.02em}.core-b small,.core-c small{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;letter-spacing:0}.core-c>span{display:block;font-size:13px;color:var(--muted);margin:2px 0 8px}.core-c h4{font-size:28px;line-height:1.12;letter-spacing:-.035em;font-weight:450}.core-c p{font-size:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:760px),(prefers-reduced-motion:reduce){.story-track{height:auto}.story-sticky{position:static;height:auto;display:block;width:calc(100% - 40px);padding-block:70px 40px}.story-steps{display:block}.step{opacity:1;transform:none;filter:none;margin-bottom:42px;transition:none}.step h3{font-size:36px}.step p{font-size:16px}.story-rail{display:none}.story-stage{height:240px}.story-stage .frag,.story-stage .threads{display:none}.story-stage .core{width:min(280px,90%)}.core>div{transition:none}.core-b,.core-c{width:100%;margin-left:0}}
.step h3 em{display:block;white-space:nowrap}
/* Band photo: img4, pushed right so the speaker sits clear of the text */
.photo-band-img{inset:0 0 0 20%;background-image:url(assets/photography/team.jpg);background-position:center 40%;filter:sepia(.25) saturate(1.15) hue-rotate(-6deg) contrast(1.05) brightness(.82);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%)}
.photo-band-img::after{background:linear-gradient(90deg,#1a110e66 0,transparent 40%),linear-gradient(0deg,#1a110e88,transparent 40%)}

/* Film grain: one reusable layer on top of every photo. Tune it here; the photos are never edited. */
:root{--grain-opacity:.5;--grain-size:240px;--grain-blend:overlay;--grain-gradient:linear-gradient(180deg,transparent,transparent);--grain-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='.7 .7 .7 0 -.55 .7 .7 .7 0 -.55 .7 .7 .7 0 -.55 0 0 0 0 1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.grain{position:absolute;inset:0;z-index:3;pointer-events:none;background-image:var(--grain-noise),var(--grain-gradient);background-size:var(--grain-size) var(--grain-size),100% 100%;opacity:var(--grain-opacity);mix-blend-mode:var(--grain-blend)}
/* Per-photo grain strength (overrides the global --grain-opacity) */
.hero-photo .grain,.closing-photo .grain{opacity:.8}
.photo-band-img .grain{opacity:.28}

/* Declutter: fewer labels, fewer boxes */
.demo-label,.demo-output-top .micro,.proof-controls>.micro{display:none}
.demo-output-top{margin-bottom:26px}
.interactive-demo{border:0;box-shadow:0 30px 80px color-mix(in srgb,var(--text) 10%,transparent)}
.film-strip{background:transparent;border:0;padding-block:70px 40px}
.control-list article{gap:0}
.control-list article>span{display:none}
.proof-device{border:0}




/* The lower page: a film invitation, then useful controls instead of repeated promises. */
.film-feature{padding-block:70px 85px}.film-feature .film-strip-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}.film-copy .eyebrow{font-size:10px;margin-bottom:20px}.film-feature h2{font-size:clamp(36px,3.7vw,54px);line-height:1.08;letter-spacing:-.035em}.film-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;margin-top:22px}.film-text-link{background:none;border:0;border-bottom:1px solid var(--line);padding:0 0 9px;margin-top:28px;color:var(--text);font:inherit;font-size:13px}.film-text-link span{color:var(--muted);margin-left:25px;font-size:11px}.film-feature .film-thumbnail{width:100%;height:auto;aspect-ratio:16/10;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#18130f;position:relative}.film-feature .film-thumbnail>img{width:100%;height:100%;object-fit:cover;filter:brightness(.48) saturate(.75);transition:transform .8s cubic-bezier(.22,1,.36,1)}.film-feature .film-thumbnail:hover>img{transform:scale(1.035)}.film-poster-title{position:absolute;left:8%;top:11%;font-size:clamp(25px,3vw,44px);line-height:1.1;text-align:left;letter-spacing:-.025em;color:#fff8f1}.film-poster-title em{font-family:'Instrument Serif',Georgia,serif;font-size:1.15em;font-weight:400;color:#a9c1ff}.film-feature .play-round{left:auto;right:8%;top:auto;bottom:12%;transform:none;width:54px;height:54px}.film-feature .film-duration{left:8%;right:auto;bottom:14%;font-size:9px;letter-spacing:.12em;color:#f3e9dd}.film-thumbnail:focus-visible,.privacy-experience button:focus-visible,.privacy-experience summary:focus-visible{outline:3px solid var(--action);outline-offset:5px}
.privacy-experience{padding-block:90px 60px;display:grid;grid-template-columns:.8fr 1.2fr;gap:55px 90px;border-top:1px solid var(--line)}.privacy-intro{padding-top:13px}.privacy-intro .eyebrow{font-size:10px;margin-bottom:22px}.privacy-intro h2{font-size:clamp(38px,4vw,58px);line-height:1.08;letter-spacing:-.04em}.privacy-intro>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:350px;margin-top:24px}.privacy-choices{margin-top:35px;display:grid;gap:6px;max-width:340px}.privacy-choices button{background:none;border:0;border-left:2px solid transparent;padding:15px 18px;text-align:left;font:inherit;font-size:15px;color:var(--muted);transition:background .2s,color .2s,border-color .2s}.privacy-choices button span{font:10px monospace;margin-right:15px;opacity:.7}.privacy-choices button[aria-pressed=true]{color:var(--text);border-left-color:var(--action);background:var(--glow)}.privacy-intro .privacy-footnote{font-size:11px!important;color:var(--muted);line-height:1.7!important;max-width:290px!important}.privacy-console{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface);align-self:start}.privacy-console-head{display:flex;justify-content:space-between;align-items:center;padding:17px 23px;border-bottom:1px solid var(--line)}.privacy-console-head .brand{font-size:20px;gap:8px}.privacy-console-head .mark{width:23px;height:23px;border-radius:7px}.privacy-console-head .mark i{width:10px;height:3px}.preview-tag{font:8px monospace;letter-spacing:.1em;color:var(--muted)}.privacy-screen{background:var(--alt);padding:20px 23px}.capture-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:var(--muted)}#capture-state{display:flex;gap:7px;align-items:center}#capture-state i{width:6px;height:6px;border-radius:50%;background:#4b9f82}.privacy-screen.is-paused #capture-state i{background:var(--muted)}#capture-toggle{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:7px;font-size:10px;padding:7px 10px}.privacy-visual{display:grid;place-items:center;min-height:190px;position:relative}.capture-example{width:100%;display:flex;align-items:flex-start;gap:12px;padding:21px 17px 33px;border:1px solid var(--border);border-radius:11px;background:var(--surface);position:relative;transition:opacity .3s,transform .3s}.capture-example .micro{font-size:8px}.preview-app-icon{display:grid;place-items:center;width:27px;height:30px;background:var(--glow);color:var(--accent);border-radius:6px;font-size:14px}.capture-example h3{font-size:17px;font-weight:500;margin-top:7px}.capture-example p{font-size:12px;margin-top:8px;line-height:1.6}.local-stamp{position:absolute;right:13px;bottom:12px;color:var(--muted);font:8px monospace;letter-spacing:.06em}.privacy-screen.is-paused .capture-example{opacity:.45;transform:scale(.985)}.voice-example,.sharing-example{text-align:center;padding:22px 0 16px;width:100%}.voice-example>p,.sharing-example>p{font-size:15px;color:var(--text);margin-top:16px}.voice-example>span:last-child,.sharing-example>span:not(.packet-icon){display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:10px}.voice-bars{display:flex;justify-content:center;align-items:center;gap:5px;height:33px}.voice-bars i{width:3px;background:var(--accent);height:15px;border-radius:2px}.voice-bars i:nth-child(2n){height:25px}.voice-bars i:nth-child(3n){height:33px}.packet-icon{display:inline-grid;place-items:center;color:var(--accent)}.packet-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.2}#packet-toggle{display:block;margin:14px auto 0;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:10px;padding:8px 11px}#context-packet{text-align:left;margin:16px 0 0;padding:13px;border-left:2px solid var(--accent);background:var(--surface);font-size:11px;line-height:1.8;color:var(--text)}#context-packet small{color:var(--muted)}.app-permissions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.permission-label{flex-basis:100%;font-size:9px;color:var(--muted);margin-bottom:3px}.app-permissions label{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:7px;padding:7px 9px;font-size:10px;background:var(--surface);cursor:pointer}.app-permissions input{accent-color:var(--action);width:12px;height:12px;margin:0}.app-permissions label>span{font-size:9px;color:var(--muted)}#app-selection-note{flex-basis:100%;font-size:9px;color:var(--muted);margin-top:4px}.privacy-explanation{padding:25px 23px 0}.privacy-explanation h3{font-size:18px;font-weight:500;color:var(--text)}.privacy-explanation>p{font-size:12px;line-height:1.8;margin-top:12px}.privacy-explanation dl{margin:22px 0 0}.privacy-explanation dl>div{display:grid;grid-template-columns:94px 1fr;gap:15px;border-top:1px solid var(--line);padding:12px 0}.privacy-explanation dt{font-size:10px;color:var(--muted);padding-top:1px}.privacy-explanation dd{font-size:11px;color:var(--text);line-height:1.7;margin:0}.capture-details{border-top:1px solid var(--line);margin-top:7px}.capture-details summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:11px;padding:17px 0;color:var(--text);cursor:pointer}.capture-details summary::-webkit-details-marker{display:none}.capture-details>div{font-size:11px;line-height:1.9;color:var(--muted);padding-bottom:20px}.privacy-live{font-size:10px;line-height:1.7;color:var(--muted);padding:0 23px;margin:0;min-height:18px}.privacy-live:not(:empty){padding-bottom:18px}.beta-questions{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1fr 1fr;gap:30px;padding:30px 0;border-top:1px solid var(--line);align-items:start}.beta-questions>.micro{font-size:9px;color:var(--muted);padding-top:3px}.beta-questions details{border:0}.beta-questions summary{display:flex;justify-content:space-between;gap:18px;list-style:none;font-size:13px;color:var(--text);cursor:pointer}.beta-questions summary::-webkit-details-marker{display:none}.beta-questions p{font-size:12px;line-height:1.8;margin-top:15px}.beta-questions summary span{color:var(--muted)}.footer{justify-content:flex-start}
[hidden]{display:none!important}
@media(max-width:1000px){.privacy-experience{gap:40px;grid-template-columns:.85fr 1.15fr}.film-feature .film-strip-inner{gap:40px}.story-sticky{gap:28px;width:calc(100% - 48px)}.frag b{font-size:11px}.frag span{font-size:9px}.frag{padding:12px 9px;gap:7px}.core-a b{font-size:12px}.core-a span{font-size:9px}.core-a{padding:14px 7px}}
@media(max-width:760px){.film-feature{padding-block:35px 55px}.film-feature .film-strip-inner{display:flex;flex-direction:column;align-items:stretch;gap:27px}.film-copy .eyebrow{margin-bottom:15px}.film-feature h2{font-size:38px}.film-copy>p:not(.eyebrow){font-size:14px;margin-top:16px}.film-text-link{margin-top:20px}.film-poster-title{font-size:31px}.film-feature .play-round{width:45px;height:45px}.privacy-experience{display:block;padding-block:50px 25px}.privacy-intro h2{font-size:40px}.privacy-intro>p:not(.eyebrow){font-size:14px;max-width:100%}.privacy-choices{display:flex;gap:0;max-width:none;margin-top:24px;border-bottom:1px solid var(--line)}.privacy-choices button{flex:1;padding:13px 7px;font-size:11px;text-align:center;border-left:0;border-bottom:2px solid transparent}.privacy-choices button span{display:block;margin:0 0 5px;font-size:8px}.privacy-choices button[aria-pressed=true]{border-bottom-color:var(--action)}.privacy-intro .privacy-footnote{max-width:100%!important;margin-top:16px}.privacy-console{margin-top:25px;border-radius:13px}.privacy-console-head{padding:15px 17px}.privacy-screen{padding:17px}.privacy-explanation{padding:22px 17px 0}.privacy-explanation dl>div{grid-template-columns:77px 1fr;gap:12px}.privacy-live{padding-inline:17px}.beta-questions{display:block;margin-top:35px;padding-block:23px}.beta-questions>.micro{display:block;margin-bottom:20px}.beta-questions details+details{margin-top:22px}.beta-questions summary{font-size:13px}.film-feature .film-duration{font-size:8px}.step h3 em{white-space:normal}}
@media(prefers-reduced-motion:reduce){.film-feature .film-thumbnail>img,.capture-example,.step,.frag,.core>div,.threads{transition:none!important}.film-feature .film-thumbnail:hover>img{transform:none}}

/* Keep the project label compact while the larger memory cards crossfade in the same grid cell. */
.core>div{align-self:center}

/* The three story states share an anchor, not a stretched grid row. */
.core{display:block}
.core>div{position:absolute;left:0;top:0;transform:translateY(calc(-50% + 12px)) scale(.97)}
.story-stage[data-step="1"] .core-a,.story-stage[data-step="2"] .core-b,.story-stage[data-step="3"] .core-c{transform:translateY(-50%)}
.core-a{height:auto;min-height:0;display:grid;grid-template-columns:7px minmax(0,1fr);justify-content:start;align-items:center;gap:4px 9px;padding:15px 14px;border-radius:13px}
.core-a i{grid-column:1;grid-row:1}.core-a b{grid-column:2;grid-row:1;font-size:14px;line-height:1.4;white-space:nowrap}.core-a span{grid-column:2;grid-row:2;flex-basis:auto;font-size:10px;line-height:1.5;text-align:left}
.story-skip{display:inline-block;margin-top:22px;font-size:12px;line-height:1.5;color:var(--muted);text-underline-offset:5px;text-decoration:underline;text-decoration-color:var(--border);transition:color .2s,text-decoration-color .2s}
.story-skip:hover{color:var(--text);text-decoration-color:currentColor}.story-skip:focus-visible{outline:2px solid var(--action);outline-offset:6px;border-radius:2px}

/* Translucent navigation: preserve the photograph, soften detail behind the text. */
:root{--nav-bg:rgb(21 22 25 / .56);--nav-ink:#f7f6f2;--nav-muted:#c2c6cf;--nav-line:rgb(255 255 255 / .1);--nav-control:rgb(255 255 255 / .08)}
:root[data-theme=light]{--nav-bg:rgb(247 246 242 / .66);--nav-ink:#191c23;--nav-muted:#4e5562;--nav-line:rgb(25 28 35 / .1);--nav-control:rgb(255 255 255 / .45)}
:root[data-theme] .header{position:fixed;height:76px;background:var(--nav-bg);-webkit-backdrop-filter:blur(20px) saturate(1.12);backdrop-filter:blur(20px) saturate(1.12);border-bottom:1px solid var(--nav-line);transition:background-color .25s ease,border-color .25s ease;--text:var(--nav-ink);--muted:var(--nav-muted);--border:var(--nav-line);--line:var(--nav-line);z-index:30}
:root[data-theme] .header .brand,:root[data-theme] .header nav a,:root[data-theme] .header .text-button,:root[data-theme] .header .theme-toggle{color:var(--nav-ink)}
:root[data-theme] .header nav a,:root[data-theme] .header .text-button{font-size:13px;font-weight:500;opacity:1}
:root[data-theme] .header nav a:hover,:root[data-theme] .header .text-button:hover{color:var(--action)}
:root[data-theme] .header .theme-toggle{position:relative;display:grid;place-items:center;background:var(--nav-control);border:1px solid var(--nav-line);width:42px;height:42px;flex-shrink:0;box-shadow:0 1px 2px #00000006;transition:background-color .24s,border-color .24s,transform .2s}
.theme-toggle:hover{border-color:var(--action)!important}.theme-toggle:active{transform:scale(.94)}.theme-toggle:focus-visible{outline:2px solid var(--action);outline-offset:4px}
.theme-icons{position:relative;display:block;width:18px;height:18px}.theme-toggle .theme-icons svg{position:absolute;inset:0;width:18px;height:18px;transition:opacity .24s ease,transform .32s cubic-bezier(.22,1,.36,1)}
.theme-toggle .theme-sun{opacity:0;transform:rotate(-45deg) scale(.65)}.theme-toggle .theme-moon{opacity:1;transform:none}.theme-toggle.is-dark .theme-sun{opacity:1;transform:none}.theme-toggle.is-dark .theme-moon{opacity:0;transform:rotate(35deg) scale(.65)}
.theme-changing body,.theme-changing .header{transition:background-color .28s ease,color .28s ease}
@media(max-width:1000px){.core-a{padding:13px 10px;gap:4px 7px}.core-a b{font-size:12px}.core-a span{font-size:9px}}
@media(max-width:760px){:root[data-theme] .header{height:70px}.nav-right{gap:10px}.story-skip{display:none}}
@media(prefers-reduced-motion:reduce){.story-skip{display:none}.theme-toggle,.theme-toggle .theme-icons svg,.theme-changing body,.theme-changing .header{transition:none!important}}

/* The warm photo stays visible through the header in both page themes. */
:root[data-theme] .header.over-hero{--nav-bg:rgb(20 16 15 / .44);--nav-ink:#fff9f2;--nav-muted:#eee4d9;--nav-line:rgb(255 255 255 / .14);--nav-control:rgb(255 255 255 / .12)}
.header.over-hero .brand,.header.over-hero nav a,.header.over-hero .text-button{text-shadow:0 1px 3px #00000050}
@media(prefers-reduced-motion:reduce){:root[data-theme] .header{transition:none}}

/* Commercial-use-cleared photography; sources in IMAGE-LICENSES.md. */
.hero-photo{background-position:58% 48%}
.photo-band-img{background-position:center 44%}
.closing-photo{background-position:center 50%}
/* Hero: soft reddish-blue gradient over the photo (grain layer stays on top). */
.hero-photo::after{background:linear-gradient(125deg,#d9505f 0%,#8a45b0 50%,#3a64d6 100%);mix-blend-mode:color;opacity:.26}
:root[data-theme=light] .hero-photo::after,:root[data-theme=dark] .hero-photo::after{opacity:.26}
:root[data-theme=light] .hero-photo,:root[data-theme=dark] .hero-photo{filter:saturate(1.02) contrast(1.04) brightness(.88)}
/* Middle photo: the picture is blurred on its own layer so the grain on top stays sharp; slight brown tint. */
.photo-band-img{background:none;filter:none;inset:0 0 0 20%}
.photo-band-img::before{content:'';position:absolute;inset:-4%;background:url(assets/photography/team.jpg) center 62%/cover no-repeat;filter:sepia(.4) saturate(1.1) hue-rotate(-8deg) contrast(1.04) brightness(.82) blur(4px)}
.photo-band-img::after{background:linear-gradient(#6b422630,#6b422630),linear-gradient(90deg,#1a110e66 0,transparent 40%),linear-gradient(0deg,#1a110e88,transparent 40%)}
.photo-band-img .grain{opacity:.6}
/* Less purple in the hero; darker left side of the middle photo so the headline stays readable. */
.hero-photo::after{background:linear-gradient(125deg,#c9535c 0%,#6a5aa8 50%,#3a64d6 100%);opacity:.13}
:root[data-theme=light] .hero-photo::after,:root[data-theme=dark] .hero-photo::after{opacity:.13}
.photo-band-img{inset:0 0 0 12%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.photo-band-img::before{filter:sepia(.4) saturate(1.05) hue-rotate(-8deg) contrast(1.04) brightness(.62) blur(4px)}
.photo-band-img::after{background:linear-gradient(#6b422630,#6b422630),linear-gradient(90deg,#1a110ef2 0,#1a110ecc 45%,#1a110e33 75%),linear-gradient(0deg,#1a110e88,transparent 40%)}
.photo-band-copy h2,.photo-band-copy p{text-shadow:0 1px 18px #1a110eb3}
.photo-band-copy h2 em{color:#a9c1ff}
