@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@500;600;700&display=swap");:root{--paper:#f6f1e7;--ink:#26342b;--muted:#677168;--accent:#e65d3f;--yellow:#f1c766;--sage:#b7c7a7;--line:#d9d8c9}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif}button{font:inherit;color:inherit}.site-shell{min-height:100svh;overflow-x:clip;overflow-y:visible;position:relative;padding:30px 5.4vw 24px;display:flex;flex-direction:column}.ambient{position:absolute;border-radius:50%;pointer-events:none;opacity:.72;z-index:-1}.fireworks{width:100%;height:100%;z-index:8}.fireworks,.flower-field{position:fixed;inset:0;pointer-events:none}.floating-loves,.flower-field{overflow:hidden;z-index:0}.floating-loves{position:fixed;inset:0;pointer-events:none}.love{position:absolute;bottom:-12vh;color:var(--accent);font-size:22px;opacity:0;line-height:1;animation:love-rise 19s linear infinite;text-shadow:0 2px 12px rgba(230,93,63,.16)}.love-1{left:8%;font-size:20px;animation-duration:20s;animation-delay:-13s}.love-2{left:21%;color:#d97864;font-size:14px;animation-duration:24s;animation-delay:-5s}.love-3{left:36%;font-size:24px;animation-duration:22s;animation-delay:-17s}.love-4{left:49%;color:#d97864;font-size:17px;animation-duration:26s;animation-delay:-9s}.love-5{left:63%;font-size:19px;animation-duration:21s;animation-delay:-19s}.love-6{left:76%;color:#d97864;font-size:13px;animation-duration:25s;animation-delay:-3s}.love-7{left:89%;font-size:22px;animation-duration:23s;animation-delay:-15s}.love-8{left:30%;color:#d97864;font-size:16px;animation-duration:27s;animation-delay:-22s}.flower{position:absolute;width:28px;height:56px;opacity:.58;transform-origin:center bottom;animation:flower-sway 5s ease-in-out infinite}.flower b,.flower em,.flower i{position:absolute;display:block}.flower i{width:8px;height:32px;border-radius:8px;background:#718b67;left:10px;top:24px;transform-origin:50% 100%;animation:stem-bend 5s ease-in-out infinite}.flower b{width:8px;height:22px;border-radius:100% 0 100% 0;background:#94a87d;left:15px;top:30px;transform:rotate(32deg);transform-origin:20% 90%;animation:leaf-sway 5s ease-in-out infinite}.flower em{width:25px;height:25px;left:2px;top:0;border-radius:50%;background:radial-gradient(circle at center,#e65d3f 0 3px,transparent 4px),radial-gradient(ellipse at 50% 0,#f1c766 0 5px,transparent 6px),radial-gradient(ellipse at 100% 50%,#f1c766 0 5px,transparent 6px),radial-gradient(ellipse at 50% 100%,#f1c766 0 5px,transparent 6px),radial-gradient(ellipse at 0 50%,#f1c766 0 5px,transparent 6px);transform-origin:50% 100%;animation:petal-sway 5s ease-in-out infinite}.flower-1{left:7%;top:22%;scale:.9;animation-delay:-.2s}.flower-2{left:19%;top:74%;scale:1;animation-delay:-1s}.flower-3{right:9%;top:17%;scale:.75;animation-delay:-2.4s}.flower-4{right:21%;bottom:9%;scale:1;animation-delay:-3.2s}.flower-5{left:44%;top:9%;scale:.65;animation-delay:-.7s}.flower-6{left:3%;bottom:17%;scale:.72;animation-delay:-2s}.flower-7{right:4%;bottom:36%;scale:.85;animation-delay:-1.8s}.flower-8{left:32%;bottom:6%;scale:.7;animation-delay:-3s}.flower-9{right:35%;top:5%;scale:.6;animation-delay:-.3s}.ambient-one{width:42vw;height:42vw;background:var(--sage);right:-20vw;top:10vh}.ambient-two{width:24vw;height:24vw;background:var(--yellow);left:-14vw;bottom:-4vw}.footer,.topbar{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.footer,.progress,.topbar{position:relative;z-index:1}.wordmark{background:none;border:0;padding:0;cursor:pointer;display:flex;gap:10px;align-items:center;font-weight:700;letter-spacing:-.02em}.wordmark-dot{width:12px;height:12px;background:var(--accent);border-radius:50%;display:inline-block}.progress-label{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.progress{gap:19px;max-width:470px;margin:66px auto 0;width:100%}.progress,.progress button{display:flex;align-items:center}.progress button{border:0;background:none;padding:0;color:var(--muted);cursor:pointer;font-size:12px;gap:10px;flex:1 1}.progress button i{height:3px;background:var(--line);display:block;flex:1 1}.progress button.active{color:var(--ink);font-weight:700}.progress button.active i{background:var(--accent)}.stage{display:grid;grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr);align-items:center;grid-gap:8vw;gap:8vw;flex:1 1;max-width:1230px;width:100%;margin:25px auto 35px;animation:arrive .7s ease both;position:relative;z-index:1}.stage-copy{max-width:630px;padding:45px 0}.eyebrow{color:var(--accent);font-size:13px;font-weight:700;margin:0 0 22px}h1,h2{font-family:Space Grotesk,sans-serif;font-size:clamp(50px,6.5vw,100px);letter-spacing:-.075em;line-height:.93;margin:0 0 29px;max-width:700px}h2{font-size:clamp(43px,5.1vw,76px)}.lead{color:var(--muted);font-size:clamp(17px,1.5vw,20px);line-height:1.55;max-width:560px;margin:0 0 31px}.primary{background:var(--accent);color:#fff;border:0;padding:16px 18px 16px 21px;cursor:pointer;font-weight:700;display:inline-flex;gap:30px;align-items:center;transition:transform .2s,background .2s}.primary span{font-size:21px;line-height:0}.primary:focus-visible,.primary:hover{transform:translateY(-4px);background:#c94a32}.quote{border-left:4px solid var(--yellow);padding:3px 0 3px 20px;color:var(--ink);font-family:Georgia,serif;font-size:20px;line-height:1.45;max-width:530px;margin:15px 0 35px}.question-text{font-family:Space Grotesk,sans-serif;font-size:clamp(24px,2.6vw,38px);line-height:1.08;letter-spacing:-.05em;margin:0 0 26px;max-width:580px}.answers{display:grid;grid-gap:9px;gap:9px;max-width:530px}.answers button{background:transparent;border:2px solid var(--ink);text-align:left;padding:14px 16px;cursor:pointer;display:flex;justify-content:space-between;transition:background .2s,transform .2s}.answers button:focus-visible,.answers button:hover{background:var(--yellow);transform:translateX(5px)}.answers span{color:var(--accent)}.score-line{height:13px;background:var(--line);max-width:530px;margin:26px 0 36px}.score-line span{height:100%;display:block;background:var(--accent);transition:width .7s ease}.dana-box{background:var(--ink);color:var(--paper);padding:18px;justify-content:space-between;max-width:570px;gap:20px}.dana-box,.dana-box>div{display:flex;align-items:center}.dana-box>div{gap:13px;min-width:0}.dana-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;color:var(--ink);background:#5bb8ff;font-weight:700;font-size:21px}.dana-box small,.dana-box strong{display:block}.dana-box small{color:#b4c0b4;font-size:11px;margin-bottom:3px}.dana-box strong{font-size:14px;letter-spacing:.01em;word-break:break-all}.copy-button{background:var(--yellow);border:0;padding:11px 13px;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap}.small-note{color:var(--muted);font-size:12px;max-width:510px;line-height:1.5;margin-top:15px}.stage-art{min-height:520px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:2px solid var(--ink);border-radius:50%;opacity:.18;animation:spin 18s linear infinite}.orbit-one{width:min(35vw,440px);height:min(35vw,440px)}.orbit-two{width:min(25vw,315px);height:min(39vw,500px);transform:rotate(39deg);animation-direction:reverse}.robot{background:none;border:0;cursor:pointer;position:relative;width:215px;height:310px;animation:float 4.2s ease-in-out infinite;z-index:1}.robot:hover{animation-play-state:paused}.robot-aura{position:absolute;width:190px;height:190px;border-radius:50%;background:var(--yellow);left:12px;top:64px;z-index:-1;transition:background .35s}.robot-angry .robot-aura{background:#e9a18e}.robot-surprised .robot-aura{background:var(--sage)}.robot-proud .robot-aura{background:#e8d99e}.speech-bubble{position:absolute;z-index:3;top:9%;left:50%;transform:translateX(-50%);max-width:min(260px,80%);min-width:150px;padding:12px 15px;border:1px solid var(--line);border-radius:18px 18px 18px 4px;background:hsla(0,0%,100%,.88);box-shadow:0 8px 24px rgba(38,52,43,.08);color:var(--ink);text-align:center;font-size:12px;line-height:1.4}.typing-caret{color:var(--accent);animation:blink 1s steps(2,start) infinite}.robot-head{position:absolute;width:132px;height:105px;left:42px;top:43px;border:7px solid var(--ink);background:var(--paper);border-radius:26px 26px 35px 35px}.robot-ear{position:absolute;width:14px;height:37px;top:28px;background:var(--ink);border-radius:5px}.robot-ear.left{left:-20px}.robot-ear.right{right:-20px}.robot-face{left:18px;right:18px;bottom:15px;background:var(--ink);border-radius:17px}.eye,.robot-face{position:absolute;top:21px}.eye{width:12px;height:17px;background:var(--paper);border-radius:50%;transition:transform .2s}.eye.left{left:24px}.eye.right{right:24px}.mouth{position:absolute;width:22px;height:9px;left:50%;bottom:17px;transform:translateX(-50%);border-bottom:3px solid var(--paper);border-radius:50%}.robot-angry .eye{transform:rotate(22deg)}.robot-angry .mouth{border-bottom:0;border-top:3px solid var(--paper);border-radius:0}.robot-surprised .mouth{width:12px;height:12px;border:3px solid var(--paper);border-radius:50%}.robot-proud .eye{height:4px;top:28px;border-radius:5px}.robot-antenna{position:absolute;width:7px;height:39px;background:var(--ink);top:5px;left:105px}.robot-antenna i{display:block;width:18px;height:18px;border-radius:50%;background:var(--accent);position:absolute;left:-5px;top:-9px;animation:blink 2.5s infinite}.robot-neck{width:32px;height:21px;top:145px;left:92px}.robot-body,.robot-neck{position:absolute;background:var(--ink)}.robot-body{width:115px;height:100px;left:50px;top:157px;border-radius:23px 23px 37px 37px}.robot-panel{position:absolute;width:55px;height:23px;background:var(--sage);left:30px;top:39px;border-radius:5px}.heart{transform:rotate(45deg);left:52px;top:15px}.heart,.heart:after,.heart:before{position:absolute;width:12px;height:12px;background:var(--accent)}.heart:after,.heart:before{content:"";border-radius:50%}.heart:before{left:-6px}.heart:after{top:-6px}.robot-arm,.robot-leg{position:absolute;background:var(--ink);border-radius:8px}.robot-arm{width:18px;height:85px;top:164px}.robot-arm.left{left:28px;transform:rotate(13deg)}.robot-arm.right{right:27px;transform:rotate(-13deg)}.robot-leg{width:25px;height:55px;top:245px}.robot-leg.left{left:73px}.robot-leg.right{right:70px}.robot-angry .robot-arm.left{animation:shake .22s infinite}.robot-happy .robot-arm.right,.robot-proud .robot-arm.right{transform:rotate(-35deg)}.robot-surprised{animation:jump .7s ease-in-out infinite alternate}.art-caption{position:absolute;bottom:18px;text-align:center;color:var(--muted);font-size:11px;line-height:1.5}.art-caption strong{color:var(--ink);font-size:13px}.spark{position:absolute;width:12px;height:12px;background:var(--accent);transform:rotate(45deg);animation:twinkle 2s infinite}.spark-one{top:19%;left:17%}.spark-two{right:13%;top:29%;background:var(--yellow);animation-delay:.7s}.spark-three{bottom:20%;left:23%;background:var(--sage);animation-delay:1.2s}.footer{margin-top:auto;font-size:11px}.footer span:last-child{color:var(--accent)}.memory-gallery{position:relative;z-index:1;width:min(1230px,100%);margin:20px auto 80px}.memory-heading{max-width:700px;margin-bottom:30px}.memory-heading .eyebrow{margin-bottom:12px}.memory-heading h2{font-size:clamp(38px,5vw,64px);margin-bottom:14px}.memory-heading>p:last-child{color:var(--muted);max-width:570px;line-height:1.55;margin:0}.memory-heading code{color:var(--ink);font-family:DM Sans,sans-serif;font-size:.95em}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:30px 24px;gap:30px 24px;align-items:center}.memory-card{margin:0;min-width:0;opacity:0}.memory-gallery-visible .memory-card{animation:memory-arrive .8s cubic-bezier(.16,1,.3,1) forwards}.memory-gallery-visible .memory-card-1{animation-name:memory-from-left;animation-delay:.04s}.memory-gallery-visible .memory-card-2{animation-name:memory-pop;animation-delay:.13s}.memory-gallery-visible .memory-card-3{animation-name:memory-from-right;animation-delay:.22s}.memory-gallery-visible .memory-card-4{animation-name:memory-from-top;animation-delay:.31s}.memory-gallery-visible .memory-card-5{animation-name:memory-arrive;animation-delay:.4s}.memory-gallery-visible .memory-card-6{animation-name:memory-rise;animation-delay:.49s}.memory-photo{display:block;position:relative;overflow:hidden;width:100%;height:clamp(190px,23vw,310px);padding:0;border:0;background:var(--sage);cursor:pointer;transform:translateZ(0)}.memory-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.16,1,.3,1),filter .5s ease}.memory-card:nth-child(3n+1) .memory-photo{rotate:-2deg}.memory-card:nth-child(3n+2) .memory-photo{rotate:1.5deg}.memory-card:nth-child(3n) .memory-photo{rotate:-1deg}.memory-active .memory-photo img,.memory-photo:focus-visible img,.memory-photo:hover img{transform:scale(1.1);filter:saturate(1.12)}.memory-photo:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.memory-card-2 .memory-photo,.memory-card-5 .memory-photo{animation:memory-breathe 5.8s ease-in-out infinite}.memory-card-5 .memory-photo{animation-delay:-2.5s}.memory-card figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:13px 3px 0;color:var(--ink);font-size:13px;font-weight:700}.memory-card figcaption small{color:var(--muted);font-size:10px;font-weight:500}.memory-particles{position:absolute;inset:0;pointer-events:none}.memory-particles i{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:50%;background:var(--yellow);opacity:0;box-shadow:0 0 10px hsla(42,83%,67%,.8)}.memory-particles i:first-child{--particle-x:-44px;--particle-y:-48px}.memory-particles i:nth-child(2){--particle-x:38px;--particle-y:-54px;background:var(--accent)}.memory-particles i:nth-child(3){--particle-x:58px;--particle-y:8px}.memory-particles i:nth-child(4){--particle-x:20px;--particle-y:48px;background:var(--sage)}.memory-particles i:nth-child(5){--particle-x:-42px;--particle-y:42px;background:var(--accent)}.memory-particles i:nth-child(6){--particle-x:-60px;--particle-y:-4px}.memory-active .memory-particles i,.memory-photo:hover .memory-particles i{animation:particle-pop .65s ease-out both}.memory-particles i:nth-child(2){animation-delay:.04s}.memory-particles i:nth-child(3){animation-delay:.08s}.memory-particles i:nth-child(4){animation-delay:.12s}.memory-particles i:nth-child(5){animation-delay:.16s}.memory-particles i:nth-child(6){animation-delay:.2s}.memory-heart{position:absolute;top:12px;right:16px;color:#fff;font-size:32px;opacity:0;transform:translateY(8px) scale(.7);transition:opacity .25s ease,transform .35s ease;text-shadow:0 2px 12px rgba(0,0,0,.25)}.memory-active .memory-heart,.memory-photo:hover .memory-heart{opacity:1;transform:translateY(0) scale(1)}@keyframes memory-arrive{0%{opacity:0;translate:0 28px;rotate:5deg;scale:.94}to{opacity:1;translate:0 0;rotate:0;scale:1}}@keyframes memory-from-left{0%{opacity:0;translate:-90px 16px;rotate:-11deg;scale:.9}to{opacity:1;translate:0 0;rotate:0;scale:1}}@keyframes memory-from-right{0%{opacity:0;translate:90px 0;rotate:11deg;scale:.9}to{opacity:1;translate:0 0;rotate:0;scale:1}}@keyframes memory-from-top{0%{opacity:0;translate:0 -65px;rotate:8deg;scale:.88}to{opacity:1;translate:0 0;rotate:0;scale:1}}@keyframes memory-pop{0%{opacity:0;scale:.5;rotate:-12deg}70%{opacity:1;scale:1.06;rotate:2deg}to{opacity:1;scale:1;rotate:0}}@keyframes memory-rise{0%{opacity:0;translate:0 55px;rotate:-9deg;scale:.82}to{opacity:1;translate:0 0;rotate:0;scale:1}}@keyframes memory-breathe{0%,to{scale:1}50%{scale:1.025}}@keyframes particle-pop{0%{opacity:0;transform:translate(0) scale(.3)}25%{opacity:1}to{opacity:0;transform:translate(var(--particle-x),var(--particle-y)) scale(1.4)}}@keyframes arrive{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-15px) rotate(1deg)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes blink{0%,44%,48%,to{opacity:1}46%{opacity:.2}}@keyframes shake{50%{transform:rotate(25deg)}}@keyframes jump{to{transform:translateY(-10px) rotate(2deg)}}@keyframes twinkle{0%,to{transform:scale(.7) rotate(45deg);opacity:.5}50%{transform:scale(1.15) rotate(135deg);opacity:1}}@keyframes flower-sway{0%,to{transform:rotate(-8deg) translateX(-2px)}50%{transform:rotate(8deg) translateX(3px) translateY(-3px)}}@keyframes stem-bend{0%,to{transform:rotate(-7deg) scaleY(.98)}50%{transform:rotate(9deg) scaleY(1.02)}}@keyframes leaf-sway{0%,to{rotate:-5deg}50%{rotate:8deg}}@keyframes petal-sway{0%,to{rotate:-8deg;scale:.98}50%{rotate:11deg;scale:1.04}}@keyframes love-rise{0%{transform:translateZ(0) rotate(-12deg) scale(.78);opacity:0}10%{opacity:.3}30%{transform:translate3d(12px,-34vh,0) rotate(7deg) scale(1)}60%{transform:translate3d(-10px,-72vh,0) rotate(-6deg) scale(.92);opacity:.28}88%{opacity:.22}to{transform:translate3d(9px,-116vh,0) rotate(12deg) scale(.78);opacity:0}}@media (max-width:800px){.site-shell{padding:21px 22px 17px;min-height:100svh}.progress{margin-top:42px;gap:6px}.progress button span{display:none}.progress button i{height:4px}.stage{display:flex;flex-direction:column;gap:0;margin-top:15px;justify-content:flex-start}.stage-copy{padding:28px 0 0;width:100%}.stage-art{min-height:330px;width:100%;margin-top:-10px}.robot{transform:scale(.78)}.orbit-one{width:280px;height:280px}.orbit-two{width:190px;height:310px}.art-caption{bottom:0}.ambient-one{width:80vw;height:80vw;right:-40vw;top:30vh}.ambient-two{width:50vw;height:50vw;left:-28vw;bottom:10vh}h1{font-size:clamp(52px,15vw,80px)}h2{font-size:clamp(43px,12vw,68px)}.lead{font-size:16px}.footer{margin-top:10px}.footer span:first-child{display:none}.footer{justify-content:flex-end}.dana-box{align-items:flex-start;flex-direction:column}.copy-button{align-self:flex-end}.memory-gallery{margin-top:5px;margin-bottom:58px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.memory-photo{height:clamp(165px,32vw,240px)}}@media (max-width:480px){.memory-grid{gap:22px 11px}.memory-photo{height:170px}.memory-card figcaption{font-size:11px}.memory-card figcaption small{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}