.london-scene{--london-scene-w:2048;--london-scene-h:1152;position:absolute;inset:0;overflow:hidden;pointer-events:none;container-type:size;container-name:london-scene;z-index:0}.london-scene__canvas{position:absolute;top:50%;left:50%;width:max(100%,calc(100cqh * 2048 / 1152));height:max(100%,calc(100cqw * 1152 / 2048));transform:translate(-50%,-50%)}.london-scene__background{position:absolute;inset:0;z-index:0}.london-scene__image{object-fit:fill;object-position:center center;transition:opacity .6s ease-in-out}.london-scene__image--day{opacity:1}.london-scene__image--night,html[data-theme=dark] .london-scene__image--day{opacity:0}html[data-theme=dark] .london-scene__image--night{opacity:1}.london-scene[data-force-night=true] .london-scene__image--day{opacity:0}.london-scene[data-force-night=true] .london-scene__image--night{opacity:1}.london-scene__layer{position:absolute;inset:0;pointer-events:none}.london-scene__layer--road{z-index:2}.london-scene__layer--underground{z-index:3}.london-scene__vehicle{--vehicle-flip:1;--vehicle-mobile-scale:1;position:absolute;line-height:0;transform-origin:center bottom;transform:translate(-50%,-100%) scaleX(var(--vehicle-flip)) scale(var(--vehicle-mobile-scale))}.london-scene__vehicle--animated{will-change:transform;left:0}.london-scene__vehicle[data-transport-active=false]{visibility:hidden}.london-scene__vehicle-image{display:block;width:100%;height:auto;user-select:none;pointer-events:none}.london-scene__vehicle--tube .london-scene__vehicle-image{filter:brightness(.93) contrast(.96) saturate(.96)}.london-scene[data-force-night=true] .london-scene__vehicle--tube .london-scene__vehicle-image,html[data-theme=dark] .london-scene__vehicle--tube .london-scene__vehicle-image{filter:brightness(.82) contrast(.94) saturate(.92)}.london-scene__guides{position:absolute;inset:0;z-index:20;pointer-events:none}.london-scene__guide{position:absolute;left:0;right:0;height:0;border-top:1px dashed rgba(0,255,180,.85)}.london-scene__guide:after{content:attr(data-label);position:absolute;left:8px;top:2px;padding:1px 6px;border-radius:3px;background:rgba(0,0,0,.65);color:#9fffe0;font:600 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;text-transform:none}.london-scene__guide--roadFar{border-top-color:rgba(80,200,255,.9)}.london-scene__guide--roadNear{border-top-color:rgba(80,255,120,.9)}.london-scene__guide--underground{border-top-color:rgba(255,80,220,.9)}.london-scene__guide--tube-corridor{right:auto;height:auto;border:1px solid rgba(255,160,40,.85);background:rgba(255,160,40,.06);box-sizing:border-box}.london-scene__guide--tube-corridor:after{color:#ffd59a}.london-scene__guide--scene-bounds{inset:0;height:auto;border:1px dashed rgba(255,255,255,.35)}.london-scene__guide--scene-bounds:after{color:#dde3ea}.london-scene__path{position:absolute;height:0;border-top:2px solid rgba(255,220,80,.75);transform:translateY(-50%);box-sizing:border-box}.london-scene__path:after{content:attr(data-label);position:absolute;left:50%;top:4px;transform:translateX(-50%);padding:1px 6px;border-radius:3px;background:rgba(0,0,0,.7);color:#ffe08a;font:600 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.london-scene__path-despawn,.london-scene__path-spawn{position:absolute;top:-14px;padding:1px 4px;border-radius:2px;background:rgba(0,0,0,.75);color:#9fe8ff;font:600 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.london-scene__path-spawn{left:0}.london-scene__path-despawn{right:0}.london-scene__path--bus{border-top-color:rgba(255,90,90,.85)}.london-scene__path--cab{border-top-color:rgba(120,200,255,.85)}.london-scene__path--waymo{border-top-color:rgba(220,220,220,.85)}.london-scene__path--tube{border-top-color:rgba(255,80,200,.85)}.london-scene-calibrator{position:fixed;right:12px;bottom:12px;z-index:10000;pointer-events:auto;max-width:min(340px,calc(100vw - 24px));font:12px/1.35 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#e8eef5}.london-scene-calibrator__reset,.london-scene-calibrator__toggle{border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(12,18,28,.88);color:inherit;padding:8px 12px;cursor:pointer}.london-scene-calibrator__panel{margin-top:8px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(10,14,22,.92);backdrop-filter:blur(10px);max-height:min(70vh,640px);overflow:auto}.london-scene-calibrator__hint,.london-scene-calibrator__summary{margin:0 0 10px;opacity:.75;word-break:break-word}.london-scene-calibrator__row{display:flex;gap:8px;align-items:center;margin-bottom:10px}.london-scene-calibrator__group{margin:0 0 10px;padding:8px 10px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px}.london-scene-calibrator__group legend{padding:0 4px;font-weight:600;text-transform:capitalize}.london-scene-calibrator__group label{display:grid;grid-template-columns:64px 1fr 42px;gap:8px;align-items:center;margin-top:6px}.london-scene-calibrator__group input[type=range]{width:100%}.london-scene-calibrator__reset{width:100%;margin-top:4px}.london-scene-calibrator__speeds{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.london-scene-calibrator__speed{border:1px solid rgba(255,255,255,.16);border-radius:6px;background:rgba(255,255,255,.06);color:inherit;padding:4px 8px;cursor:pointer}.london-scene-calibrator__speed--active{background:rgba(120,160,255,.28);border-color:rgba(160,190,255,.45)}@media (prefers-reduced-motion:reduce){.london-scene__image{transition-duration:.01ms}}@media (max-width:767px){.london-scene__vehicle--bus,.london-scene__vehicle--cab,.london-scene__vehicle--waymo{--vehicle-mobile-scale:0.92}}@media (max-width:480px){.london-scene__vehicle--bus{--vehicle-mobile-scale:0.88}}.london-env{--ambient-rate:1;position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;color:rgba(255,255,255,.72)}.london-env__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.london-env__svg--sky{z-index:1}.london-env__clouds{color:rgba(255,255,255,.55)}html[data-theme=dark] .london-env__clouds{color:rgba(160,185,210,.28)}.london-env__cloud{transform-box:fill-box;transform-origin:center;will-change:transform;animation-timing-function:linear;animation-iteration-count:infinite;animation-duration:calc(90s / var(--ambient-rate, 1))}.london-env__cloud--far{animation-name:london-cloud-drift-far;animation-duration:calc(110s / var(--ambient-rate, 1));opacity:.55}.london-env__cloud--near{animation-name:london-cloud-drift-near;animation-duration:calc(72s / var(--ambient-rate, 1));opacity:.7}@keyframes london-cloud-drift-far{0%{transform:translateX(-4%)}to{transform:translateX(8%)}}@keyframes london-cloud-drift-near{0%{transform:translateX(6%)}to{transform:translateX(-10%)}}.london-env__birds{color:#5d7d92}html[data-theme=dark] .london-env__birds{color:#8aa3b4}.london-env__bird-flock{transform-box:fill-box;transform-origin:center;opacity:0;will-change:transform,opacity;animation-timing-function:linear;animation-iteration-count:infinite}.london-env__bird-flock--a{animation-name:london-bird-cross-a;animation-duration:calc(96s / var(--ambient-rate, 1))}.london-env__bird-flock--b{animation-name:london-bird-cross-b;animation-duration:calc(118s / var(--ambient-rate, 1));animation-delay:calc(-40s / var(--ambient-rate, 1))}@keyframes london-bird-cross-a{0%,78%{transform:translate(2100px,200px);opacity:0}80%{opacity:.55}92%{opacity:.5;transform:translate(900px,170px) translateY(-6px)}96%,to{transform:translate(400px,190px);opacity:0}}@keyframes london-bird-cross-b{0%,82%{transform:translate(-80px,230px);opacity:0}84%{opacity:.45}94%{opacity:.4;transform:translate(900px,210px) translateY(5px)}98%,to{transform:translate(1700px,240px);opacity:0}}.london-env__foliage{color:#3f7a3a}html[data-theme=dark] .london-env__foliage{color:#2a5230;opacity:.55}.london-env__foliage-sway{transform-box:fill-box;transform-origin:50% 100%;animation:london-foliage-sway calc(6.5s / var(--ambient-rate, 1)) ease-in-out infinite alternate}.london-env__foliage-sway--right{animation-duration:calc(7.8s / var(--ambient-rate, 1));animation-delay:-2s;transform-origin:40% 100%}@keyframes london-foliage-sway{0%{transform:rotate(-1.1deg) scale(1)}to{transform:rotate(1.2deg) scale(1.01)}}.london-env__river{position:absolute;left:0;right:0;overflow:hidden;z-index:1}.london-env__river-shimmer{position:absolute;inset:18% 0 auto;height:28%;opacity:.14;background:linear-gradient(90deg,transparent,rgba(200,230,240,.45) 22%,transparent 40%,rgba(180,220,235,.35) 62%,transparent 82%,rgba(210,235,245,.3));background-size:220% 100%;animation:london-river-shimmer calc(28s / var(--ambient-rate, 1)) linear infinite;mix-blend-mode:soft-light}.london-env__river-shimmer--b{inset:42% 0 auto;height:22%;opacity:.1;animation-duration:calc(36s / var(--ambient-rate, 1));animation-direction:reverse}.london-env__river-shimmer--c{inset:58% 0 auto;height:16%;opacity:.08;animation-duration:calc(44s / var(--ambient-rate, 1))}html[data-theme=dark] .london-env__river-shimmer{opacity:.08;background:linear-gradient(90deg,transparent,rgba(120,160,190,.35) 28%,transparent 48%,rgba(90,130,170,.28) 70%,transparent)}@keyframes london-river-shimmer{0%{background-position:0 0;opacity:.1}50%{opacity:.16}to{background-position:100% 0;opacity:.1}}.london-env__river-night{position:absolute;inset:0;opacity:0;transition:opacity .6s ease-in-out}.london-env--force-night .london-env__river-night,html[data-theme=dark] .london-env__river-night{opacity:1}.london-env__river-reflection{position:absolute;top:12%;width:.35%;height:70%;border-radius:40%;background:linear-gradient(180deg,rgba(255,220,140,.35),rgba(255,200,100,.12) 55%,transparent);opacity:.45;animation:london-reflection-drift calc(18s / var(--ambient-rate, 1)) ease-in-out infinite alternate}.london-env__river-reflection--1{left:42%}.london-env__river-reflection--2{left:48%;animation-delay:-4s;opacity:.35}.london-env__river-reflection--3{left:55%;animation-delay:-9s;height:55%}.london-env__river-reflection--4{left:61%;animation-delay:-2s;opacity:.3;width:.28%}.london-env__river-reflection--city{left:70%;width:8%;height:45%;top:30%;background:linear-gradient(180deg,rgba(120,160,210,.18),rgba(80,120,170,.06) 70%,transparent);filter:none;opacity:.4;animation-duration:calc(26s / var(--ambient-rate, 1))}@keyframes london-reflection-drift{0%{transform:translateX(-2px) scaleY(.96);opacity:.32}to{transform:translateX(3px) scaleY(1.04);opacity:.5}}.london-env__night{position:absolute;inset:0;opacity:0;transition:opacity .6s ease-in-out;z-index:2}.london-env--force-night .london-env__night,html[data-theme=dark] .london-env__night{opacity:1}.london-env__lamp-glow{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,224,150,.42) 0,rgba(255,200,110,.16) 38%,rgba(255,180,80,.04) 62%,transparent 72%);opacity:.55;animation:london-lamp-breathe calc(8s / var(--ambient-rate, 1)) ease-in-out infinite alternate;mix-blend-mode:screen}.london-env__lamp-glow:nth-child(2){animation-delay:-2.5s}.london-env__lamp-glow:nth-child(3){animation-delay:-5s}.london-env__lamp-glow:nth-child(4){animation-delay:-1.5s}.london-env__lamp-glow:nth-child(5){animation-delay:-3.5s}@keyframes london-lamp-breathe{0%{opacity:.42;transform:translate(-50%,-50%) scale(.96)}to{opacity:.62;transform:translate(-50%,-50%) scale(1.04)}}.london-env__window{position:absolute;border-radius:1px;background:rgba(255,220,140,.38);box-shadow:0 0 4px rgba(255,200,100,.15);opacity:.55}.london-env__window--soft{animation:london-window-soft calc(48s / var(--ambient-rate, 1)) ease-in-out infinite}@keyframes london-window-soft{0%,to{opacity:.35}50%{opacity:.62}}.london-env__shelter-glow{position:absolute;border-radius:4px;background:linear-gradient(180deg,rgba(180,210,230,.12),rgba(255,220,140,.08) 55%,transparent);opacity:.65;animation:london-shelter-pulse calc(7s / var(--ambient-rate, 1)) ease-in-out infinite alternate}@keyframes london-shelter-pulse{0%{opacity:.45}to{opacity:.7}}.london-env__platform-pool{position:absolute;width:4.2%;height:2.2%;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(255,230,170,.28) 0,rgba(255,210,130,.08) 55%,transparent 75%);opacity:.55;mix-blend-mode:soft-light}html[data-theme=dark] .london-env__platform-pool{opacity:.85}.london-env__tunnel-shade{position:absolute;top:78%;width:8%;height:18%;background:radial-gradient(ellipse at center,transparent 20%,rgba(8,12,18,.35) 70%,rgba(4,6,10,.55) 100%);opacity:0;transition:opacity .6s ease-in-out}html[data-theme=dark] .london-env__tunnel-shade{opacity:.7}.london-env__tunnel-shade--left{left:0}.london-env__tunnel-shade--right{right:0}.london-env--hide-birds .london-env__birds,.london-env--hide-clouds .london-env__clouds,.london-env--hide-foliage .london-env__foliage,.london-env--hide-lamps .london-env__lamps,.london-env--hide-water .london-env__river{visibility:hidden}.london-scene[data-ambient-motion=paused] .london-env__bird-flock,.london-scene[data-ambient-motion=paused] .london-env__cloud,.london-scene[data-ambient-motion=paused] .london-env__foliage-sway,.london-scene[data-ambient-motion=paused] .london-env__lamp-glow,.london-scene[data-ambient-motion=paused] .london-env__river-reflection,.london-scene[data-ambient-motion=paused] .london-env__river-shimmer,.london-scene[data-ambient-motion=paused] .london-env__shelter-glow,.london-scene[data-ambient-motion=paused] .london-env__window--soft{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.london-env__bird-flock,.london-env__cloud,.london-env__foliage-sway,.london-env__lamp-glow,.london-env__river-reflection,.london-env__river-shimmer,.london-env__shelter-glow,.london-env__window--soft{animation:none!important}.london-env__bird-flock{opacity:0!important}.london-env__lamp-glow{opacity:.5;transform:translate(-50%,-50%)}}@media (max-width:767px){.london-env__birds,.london-env__cloud--near,.london-env__foliage{display:none}.london-env__cloud--far{opacity:.35;animation-duration:calc(140s / var(--ambient-rate, 1))}.london-env__river-shimmer--c,.london-env__windows{display:none}}@media (max-width:480px){.london-env__clouds,.london-env__river-shimmer--b{display:none}}.hero-scene-viewport{position:absolute;inset:0;z-index:0;overflow:hidden;background-position:50%;background-size:cover}.hero-scene-layer{position:absolute;inset:0;opacity:0;transition:opacity .65s ease-in-out;pointer-events:none;will-change:opacity}.hero-scene-layer.is-active{opacity:1;z-index:1}.hero-scene-layer.is-inactive{opacity:0;z-index:0}.hero-scene-viewport[data-prefs-ready=false] .hero-scene-layer--london{opacity:1}html[data-hero-scene=beach] .hero-scene-viewport[data-prefs-ready=false] .hero-scene-layer--london,html[data-hero-scene=mountain] .hero-scene-viewport[data-prefs-ready=false] .hero-scene-layer--london,html[data-hero-scene=space] .hero-scene-viewport[data-prefs-ready=false] .hero-scene-layer--london{opacity:0}html[data-hero-scene=beach] .hero-scene-viewport[data-prefs-ready=false] .hero-scene-layer--beach,html[data-hero-scene=mountain] .hero-scene-viewport[data-prefs-ready=false] .hero-scene-layer--mountain,html[data-hero-scene=space] .hero-scene-viewport[data-prefs-ready=false] .hero-scene-layer--space{opacity:1}html[data-hero-scene=mountain] .hero-scene-viewport{background-image:url(/hero/mountain/mountain-day-master.webp)}html[data-theme=dark][data-hero-scene=mountain] .hero-scene-viewport{background-image:url(/hero/mountain/mountain-night-master.webp)}html[data-hero-scene=beach] .hero-scene-viewport{background-image:url(/hero/beach/beach-day-master.webp)}html[data-theme=dark][data-hero-scene=beach] .hero-scene-viewport{background-image:url(/hero/beach/beach-night-master.webp)}html[data-hero-scene=space] .hero-scene-viewport{background-image:url(/hero/space/space-day-master.webp)}html[data-theme=dark][data-hero-scene=space] .hero-scene-viewport{background-image:url(/hero/space/space-night-master.webp)}@media (prefers-reduced-motion:reduce){.hero-scene-layer{transition-duration:.01ms}}@media (max-width:767px){.hero-scene-layer{transition-property:opacity}}.hero-scene-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.85rem 1.25rem;margin-top:1.35rem;padding:0 .5rem}.hero-scene-controls[data-prefs-ready=false]{visibility:hidden}.hero-scene-controls__scenes{display:inline-flex;align-items:center;gap:.15rem;padding:.2rem;border-radius:999px;background:rgba(15,23,42,.28);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px)}.hero-scene-controls__scene{display:inline-flex;align-items:center;gap:.4rem;min-height:2rem;padding:.35rem .75rem;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.78);font-family:inherit;font-size:.8rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background .2s ease,color .2s ease}.hero-scene-controls__scene:hover{color:#ffffff;background:rgba(255,255,255,.08)}.hero-scene-controls__scene.is-active{color:#ffffff;background:rgba(255,255,255,.16)}.hero-scene-controls__scene:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.hero-scene-controls__dot{width:.4rem;height:.4rem;border-radius:50%;background:rgba(255,255,255,.35);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.hero-scene-controls__scene.is-active .hero-scene-controls__dot{background:#ffffff;box-shadow:0 0 0 2px rgba(255,255,255,.25)}.hero-scene-controls__motion{display:inline-flex;align-items:center;gap:.45rem;min-height:2rem;padding:.3rem .55rem .3rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(15,23,42,.28);color:rgba(255,255,255,.88);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s ease,border-color .2s ease}.hero-scene-controls__motion:hover{background:rgba(15,23,42,.4);border-color:rgba(255,255,255,.32)}.hero-scene-controls__motion:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.hero-scene-controls__motion-pill{position:relative;width:1.85rem;height:1.05rem;border-radius:999px;background:rgba(255,255,255,.22);transition:background .2s ease}.hero-scene-controls__motion.is-on .hero-scene-controls__motion-pill{background:rgba(113,72,252,.85)}.hero-scene-controls__motion-knob{position:absolute;top:.15rem;left:.15rem;width:.75rem;height:.75rem;border-radius:50%;background:#ffffff;transition:transform .2s ease}.hero-scene-controls__motion.is-on .hero-scene-controls__motion-knob{transform:translateX(.8rem)}@media (max-width:480px){.hero-scene-controls{gap:.65rem .85rem;margin-top:1.1rem}.hero-scene-controls__scene{padding:.32rem .65rem;font-size:.76rem}.hero-scene-controls__motion{font-size:.76rem}}@media (prefers-reduced-motion:reduce){.hero-scene-controls__motion,.hero-scene-controls__motion-knob,.hero-scene-controls__motion-pill,.hero-scene-controls__scene{transition:none}}.hero-profile-container{color:#ffffff;width:100%}.hero-profile{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:42rem;margin:0 auto;padding:0 1.5rem}.hero-profile-intro{margin:0 0 .55rem;font-size:1.15rem;font-weight:600;letter-spacing:.01em;text-shadow:0 .12rem .7rem rgba(15,23,42,.28)}.hero-profile h1{margin:0;font-size:clamp(2.15rem,4.6vw,3.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.1;text-shadow:0 .16rem .9rem rgba(15,23,42,.28)}.hero-profile-typewriter{display:flex;align-items:center;justify-content:center;min-width:16rem;min-height:2.1rem;margin:.7rem 0 0;font-size:1.15rem;font-weight:600;letter-spacing:-.02em;color:rgba(255,255,255,.88);text-shadow:0 .12rem .7rem rgba(15,23,42,.28)}.hero-profile-typewriter span{font-size:inherit;font-weight:inherit;margin:0}.hero-profile-tagline{max-width:34rem;margin:1rem 0 0;padding:0;font-size:1.08rem;font-weight:500;line-height:1.55;color:rgba(255,255,255,.92);background:none;border-radius:0;text-shadow:0 .14rem .8rem rgba(15,23,42,.32)}.hero-profile-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.6rem}.hero-cta{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.75rem 1.35rem;border-radius:999px;font-family:inherit;font-size:.95rem;font-weight:700;line-height:1;text-decoration:none;text-transform:none;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}.hero-cta-primary{color:#ffffff;background:#7148fc;border:1px solid #7148fc;box-shadow:0 .5rem 1.25rem rgba(47,47,58,.18)}.hero-cta-primary:hover{background:#5f38e8;border-color:#5f38e8;transform:translateY(-.08rem)}.hero-cta-secondary{color:#ffffff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.55);box-shadow:0 .4rem 1rem rgba(15,23,42,.12)}.hero-cta-secondary:hover{background:rgba(255,255,255,.18);transform:translateY(-.08rem)}.hero-cta:focus-visible{outline:2px solid #ffffff;outline-offset:3px}@media (max-width:1024px){.hero-profile{padding:0 1.25rem}.hero-profile-intro{font-size:1.02rem}.hero-profile h1{font-size:clamp(1.85rem,7vw,2.5rem)}.hero-profile-typewriter{min-height:1.8rem;font-size:1rem}.hero-profile-tagline{font-size:.98rem;margin-top:.85rem}.hero-profile-actions{margin-top:1.25rem}}@media (max-width:767px){.hero-cta{min-height:2.85rem;padding:.8rem 1.2rem;font-size:.92rem}.hero-profile-typewriter{min-width:0;min-height:1.7rem;font-size:.95rem}}@media (max-width:480px){.hero-profile-tagline{font-size:.92rem}.hero-cta{min-height:2.7rem;padding:.7rem 1rem;font-size:.88rem}}@media (prefers-reduced-motion:reduce){.hero-profile-typewriter{display:none}.hero-cta,.hero-cta-primary:hover,.hero-cta-secondary:hover{transition:none;transform:none}}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;width:100%}.social-card{display:flex;flex-direction:column;min-height:100%;padding:1.35rem 1.4rem 1.5rem;background:#ffffff;color:var(--main-font-color);text-align:left;text-decoration:none;border:1px solid rgba(47,47,58,.06);border-radius:1.25rem;box-shadow:0 .75rem 2rem rgba(47,47,58,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.social-card:hover{transform:translateY(-.15rem);border-color:rgba(113,72,252,.22);box-shadow:0 1rem 2.25rem rgba(47,47,58,.12)}.social-card:hover .social-card-external{color:#7148fc}.social-card-featured{min-height:28rem}.social-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.social-card-identity{display:flex;align-items:center;gap:.8rem;min-width:0}.social-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;flex-shrink:0;border-radius:.7rem;color:#ffffff}.social-card-icon svg{width:1.2rem;height:1.2rem}.social-card-category{margin:.2rem 0 0;font-size:.78rem;font-weight:700;letter-spacing:.01em;color:#5b6170}.social-card-top h2{margin:0;font-size:1.35rem;font-weight:700;line-height:1.2;color:var(--main-font-color)}.social-card-external{width:1.45rem;height:1.45rem;flex-shrink:0;color:#5b6170;transition:color .2s ease}.social-card-copy{margin:.9rem 0 0;font-size:.95rem;font-weight:500;line-height:1.55;color:#4b5160}.social-card-copy strong{color:var(--main-font-color);font-weight:700}.social-visual{display:flex;flex:1;margin-top:1.25rem;min-height:12.5rem;padding:1rem;background:#f6f8fc;border-radius:.9rem;overflow:hidden}.social-visual-window{display:flex;flex:1;flex-direction:column;justify-content:center;gap:.7rem;width:100%;padding:.95rem 1rem;background:#ffffff;border:1px solid rgba(47,47,58,.06);border-radius:.8rem}.social-visual-chrome{display:flex;align-items:center;gap:.35rem}.social-visual-chrome span{width:.5rem;height:.5rem;border-radius:999px;background:#d8dee8}.social-visual-chrome span:first-child{background:#ef2f4c}.social-visual-chrome span:nth-child(2){background:#ffca04}.social-visual-chrome span:nth-child(3){background:#11ef75}.social-visual-chrome p{margin:0 0 0 .4rem;font-size:.7rem;font-weight:600;color:#6b7280}.social-visual-repo{padding:.7rem .8rem;background:#f6f8fc;border-radius:.65rem}.social-visual-repo p{margin:0 0 .2rem;font-size:.88rem;font-weight:700}.social-visual-profile span,.social-visual-repo span{font-size:.75rem;font-weight:600;color:#5b6170}.social-visual-github{background:radial-gradient(circle at 12% 12%,rgba(113,72,252,.14),transparent 40%),#f6f8fc}.social-visual-profile{display:flex;align-items:center;gap:.8rem}.social-visual-profile img{width:3.5rem;height:3.5rem;border-radius:999px;object-fit:cover}.social-visual-profile p{margin:0 0 .15rem;font-size:.95rem;font-weight:700}.social-visual-pills{display:flex;flex-wrap:wrap;gap:.4rem}.social-visual-pills span{display:inline-flex;padding:.25rem .6rem;border-radius:999px;background:rgba(10,102,194,.1);color:#0a66c2;font-size:.72rem;font-weight:700}body[data-theme=dark] .social-card{background:#3a3a48;color:var(--brand-color-white);border-color:rgba(250,250,250,.06);box-shadow:0 .75rem 2rem rgba(0,0,0,.28)}body[data-theme=dark] .social-card-copy strong,body[data-theme=dark] .social-card-top h2,body[data-theme=dark] .social-visual-profile p,body[data-theme=dark] .social-visual-repo p{color:var(--brand-color-white)}body[data-theme=dark] .social-card-category,body[data-theme=dark] .social-card-copy,body[data-theme=dark] .social-visual-chrome p,body[data-theme=dark] .social-visual-profile span,body[data-theme=dark] .social-visual-repo span{color:#c5c9d4}body[data-theme=dark] .social-card-external{color:#a8adb8}body[data-theme=dark] .social-visual,body[data-theme=dark] .social-visual-linkedin{background:#323240}body[data-theme=dark] .social-visual-repo,body[data-theme=dark] .social-visual-window{background:#2c2c38;border-color:rgba(250,250,250,.08)}@media (max-width:767px){.social-grid{grid-template-columns:1fr}.social-card-featured{min-height:auto}.social-card-top h2{font-size:1.2rem}.social-visual{min-height:11rem}}@media (prefers-reduced-motion:reduce){.social-card{transition:none}}.tech-stack{width:100%;text-align:left}.tech-stack-lede{max-width:38rem;margin:0 auto 2.75rem;font-size:1.05rem;font-weight:500;line-height:1.55;text-align:center;color:#5b6170}.tech-core,.tech-secondary{margin-bottom:2.5rem}.tech-category-card h3,.tech-core h3,.tech-secondary h3{margin:0 0 1rem;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--main-font-color)}.tech-badge-list,.tech-core-list,.tech-secondary-list{display:flex;flex-wrap:wrap;gap:.7rem;margin:0;padding:0;list-style:none}.tech-badge,.tech-core-badge,.tech-secondary-pill{display:inline-flex;align-items:center;gap:.5rem;min-height:2.5rem;border-radius:999px;font-weight:700;line-height:1;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.tech-core-badge{padding:.7rem 1rem .7rem .75rem;background:#ffffff;color:var(--main-font-color);border:1px solid rgba(113,72,252,.22);box-shadow:0 .5rem 1.25rem rgba(47,47,58,.06);font-size:.95rem}.tech-core-badge:hover{transform:translateY(-.12rem);border-color:rgba(113,72,252,.45);box-shadow:0 .75rem 1.75rem rgba(113,72,252,.14)}.tech-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#7148fc}.tech-core-badge .tech-icon{width:1.7rem;height:1.7rem;border-radius:.5rem;background:rgba(113,72,252,.1)}.tech-badge .tech-icon svg,.tech-core-badge .tech-icon svg{width:.95rem;height:.95rem}.tech-badge .tech-icon{width:1.4rem;height:1.4rem}.tech-badge{padding:.45rem .75rem .45rem .45rem;background:#f6f8fc;color:var(--main-font-color);border:1px solid rgba(47,47,58,.08);font-size:.82rem}.tech-badge:hover{background:#eef1fb;border-color:rgba(113,72,252,.28)}.tech-badge:hover .tech-icon{transform:translateY(-1px)}.tech-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:2.5rem}.tech-category-card{display:flex;flex-direction:column;min-height:100%;padding:1.5rem 1.45rem 1.55rem;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,248,252,.92));color:var(--main-font-color);border:1px solid rgba(47,47,58,.07);border-radius:1.25rem;box-shadow:0 .75rem 2rem rgba(47,47,58,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.tech-category-card:hover{transform:translateY(-.15rem);border-color:rgba(113,72,252,.2);box-shadow:0 1rem 2.25rem rgba(47,47,58,.1)}.tech-category-card h3{margin-bottom:.45rem;font-size:1.3rem}.tech-category-copy{margin:0 0 1.15rem;font-size:.95rem;font-weight:500;line-height:1.55;color:#5b6170}.tech-secondary h3{margin-bottom:.85rem;font-size:1rem;font-weight:600;color:#5b6170}.tech-secondary-pill{min-height:2.15rem;padding:.4rem .8rem;background:transparent;color:#4b5160;border:1px solid rgba(47,47,58,.1);font-size:.8rem;font-weight:600}.tech-secondary-pill:hover{background:rgba(113,72,252,.06);border-color:rgba(113,72,252,.2);color:var(--main-font-color)}.tech-icon-react,.tech-icon-tailwind{color:#0ea5e9}.tech-icon-postgresql,.tech-icon-typescript{color:#3178c6}.tech-icon-drizzle,.tech-icon-nodejs{color:#3c9b4f}.tech-icon-docker,.tech-icon-playwright{color:#2563eb}.tech-icon-agents,.tech-icon-anthropic,.tech-icon-hermes,.tech-icon-mcp,.tech-icon-openai,.tech-icon-openclaw{color:#7148fc}body[data-theme=dark] .tech-category-copy,body[data-theme=dark] .tech-secondary h3,body[data-theme=dark] .tech-stack-lede{color:#c5c9d4}body[data-theme=dark] .tech-badge,body[data-theme=dark] .tech-category-card h3,body[data-theme=dark] .tech-core h3,body[data-theme=dark] .tech-core-badge{color:var(--brand-color-white)}body[data-theme=dark] .tech-category-card,body[data-theme=dark] .tech-core-badge{background:#3a3a48;border-color:rgba(250,250,250,.08);box-shadow:0 .75rem 2rem rgba(0,0,0,.22)}body[data-theme=dark] .tech-category-card:hover,body[data-theme=dark] .tech-core-badge:hover{border-color:rgba(113,72,252,.4)}body[data-theme=dark] .tech-badge{background:#2c2c38;border-color:rgba(250,250,250,.08)}body[data-theme=dark] .tech-badge:hover{background:#454554}body[data-theme=dark] .tech-core-badge .tech-icon{background:rgba(113,72,252,.18)}body[data-theme=dark] .tech-secondary-pill{color:#c5c9d4;border-color:rgba(250,250,250,.12)}body[data-theme=dark] .tech-secondary-pill:hover{color:var(--brand-color-white);background:rgba(113,72,252,.14)}@media (max-width:767px){.tech-stack-lede{margin-bottom:2rem;font-size:.98rem}.tech-category-grid{grid-template-columns:1fr}.tech-core-list{gap:.55rem}.tech-core-badge{font-size:.88rem}.tech-category-card h3{font-size:1.15rem}}@media (prefers-reduced-motion:reduce){.tech-badge,.tech-badge .tech-icon,.tech-category-card,.tech-core-badge,.tech-secondary-pill{transition:none}.tech-badge:hover .tech-icon,.tech-category-card:hover,.tech-core-badge:hover{transform:none}}