@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@200;300;400;500;600;700;800;900&display=swap');
:root{--paper:#f8f8f5;--ink:#20211e;--muted:#676962;--line:#dcded7;--blue:#244bea;--acid:#c0ee43;--duration-fast:250ms;--duration-quick:150ms;--ease-smooth-out:cubic-bezier(.22,1,.36,1);--modal-scale:.96;--tilt-return:650ms;--tilt-follow:180ms}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ef7b39;outline-offset:6px}button{color:inherit}::selection{background:var(--acid);color:var(--ink)}.skip{position:fixed;top:-100px;left:24px;background:var(--acid);padding:12px;z-index:100}.skip:focus{top:12px}.header{position:absolute;top:24px;left:5%;right:5%;z-index:10;display:flex;align-items:center;gap:52px;background:#ffffffc9;backdrop-filter:blur(20px);padding:15px 20px 15px 25px;border-radius:18px}.wordmark{font-size:27px;font-weight:800;letter-spacing:-1.7px;white-space:nowrap}.wordmark span{font-weight:400}.wordmark sup{font-size:10px;vertical-align:top;position:relative;top:7px;left:3px;letter-spacing:0}.header nav{display:flex;gap:32px;font-size:15px}.header nav a{transition:color var(--duration-fast)}.header nav a:hover{color:var(--blue)}.contact-link{margin-left:auto;background:var(--ink);color:white;padding:10px 19px;border-radius:9px;font-size:14px}.contact-link span{padding-left:22px}.hero{position:relative;background:linear-gradient(#e8e9e7 45%,#f8f8f5);min-height:810px;padding:115px 5% 0;text-align:center;overflow:hidden}.hero-meta{display:flex;justify-content:space-between;color:#5d605b;font-size:11px;letter-spacing:.095em}.hero-object{display:block;position:relative;border:0;padding:0;margin:-6px auto -8px;width:350px;max-width:80%;background:none;isolation:isolate}.hero-object img{width:100%;height:auto;display:block;mix-blend-mode:multiply;transition:transform 650ms var(--ease-smooth-out);mask-image:radial-gradient(ellipse at center,#000 49%,transparent 73%)}.hero-object:hover img{transform:rotate(-7deg) scale(1.04)}.hero-object.spin img{transform:rotate(16deg) scale(.95)}.object-hint{position:absolute;left:calc(100% - 6px);bottom:42px;font-size:11px;line-height:1.4;text-align:left;white-space:nowrap;letter-spacing:.01em;color:var(--muted);transform:rotate(-8deg);pointer-events:none}.object-hint span{display:inline-block;font-size:22px;margin-left:8px}h1{font-weight:500;font-size:clamp(58px,6.65vw,110px);line-height:1.03;letter-spacing:-.064em;margin:0 auto 23px}.accent-line{font-family:'DM Sans',Arial,sans-serif;font-weight:400;font-style:normal;letter-spacing:-.035em}.hero h1 .accent-line{font-size:1.15em;line-height:1.05}.hero>p{font-size:18px;line-height:1.5;margin:25px 0 26px;letter-spacing:-.025em}.button{display:inline-flex;gap:40px;align-items:center;justify-content:space-between;border-radius:10px;padding:14px 23px;font-size:15px;transition:transform var(--duration-fast) var(--ease-smooth-out),background var(--duration-fast)}.button:hover{transform:translateY(-3px)}.button span{font-size:20px}.dark{background:var(--ink);color:white}.light{background:var(--paper);color:var(--ink)}.hero-bottom{margin-top:55px;border-top:1px solid #d0d2cb;display:flex;justify-content:space-between;padding:21px 0;font-size:13px;color:var(--muted);text-align:left}.hero-bottom a{color:var(--ink)}.hero-bottom>span a{font-weight:700;margin-left:4px}.section{padding:110px 5%;max-width:1700px;margin:auto}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:500;margin:0 0 28px;color:var(--muted)}h2{font-size:clamp(38px,4.4vw,72px);font-weight:400;letter-spacing:-.05em;line-height:1.08;margin:0}.intro{padding-top:95px;padding-bottom:100px}.intro h2{font-size:clamp(43px,5.5vw,88px)}.intro h2>span{color:#777b71}.intro-bottom{margin-top:48px;display:flex;justify-content:space-between;gap:50px;align-items:end}.intro-bottom p{font-size:19px;line-height:1.55;max-width:540px;margin:0;color:var(--muted);letter-spacing:-.025em}.discipline{display:flex;flex-wrap:wrap;gap:9px;max-width:360px;justify-content:flex-end}.discipline span,.about-tags span{padding:8px 13px;border:1px solid var(--line);border-radius:30px;font-size:12px;white-space:nowrap}.work{padding-top:75px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:46px}.section-heading .eyebrow{margin-bottom:20px}.section-heading h2{font-size:clamp(36px,3.7vw,58px)}.section-note{font-size:14px;color:var(--muted);margin:0;max-width:280px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 24px}.project-art{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:100%;height:465px;border:0;border-radius:16px;padding:25px;overflow:hidden;text-align:left;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform var(--tilt-return) var(--ease-smooth-out),box-shadow var(--duration-fast);will-change:transform}.project-art.tracking{transition-duration:var(--tilt-follow)}.project-art:hover{box-shadow:0 20px 35px -28px #151b44aa}.art-top,.art-bottom{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2;gap:10px}.art-top>span:first-child{font-size:18px;font-weight:600;letter-spacing:-.05em}.art-top>span:last-child{font-size:10px;letter-spacing:.09em}.art-bottom>span:first-child{font-size:11px;opacity:.8}.round-arrow{display:grid;place-items:center;font-size:23px;border:1px solid currentColor;border-radius:50%;width:35px;height:35px;transition:transform var(--duration-fast)}.project-art:hover .round-arrow{transform:rotate(45deg)}.ai-art{background:#244bea;color:white}.ai-preview{padding:15px 9% 0}.ai-symbol{display:block;color:#bded54;font-size:45px;line-height:1;margin-bottom:13px}.ai-preview h3,.hiring-preview h3,.system-preview h3{font-weight:400;font-size:40px;line-height:1.04;letter-spacing:-.05em;margin:0 0 20px}.prompt-preview{display:flex;justify-content:space-between;align-items:center;border:1px solid #ffffff50;background:#ffffff12;border-radius:10px;padding:11px 12px;font-size:13px}.prompt-arrow{display:grid;place-items:center;border-radius:6px;background:var(--acid);color:var(--ink);width:28px;height:28px}.suggestion-row{display:flex;gap:8px;margin-top:10px}.suggestion-row span{font-size:10px;border-radius:15px;padding:5px 8px;background:#ffffff15}.hiring-art{background:#e8e3d9}.hiring-preview{padding:10px 9% 0}.micro-label{display:block;font-size:9px;letter-spacing:.07em;margin-bottom:14px}.hiring-preview h3{font-size:42px}.flow-row{display:flex;gap:7px;align-items:center;margin:22px 0}.flow-row>span{display:flex;align-items:center;gap:9px;background:#f7f6f1;padding:12px 11px;border-radius:8px;font-size:12px}.flow-row b{font-size:10px;color:#777}.flow-row i{font-style:normal}.engagement{display:flex;gap:10px;align-items:center;font-size:12px}.engagement .check{width:26px;height:26px;border:1px solid #454c35;border-radius:50%;display:grid;place-items:center}.engagement strong{font-weight:500}.engagement small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.systems-art{background:#c0ee43}.system-preview{padding:15px 9% 0}.system-map{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:13px;align-items:center;margin:26px 0 0;position:relative}.system-map>span{border:1px solid #758f34;border-radius:9px;text-align:center;font-size:13px;padding:11px;background:#ffffff22}.system-map strong{grid-column:2;grid-row:1/3;background:var(--ink);color:var(--acid);height:108px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:25px;letter-spacing:-1px;font-weight:400}.system-map strong span{font-size:29px}.system-map>span:nth-child(2){grid-column:1;grid-row:2}.hq-art{background:#dddcd2}.hq-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82);transition:transform 650ms var(--ease-smooth-out)}.hq-art:hover>img{transform:scale(1.07)}.hq-art:after{content:'';position:absolute;inset:0;background:linear-gradient(#e5e5dc 0%,#e5e5dcaa 18%,transparent 50%,#e5e5dccc 100%)}.art-top>.hq-logo{font-size:36px;font-weight:800;letter-spacing:-3px}.hq-title{position:absolute;top:91px;left:25px;font-size:36px;letter-spacing:-.06em;line-height:1.05;z-index:2}.project-caption{padding:19px 3px 0}.project-caption h3{font-size:23px;letter-spacing:-.04em;font-weight:500;margin:0 0 4px}.project-caption p{color:var(--muted);font-size:14px;margin:0 0 14px}.project-caption>span{font-size:10px;letter-spacing:.07em;color:var(--muted)}.play-section{border-top:1px solid var(--line);padding-top:80px}.playground{display:grid;grid-template-columns:1fr 280px;min-height:430px;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.play-canvas{background:var(--blue);color:white;position:relative;display:grid;place-items:center;padding:70px 25px;overflow:hidden;transition:background var(--duration-fast),color var(--duration-fast)}.canvas-label{position:absolute;top:25px;left:26px;font-size:10px;letter-spacing:.1em}.canvas-footer{position:absolute;bottom:26px;left:26px;font-size:12px;opacity:.8}#play-word{font-weight:700;font-size:clamp(90px,13vw,200px);letter-spacing:-.05em;line-height:1.1;max-width:100%;transition:font-weight var(--duration-fast),letter-spacing var(--duration-fast);user-select:none}.word-remix{animation:word-enter 300ms var(--ease-smooth-out)}@keyframes word-enter{from{opacity:0;transform:translateY(12px) scale(.95);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}.shuffle{position:absolute;right:22px;bottom:20px;border:1px solid currentColor;background:transparent;color:inherit;border-radius:25px;padding:6px 12px;display:flex;align-items:center;gap:8px;font-size:23px}.shuffle span{font-size:12px}.play-controls{background:#efefea;padding:28px 25px;display:flex;flex-direction:column;gap:30px}.control-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.control-title strong{font-size:20px;font-weight:500;letter-spacing:-.04em}.control-title span{font-size:26px}.control label,.control-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:12px}.control output{color:var(--muted);font-variant-numeric:tabular-nums}.control input{width:100%;accent-color:var(--ink);cursor:pointer}.palette{display:flex;gap:12px}.palette button{width:34px;height:34px;border:3px solid #efefea;outline:1px solid transparent;background:var(--swatch);border-radius:50%;transition:transform var(--duration-fast),outline-color var(--duration-fast)}.palette button[aria-pressed=true]{outline-color:#30322c}.palette button:hover{transform:scale(1.12)}.reset-lab{margin-top:auto;border:0;border-top:1px solid #d4d5cc;background:none;text-align:left;font-size:12px;padding:17px 0 0;display:flex;justify-content:space-between}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line);padding-top:100px;padding-bottom:130px}.about h2{font-size:clamp(45px,5.4vw,85px)}.about-copy{padding-top:39px}.about-copy p{color:var(--muted);font-size:16px;line-height:1.75;max-width:530px;margin:0 0 23px}.about-copy .about-lead{font-size:25px;line-height:1.45;color:var(--ink);letter-spacing:-.04em}.about-tags{display:flex;gap:8px;flex-wrap:wrap;margin:27px 0}.text-link{font-size:14px;display:inline-flex;gap:20px;border-bottom:1px solid var(--ink);padding-bottom:5px}.contact{background:var(--ink);color:var(--paper);max-width:none;text-align:center;padding-top:92px;padding-bottom:0}.contact .eyebrow{color:#bbbeb4}.contact h2{font-size:clamp(55px,7.8vw,120px);margin:0 0 35px}.contact footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #484a43;padding:28px 0;margin-top:95px;text-align:left}.contact footer>span,.contact footer>a:last-child{font-size:12px;color:#c0c2b9}dialog{background:var(--paper);color:var(--ink);border:0;border-radius:20px;max-width:850px;width:calc(100% - 40px);max-height:88dvh;padding:30px 40px 44px;overscroll-behavior:contain}dialog::backdrop{background:#161b20a8;backdrop-filter:blur(8px)}.t-modal{opacity:0;transform:scale(var(--modal-scale));transition:opacity var(--duration-fast) var(--ease-smooth-out),transform var(--duration-fast) var(--ease-smooth-out)}.t-modal.is-open{opacity:1;transform:scale(1)}.t-modal.is-closing{opacity:0;transform:scale(.96);transition-duration:var(--duration-quick)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.dialog-top .eyebrow{margin:0}.dialog-top button{border:1px solid var(--line);background:none;border-radius:50%;font-size:25px;width:38px;height:38px;line-height:1}.dialog-title{font-size:clamp(38px,5vw,62px);margin-bottom:20px}.dialog-deck{font-size:22px;line-height:1.4;letter-spacing:-.03em}.dialog-meta{display:flex;gap:30px;padding:20px 0;margin:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.dialog-meta span{display:block;font-size:10px;letter-spacing:.09em;color:var(--muted);margin-bottom:5px}.case-section h3{font-size:20px;font-weight:500;letter-spacing:-.025em;margin-bottom:10px}.case-section p,.case-section li{color:var(--muted);font-size:16px;line-height:1.7}.case-section ul{padding-left:20px}.case-note{font-size:12px!important;background:#e9ebe3;padding:14px 16px;border-radius:8px}.dialog-image{width:100%;height:auto;border-radius:12px;margin:10px 0}.mini-agent{border:1px solid var(--line);border-radius:14px;padding:22px;margin-top:25px}.mini-agent h3{margin:0 0 5px;font-size:20px}.mini-agent>p{font-size:13px;color:var(--muted);margin:0 0 16px}.agent-tabs{display:flex;position:relative;border-radius:9px;padding:4px;background:#e6e8df;width:max-content;max-width:100%}.agent-tabs .tab-pill{position:absolute;top:4px;left:0;height:36px;border-radius:6px;background:var(--ink);transition:transform var(--duration-fast) var(--ease-smooth-out),width var(--duration-fast) var(--ease-smooth-out)}.agent-tabs button{border:0;background:none;position:relative;padding:7px 16px;z-index:1;font-size:13px;transition:color var(--duration-fast);height:36px;white-space:nowrap}.agent-tabs button[aria-selected=true]{color:white}.agent-state{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:20px}.agent-state small{font-size:11px;color:var(--muted)}.agent-state p{margin:5px 0;font-size:14px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,15px);background:var(--ink);color:white;padding:12px 22px;border-radius:40px;z-index:15;font-size:14px;opacity:0;pointer-events:none;transition:transform 350ms var(--ease-smooth-out),opacity 350ms}.toast.show{transform:translate(-50%,0);opacity:1}body.modal-open{overflow:hidden}
@media(min-width:1550px){.hero{min-height:970px}.hero-object{width:465px}.hero-bottom{margin-top:65px}.project-art{height:540px}.ai-preview h3,.hiring-preview h3,.system-preview h3{font-size:51px}}
@media(max-width:950px){.header{gap:28px}.header nav{gap:22px}.hero{min-height:820px}.hero-meta{font-size:9px}.hero-object{width:380px;margin-top:20px}.object-hint{left:85%;white-space:normal;width:150px}.hero h1{font-size:74px}.project-art{height:410px;padding:22px}.ai-preview,.hiring-preview,.system-preview{padding:10px 0}.ai-preview h3,.hiring-preview h3,.system-preview h3{font-size:34px}.art-top>span:last-child{font-size:8px}.flow-row{gap:4px}.flow-row>span{gap:4px;padding:10px 7px;font-size:11px}.section{padding-top:75px;padding-bottom:75px}.playground{grid-template-columns:1fr 240px}.play-controls{padding:23px 20px}.intro-bottom{align-items:start}.discipline{max-width:230px}.about{gap:6%}.about-copy{padding-top:0}.about-copy .about-lead{font-size:22px}.contact{padding-bottom:0}}
@media(max-width:650px){.header{top:15px;left:5%;right:5%;padding:13px 16px;gap:0;border-radius:13px}.wordmark{font-size:24px}.header nav{margin-left:auto;gap:20px;font-size:13px}.contact-link{display:none}.hero{padding-top:108px;min-height:780px}.hero-meta{justify-content:center;font-size:9px}.hero-meta>span:last-child{display:none}.hero-object{width:320px;max-width:100%;margin:30px auto 10px}.object-hint{left:72%;bottom:10px;width:100px;font-size:9px;transform:rotate(-9deg)}.object-hint span{display:none}.hero h1{font-size:clamp(41px,10.7vw,68px);letter-spacing:-.06em;line-height:1.1}.hero h1 .accent-line{font-size:1.22em}.hero>p{font-size:16px;max-width:335px;margin:23px auto}.desktop-break{display:none}.button{font-size:14px;padding:12px 20px}.hero-bottom{margin-top:44px;gap:20px;align-items:start;font-size:11px;padding:21px 0}.hero-bottom>span{max-width:150px}.hero-bottom>a{max-width:125px;text-align:right}.section{padding-left:6%;padding-right:6%;padding-top:65px;padding-bottom:65px}.eyebrow{font-size:10px;letter-spacing:.09em}.intro h2{font-size:43px}.intro-bottom{flex-direction:column;gap:26px;margin-top:30px}.intro-bottom p{font-size:17px}.discipline{max-width:none;justify-content:flex-start}.discipline span{font-size:11px;padding:7px 11px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:38px}.section-note{margin-top:17px;font-size:13px}.project-grid{grid-template-columns:1fr;gap:38px}.project-art{height:400px;padding:23px}.ai-preview,.hiring-preview,.system-preview{padding:5px 6%}.art-top>span:last-child{font-size:9px}.ai-preview h3,.hiring-preview h3,.system-preview h3{font-size:36px}.flow-row>span{font-size:11px;padding:12px 9px}.project-caption h3{font-size:22px}.project-caption p{font-size:13px}.playground{grid-template-columns:1fr}.play-canvas{min-height:325px;padding:70px 15px}.play-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:25px}.control-title{grid-column:1/-1;margin:0}.control:nth-of-type(4){grid-column:1/-1}.reset-lab{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px;align-self:center;font-size:13px;gap:10px}.play-controls .control label{font-size:14px;gap:5px}.palette button{width:44px;height:44px}.control-label{font-size:14px}#play-word{font-size:clamp(78px,22vw,150px)}.canvas-footer{font-size:10px;max-width:140px}.canvas-label{font-size:9px}.shuffle{font-size:20px;right:18px}.about{grid-template-columns:1fr;gap:32px}.about h2{font-size:57px}.about-copy .about-lead{font-size:23px}.about-copy p{font-size:16px}.about-tags{gap:6px}.about-tags span{font-size:10px;padding:8px 11px}.contact{padding-top:65px;padding-bottom:0}.contact h2{font-size:58px}.contact footer{margin-top:64px;flex-wrap:wrap;gap:25px}.contact footer>span{order:3;width:100%;font-size:11px}.contact footer>a:last-child{font-size:11px}dialog{padding:24px;width:calc(100% - 24px);max-height:92dvh;border-radius:15px}.dialog-title{font-size:39px}.dialog-deck{font-size:19px}.dialog-meta{gap:22px;font-size:12px}.agent-state{grid-template-columns:1fr}.agent-tabs button{padding:7px 11px;font-size:12px}.mini-agent{padding:17px}.toast{font-size:12px;width:max-content;max-width:90%;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.project-art,.hero-object img{transform:none!important}}
/* Motion pass: the document remains visible if JavaScript cannot initialize. */
:root{--reveal-duration:700ms;--reveal-distance:24px;--reveal-ease:cubic-bezier(.22,1,.36,1)}
.intro-loader{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#e8e9e7;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 380ms var(--ease-smooth-out),visibility 380ms}
.intro-pending{overflow:hidden}.intro-pending .intro-loader{opacity:1;visibility:visible;pointer-events:auto;cursor:pointer}
.motion-ready [data-reveal]{opacity:0;translate:0 var(--reveal-distance);transition:opacity var(--reveal-duration) var(--reveal-ease),translate var(--reveal-duration) var(--reveal-ease);transition-delay:var(--reveal-delay,0ms)}
.motion-ready [data-reveal="drop"]{translate:0 -14px}.motion-ready [data-reveal="slide"]{translate:24px 0}
.motion-ready [data-reveal].is-shown{opacity:1;translate:0 0}
.hero-object{aspect-ratio:3/2;touch-action:pan-y}
.hero-object .keyring-poster{transition:opacity 450ms var(--ease-smooth-out),transform 650ms var(--ease-smooth-out)}
.hero-object:hover .keyring-poster{transform:none}
.keyring-stage{position:absolute;inset:-16% -12% -6%;display:block;opacity:0;transition:opacity 450ms var(--ease-smooth-out);pointer-events:none}
.keyring-stage:after{content:'';position:absolute;bottom:3%;left:26%;width:48%;height:8%;border-radius:50%;background:#1e231824;filter:blur(10px);z-index:-1}
.keyring-stage canvas{display:block;width:100%;height:100%}.hero-object.has-model .keyring-stage{opacity:1}.hero-object.has-model .keyring-poster{opacity:0}
.hero-object .object-hint{transition:opacity var(--duration-fast);bottom:30px}.hero-object:hover .object-hint{opacity:.55}
@media(max-width:650px){.motion-ready [data-reveal="slide"]{translate:0 20px}.motion-ready [data-reveal].is-shown{translate:0 0}.project{--reveal-delay:0ms!important}.hero-object .object-hint{bottom:6px}}
@media(prefers-reduced-motion:reduce){.intro-loader{display:none!important}.intro-pending{overflow:auto}.motion-ready [data-reveal]{opacity:1;translate:none;transition:none}.keyring-stage{display:none}.hero-object.has-model .keyring-poster{opacity:1}}
/* Keyring assembly: native dialog, with an equivalent button path for dragging. */
body.puzzle-open{overflow:hidden}.puzzle-dialog{width:min(850px,calc(100% - 28px));padding:28px 32px 24px;max-height:94dvh;background:#f5f5f0}.puzzle-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.puzzle-heading .eyebrow{font-size:10px;margin-bottom:10px}.puzzle-heading h2{font-size:40px}.puzzle-close{display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:none;width:44px;height:44px;font-size:26px}.puzzle-dialog #puzzle-instructions{margin:13px 0 0;color:var(--muted);font-size:14px;max-width:600px}.puzzle-view{height:370px;position:relative;touch-action:none;border-radius:14px;background:radial-gradient(ellipse at 50% 28%,#edf0e7,#e1e5dc);margin:20px 0 0;overflow:hidden;cursor:grab}.puzzle-view.is-dragging{cursor:grabbing}.puzzle-view canvas{width:100%;height:100%;display:block}.puzzle-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:var(--muted)}.puzzle-loading[hidden]{display:none}.puzzle-rings button{position:absolute;transform:translate(-50%,-50%);z-index:2;width:36px;height:36px;border-radius:50%;border:1px solid #2629217a;background:#f8f8f0e8;color:#30372b;font-size:12px;box-shadow:0 2px 8px #27312110;transition:background var(--duration-fast),scale var(--duration-fast)}.puzzle-rings button:hover{background:var(--acid);scale:1.12}.puzzle-rings button.is-filled{background:var(--acid);border-color:#647840;color:#30372b;opacity:.8}.puzzle-rings button:disabled:not(.is-filled){visibility:hidden}.puzzle-view-note{position:absolute;bottom:12px;left:0;right:0;text-align:center;pointer-events:none;font-size:8px;letter-spacing:.1em;color:#616859}.puzzle-progress-row{display:flex;align-items:center;justify-content:space-between;margin:14px 0;font-size:12px}.puzzle-progress-row>span{font-variant-numeric:tabular-nums}.puzzle-progress-row button{border:0;background:none;font-size:12px;padding:10px 0 10px 12px;color:var(--muted)}.puzzle-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}.puzzle-controls[hidden],.puzzle-complete[hidden]{display:none}.piece-picker{display:flex;gap:8px}.piece-picker button{background:#e9ece2;border:1px solid transparent;border-radius:10px;width:80px;min-height:65px;padding:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:border-color var(--duration-fast),background var(--duration-fast)}.piece-picker button[aria-pressed=true]{border-color:var(--ink);background:white}.piece-picker button>span{font-size:25px;font-weight:700;line-height:1.1}.piece-picker button small{font-size:9px;margin-top:4px}.piece-picker .piece-b{color:var(--blue)}.piece-picker .piece-star{color:#6b8b14}.piece-picker button>.piece-code{font-size:19px}.piece-picker .is-connected{opacity:.5}.piece-picker .is-connected small:after{content:' ✓'}.puzzle-tools{display:flex;gap:7px}.puzzle-tools button{background:transparent;border:1px solid #c9cec0;border-radius:9px;min-height:44px;padding:10px 12px;font-size:13px;transition:background var(--duration-fast)}.puzzle-tools button:hover:not(:disabled){background:#e4e9d9}.puzzle-tools #puzzle-hint[aria-pressed=true]{background:var(--acid)}.puzzle-tools button:disabled{opacity:.4;cursor:default}.puzzle-status{font-size:13px;min-height:40px;margin:18px 0 5px;line-height:1.55;color:#343d2b}.puzzle-keyboard{border-top:1px solid var(--line);padding-top:12px;font-size:10px;line-height:1.6;color:var(--muted);margin:0}.puzzle-keyboard span{display:block}.puzzle-complete{text-align:center;padding:10px 0 0}.puzzle-complete h3{font-size:29px;font-weight:400;letter-spacing:-.04em;line-height:1.15;margin:10px 0 16px}.puzzle-complete .button{border:0;padding:11px 16px;font-size:13px;margin:0 3px;background:transparent}.puzzle-complete .dark{background:var(--ink)}.puzzle-check{display:inline-grid;place-items:center;background:var(--acid);color:var(--ink);border-radius:50%;height:34px;width:34px;animation:puzzle-check 500ms cubic-bezier(.34,1.35,.64,1)}@keyframes puzzle-check{from{opacity:0;transform:translateY(12px) rotate(-40deg) scale(.7)}to{opacity:1;transform:none}}.puzzle-dialog[data-progress="3"] .puzzle-view-note{opacity:0}
@media(max-width:650px){.puzzle-dialog{padding:22px 18px;width:calc(100% - 16px);max-height:96dvh}.puzzle-heading h2{font-size:33px}.puzzle-heading .eyebrow{font-size:8px}.puzzle-dialog #puzzle-instructions{font-size:13px}.puzzle-view{height:315px;margin-top:16px}.puzzle-rings button{width:36px;height:36px}.puzzle-controls{flex-direction:column;gap:14px;align-items:stretch}.piece-picker{justify-content:center}.piece-picker button{flex:1;width:auto;min-height:58px}.puzzle-tools{justify-content:center}.puzzle-tools button{flex:1;padding:10px 9px}.puzzle-status{font-size:12px;min-height:38px}.puzzle-keyboard{font-size:9px}.puzzle-keyboard span{display:none}.puzzle-complete h3{font-size:25px}.puzzle-complete .button{font-size:12px;padding:11px}}
@media(prefers-reduced-motion:reduce){.puzzle-check{animation:none}.puzzle-rings button{transition:none}}
.puzzle-dialog[data-progress="3"] .puzzle-rings,.puzzle-dialog[data-progress="3"] .puzzle-keyboard{display:none}
@media(max-height:800px) and (min-width:651px){.puzzle-dialog{padding:20px 28px}.puzzle-heading h2{font-size:34px}.puzzle-heading .eyebrow{margin-bottom:7px}.puzzle-dialog #puzzle-instructions{margin-top:8px}.puzzle-view{height:230px;margin-top:14px}.puzzle-progress-row{margin:6px 0}.puzzle-status{min-height:30px;margin-top:12px}.puzzle-keyboard{padding-top:8px}.puzzle-complete h3{font-size:25px;margin:6px 0 12px}.puzzle-check{width:28px;height:28px}}
@media(max-width:650px){.puzzle-view{height:245px}.puzzle-status{margin-top:12px}.puzzle-rings button{width:32px;height:32px}}

.puzzle-rings button{width:44px;height:44px}
/* Character spotlight and continuous loader handoff. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.accent-line{font:inherit!important;font-style:normal!important;letter-spacing:inherit!important}
.hero{background:var(--paper);padding-top:128px;min-height:860px;overflow:hidden}.hero-meta{position:relative;z-index:2}.character-scene{position:relative;width:min(100%,900px);margin:16px auto 6px;height:465px;isolation:isolate}.character-scene.is-entering{z-index:95;isolation:auto}.character-home{width:350px;height:465px;margin:auto;position:relative;z-index:2}.character-shell{width:100%;height:100%;position:relative;transform-origin:top left;mix-blend-mode:multiply}.character-shell img,.character-shell video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.character-shell video{opacity:0;transition:opacity 280ms var(--ease-smooth-out)}.character-shell.has-video video{opacity:1}.character-shell.has-video img{opacity:0}.character-shell img{transition:opacity 280ms var(--ease-smooth-out)}
.spotlight{position:absolute;left:50%;bottom:0;width:620px;height:460px;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 60%,#eee9f29e 0%,#f0eee8aa 40%,transparent 70%);border-radius:50%;pointer-events:none}.spotlight:after{content:'';position:absolute;left:26%;right:26%;bottom:5px;height:20px;background:#4640391b;filter:blur(12px);border-radius:50%}.character-caption{position:absolute;left:calc(50% + 205px);top:50%;font-size:10px;letter-spacing:.1em;line-height:1.6;text-align:left;color:#74766e}.character-pause{position:absolute;bottom:15px;right:0;z-index:3;background:transparent;border:0;font-size:11px;color:var(--muted);padding:12px}.character-pause span{margin-left:10px}.hero>p{margin:20px auto 25px;font-size:20px}.hero-bottom{margin-top:45px}
.intro-loader{background:var(--paper);transition:opacity 600ms var(--ease-smooth-out),visibility 600ms}.intro-character-slot{width:160px;height:213px;position:absolute;left:50%;top:50%;transform:translate(-50%,-60%)}.intro-label{position:absolute;left:50%;top:calc(50% + 118px);transform:translateX(-50%);font-size:13px;letter-spacing:-.01em;color:var(--muted)}.intro-count{position:absolute;bottom:44px;right:5%;font-size:clamp(60px,8vw,116px);line-height:1;letter-spacing:-.09em;font-weight:300;font-variant-numeric:tabular-nums}.intro-count small{font-size:16px;letter-spacing:0;margin-left:7px}#skip-intro{position:absolute;left:5%;bottom:44px;border:0;background:none;color:var(--muted);font-size:12px;padding:12px 0}.intro-pending .intro-loader{cursor:default}.intro-pending .character-caption,.intro-pending .character-pause,.intro-pending .spotlight{opacity:0}.character-caption,.character-pause,.spotlight{transition:opacity 650ms var(--ease-smooth-out)}
.keyring-play{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:35px 42px;margin-bottom:35px;position:relative;background:#f0f1eb}.keyring-play h3{font-size:36px;line-height:1.1;letter-spacing:-.045em;font-weight:500;margin:0 0 16px}.keyring-play p:not(.eyebrow){font-size:15px;color:var(--muted);margin:0}.keyring-play .hero-object{width:300px;margin:0;max-width:100%}.keyring-play .object-hint{display:none}.keyring-play-note{grid-column:2;font-size:9px;text-align:center;letter-spacing:.13em;color:var(--muted);margin-top:-10px}.keyring-play .hero-object:focus-visible{outline-offset:15px}
@media(min-width:1550px){.hero{min-height:930px}.character-scene{height:520px}.character-home{width:390px;height:520px}}
@media(max-width:650px){.hero{padding-top:115px;min-height:770px}.character-scene{height:390px;margin-top:10px}.character-home{width:292px;height:390px}.spotlight{width:420px;height:360px}.character-caption{display:none}.character-pause{right:0;bottom:0;font-size:10px;padding:10px 0}.hero>p{font-size:16px;max-width:335px;margin:20px auto 25px}.hero-bottom{margin-top:35px}.keyring-play{grid-template-columns:1fr;padding:26px;gap:5px;text-align:center}.keyring-play h3{font-size:30px}.keyring-play .hero-object{width:270px;margin:20px auto 0}.keyring-play-note{grid-column:1;margin:0}.intro-count{bottom:35px}.intro-character-slot{width:142px;height:189px}.intro-label{top:calc(50% + 112px)}}
@media(prefers-reduced-motion:reduce){.character-shell video{display:none}.character-shell.has-video img{opacity:1}.character-shell img,.character-shell video,.spotlight,.character-caption,.character-pause{transition:none}.character-pause{display:none}.character-scene.is-entering{z-index:auto}}
.character-home,.intro-character-slot{mix-blend-mode:normal}.character-shell{mix-blend-mode:multiply}.character-scene{mix-blend-mode:multiply}.character-shell img,.character-shell video{filter:brightness(1.065);mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 96%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
@media(max-height:800px) and (min-width:651px){.character-scene{height:390px}.character-home{width:292px;height:390px}.hero{min-height:795px}.character-caption{left:calc(50% + 170px)}}
.character-scene{isolation:auto}.character-home{z-index:auto}

.intro-complete .intro-label,.intro-complete .intro-count,.intro-complete #skip-intro{opacity:0;transition:opacity 150ms ease-out}

/* Keep the same media and blending layer throughout the entrance. */
.intro-pending .hero{overflow:visible}.intro-pending .character-scene{z-index:95}.intro-pending .character-shell{pointer-events:none}.intro-character-slot{width:230px;height:306px;transform:translate(-50%,-62%)}.intro-label{top:calc(50% + 140px)}
@media(max-width:650px){.intro-character-slot{width:200px;height:267px}.intro-label{top:calc(50% + 128px)}}
