.navbar{z-index:1000;height:var(--navbar-height);background-color:var(--color-green);width:100%;color:var(--color-white);letter-spacing:.04em;text-transform:uppercase;font-size:1.25rem;font-weight:500;transition:background-color .4s;position:sticky;top:0}.navbar-container{align-items:center;gap:16px;height:100%;padding:0 5%;display:flex}.navbar-brand{--logo-height:35px;align-items:center;gap:calc(var(--logo-height) * .3);flex-shrink:0;display:flex}.navbar-logo{align-items:center;display:flex}.navbar-logo img{height:var(--logo-height);width:auto;display:block}.theme-lever{height:var(--logo-height);color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:block}.theme-lever svg{fill:currentColor;width:auto;height:100%;display:block;overflow:visible}.theme-lever-handle{transition:transform .35s cubic-bezier(.34,1.56,.64,1);transform:rotate(-45deg)}.theme-lever.is-dark .theme-lever-handle{transform:rotate(45deg)}.theme-lever:hover .theme-lever-handle{transform:rotate(-35deg)}.theme-lever.is-dark:hover .theme-lever-handle{transform:rotate(35deg)}.theme-lever-wrap{position:relative}.theme-lever.is-hinting .theme-lever-handle{animation:.6s ease-in-out 2 lever-wiggle}@keyframes lever-wiggle{0%,to{transform:rotate(-45deg)}50%{transform:rotate(-15deg)}}.theme-lever-hint{color:var(--color-white);box-shadow:var(--shadow-card);letter-spacing:0;text-transform:none;white-space:nowrap;pointer-events:none;background-color:#000;border-radius:12px;padding:8px 14px;font-size:.85rem;font-weight:500;animation:6s both hint-in-out;position:absolute;top:calc(100% + 14px);left:-6px}.theme-lever-hint:before{content:"";background-color:inherit;width:12px;height:12px;position:absolute;top:-6px;left:16px;transform:rotate(45deg)}@keyframes hint-in-out{0%{opacity:0;transform:translateY(-6px)}6%,90%{opacity:1;transform:none}to{opacity:0}}@media (prefers-reduced-motion:reduce){.theme-lever.is-hinting .theme-lever-handle{animation:none}}.navbar-menu{gap:32px;margin-left:auto;list-style:none;display:flex}.navbar-menu a{color:inherit;text-decoration:none;transition:color .2s}.navbar-menu a:hover{color:var(--color-yellow)}.navbar-hamburger{color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.navbar-hamburger span{background-color:currentColor;border-radius:10px;width:30px;height:3px;display:block}.navbar-mobile-menu{top:var(--navbar-height);background-color:var(--color-green);width:100%;list-style:none;display:none;position:absolute;left:0}.navbar-mobile-menu a{color:inherit;text-align:center;padding:1rem;text-decoration:none;display:block}.navbar-mobile-menu a:hover{background-color:#ffffff26}@media (width<=980px){.navbar-menu{display:none}.navbar-hamburger{margin-left:auto;display:flex}.navbar-mobile-menu.active{display:block}.navbar-brand{--logo-height:28px;flex-shrink:10;margin-right:auto}}.about{min-height:calc(100vh - var(--navbar-height));background-color:var(--color-green);color:var(--color-white);padding-top:88px}.about-block{max-width:var(--content-width);justify-content:left;align-items:flex-start;gap:clamp(28px,6vw,76px);margin:0 auto;display:flex}.profile-picture{border:3px solid #f0f8ff;border-radius:30px;flex-shrink:0;width:clamp(180px,26vw,260px);max-width:100%;height:auto;display:block}.text-block{flex:1;width:100%;max-width:780px;font-size:1.15rem}.text-block .section-title{margin-bottom:39px;font-size:clamp(2.25rem,5.2vw,4.25rem);line-height:1}.about-lead{text-wrap:pretty;width:fit-content;max-width:100%;font-family:var(--font-mono);text-align:left;--bubble-bg:color-mix(in srgb, var(--color-green) 65%, #000);padding:20px 28px;font-size:1.4rem;font-weight:400;line-height:1.65}.about-lead .prompt{opacity:.7;font-weight:500}.about-lead .cursor{vertical-align:text-bottom;background-color:currentColor;width:.55em;height:1.1em;margin-left:4px;animation:1.1s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.about-lead .cursor{animation:none}}.speech-bubble{isolation:isolate;position:relative}.speech-bubble-shape{z-index:-1;position:absolute;top:0;left:0;overflow:visible}.speech-bubble-shape path{fill:var(--bubble-bg);stroke:#f0f8ff;stroke-width:2px;stroke-linejoin:round;stroke-dasharray:8 6;transition:fill .4s}.about-facts{flex-wrap:wrap;gap:10px;margin-top:50px;list-style:none;display:flex}.about-links{margin-top:10px}.about-facts li{background-color:#ffffff14;border:1.5px solid #fff9;border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:500}.about-facts li:has(.link-chip){border-color:var(--color-white);background-color:var(--color-white);padding:0;transition:background-color .2s,border-color .2s}.link-chip{color:var(--color-green);align-items:center;gap:6px;padding:6px 14px;font-weight:600;display:flex}.about-facts li:has(.link-chip):hover{border-color:var(--color-yellow);background-color:var(--color-yellow)}@media (width<=750px){.about{padding-top:56px}.about-block{flex-direction:column;align-items:center;gap:28px}.profile-picture{width:min(60vw,220px)}.text-block{font-size:1rem}.about-lead{padding:18px 22px;font-size:1.3rem}}.character-sheet{--sheet-paper:#fbf6ea;--sheet-ink:#2b2620;--sheet-line:#2b2620;--sheet-muted:#6b6257;--sheet-box:#fff;--portrait-bg:#ece6fb;--portrait-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cg fill='%23b8a6ea'%3E%3Crect x='3' y='1' width='1' height='5'/%3E%3Crect x='1' y='3' width='5' height='1'/%3E%3Crect x='11' y='9' width='1' height='3'/%3E%3Crect x='10' y='10' width='3' height='1'/%3E%3C/g%3E%3Cg fill='%23d3c8f3'%3E%3Crect x='13' y='3' width='1' height='1'/%3E%3Crect x='6' y='12' width='1' height='1'/%3E%3Crect x='9' y='6' width='1' height='1'/%3E%3C/g%3E%3C/svg%3E");max-width:var(--content-width);background-color:var(--sheet-paper);color:var(--sheet-ink);border:3px solid var(--sheet-line);border-radius:var(--radius-card);margin:72px auto 0;padding:28px;transition:background-color .4s,color .4s;box-shadow:8px 8px #00000040}:root[data-theme=dark] .character-sheet{--sheet-paper:#1c1727;--sheet-ink:#ece4d4;--sheet-line:#ece4d4;--sheet-muted:#b3a998;--sheet-box:#251f33;--portrait-bg:#291e44;--portrait-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cg fill='%235e4b99'%3E%3Crect x='3' y='1' width='1' height='5'/%3E%3Crect x='1' y='3' width='5' height='1'/%3E%3Crect x='11' y='9' width='1' height='3'/%3E%3Crect x='10' y='10' width='3' height='1'/%3E%3C/g%3E%3Cg fill='%2345377a'%3E%3Crect x='13' y='3' width='1' height='1'/%3E%3Crect x='6' y='12' width='1' height='1'/%3E%3Crect x='9' y='6' width='1' height='1'/%3E%3C/g%3E%3C/svg%3E")}.sheet-label{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--sheet-muted);font-size:.75rem;display:block}.sheet-header{border-bottom:3px solid var(--sheet-line);grid-template-columns:minmax(220px,1fr) 2fr auto;grid-template-areas:"name details portrait";align-items:end;gap:24px;padding-bottom:20px;display:grid}.sheet-name{grid-area:name}.sheet-portrait{aspect-ratio:1;border:2px solid var(--sheet-line);background:var(--portrait-bg) var(--portrait-pattern) 0 0 / 32px 32px;width:120px;image-rendering:pixelated;border-radius:12px;grid-area:portrait;justify-content:center;align-items:flex-end;display:flex;overflow:hidden}.pixel-portrait{width:72%;height:auto;display:block}.sheet-name h2{font-family:var(--font-display);text-transform:uppercase;border-bottom:2px solid var(--sheet-line);padding-bottom:6px;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;line-height:1.1}.sheet-details{grid-area:details;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;display:grid}.sheet-details dd{border-bottom:1px solid var(--sheet-line);padding-bottom:4px;font-size:1.1rem;font-weight:500}.sheet-body{flex-direction:column;gap:16px;margin-top:24px;display:flex}.sheet-abilities{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:16px;display:grid}.ability{--ability-bar-bg:color-mix(in srgb, var(--ability-color) 18%, transparent);border:2px solid var(--sheet-line);background-color:var(--sheet-box);border-radius:14px;flex-direction:column;padding:16px 18px;transition:transform .2s;display:flex}.ability:hover{transform:rotate(-1.5deg)scale(1.03)}.ability-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;display:flex}.ability-name{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;font-size:.95rem}.ability-score{font-family:var(--font-display);color:var(--ability-color);white-space:nowrap;font-size:2rem;line-height:1}.ability-max{color:var(--sheet-muted);font-size:.85rem}.ability-bar{background:linear-gradient(var(--ability-color), var(--ability-color)) 0 0 / calc(var(--ability-fill) * 100%) 100% no-repeat, var(--ability-bar-bg);border-radius:999px;height:10px;margin-top:10px;animation:1s cubic-bezier(.3,.9,.4,1) .3s both ability-fill}@keyframes ability-fill{0%{background-size:0 100%,auto}}.ability-note{margin-top:12px;font-size:1rem;line-height:1.4}.sheet-side{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.sheet-box{border:2px solid var(--sheet-line);background-color:var(--sheet-box);border-radius:14px;padding:16px 18px}.sheet-box-title{font-family:var(--font-display);text-transform:uppercase;margin-bottom:10px;font-size:1.05rem;font-weight:400}.sheet-traits{flex-direction:column;gap:12px;display:flex}.sheet-traits dd{font-size:1.05rem;line-height:1.4}.sheet-quests{font-size:1.05rem;line-height:1.4;list-style:none}.sheet-quests li{border-bottom:1px dashed var(--sheet-muted);padding:6px 0}.sheet-quests li:last-child{border-bottom:none}.sheet-quests label{cursor:pointer;align-items:center;gap:10px;display:flex}.quest-mark{border:2px solid var(--sheet-line);color:#0000;border-radius:5px;flex:none;place-items:center;width:20px;height:20px;font-size:.8rem;font-weight:700;line-height:1;transition:background-color .15s,border-color .15s,transform .15s;display:grid}.sheet-quests label:has(input:checked){cursor:default}.sheet-quests label:hover input:not(:checked)+.quest-mark{transform:scale(1.1)}.sheet-quests input:focus-visible+.quest-mark{outline:2px solid var(--color-purple);outline-offset:2px}.sheet-quests label:has(input:checked){color:var(--sheet-muted)}.sheet-quests input:checked+.quest-mark{color:#fff;background-color:#3c9a5a;border-color:#3c9a5a}.sheet-quest-box{position:relative}.quest-done span{color:#fff;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;box-shadow:3px 3px 0 var(--sheet-line);background-color:#3c9a5a;border-radius:999px;padding:4px 12px;font-size:.85rem;animation:.45s cubic-bezier(.3,1.6,.5,1) both quest-pop;position:absolute;top:12px;right:14px}@keyframes quest-pop{0%{opacity:0;transform:scale(.3)rotate(-12deg)}to{transform:rotate(4deg)}}@media (width<=900px){.sheet-side{grid-template-columns:1fr}.sheet-header{grid-template-columns:1fr auto;grid-template-areas:"name portrait""details details"}}@media (width<=750px){.sheet-portrait{width:88px}.sheet-details{grid-template-columns:repeat(3,minmax(0,1fr))}.character-sheet{margin-top:48px;padding:20px}.sheet-abilities{gap:12px}}@media (width<=540px){.sheet-abilities{grid-template-columns:1fr;grid-auto-rows:auto}}@media (prefers-reduced-motion:reduce){.ability-bar,.quest-done span{animation:none}}.skills{background-color:var(--color-blue);color:var(--color-white)}.skills .section-title{margin-bottom:24px}.runner{border-radius:var(--radius-card);background-color:#00000047;max-width:1200px;margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff26}.runner-canvas{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:auto;display:block}.runner-canvas:focus-visible{outline:3px solid var(--color-yellow);outline-offset:-3px}.runner-overlay{text-align:center;background-color:#00000059;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;font-weight:500;display:flex;position:absolute;inset:0}.runner-overlay .button-primary{color:#1f2328}.runner-win{font-family:var(--font-display);text-transform:uppercase;font-size:1.5rem}.runner-win-message{font-family:var(--font-display);font-size:1.1rem}.runner-hud{z-index:1;pointer-events:none;align-items:flex-start;gap:16px;padding:14px 16px;display:flex;position:absolute;top:0;left:0;right:0}.runner-bars{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 20px;list-style:none;display:grid}.runner-bar-label{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;margin-bottom:5px;font-size:.75rem;display:flex}.runner-bar-track{background-color:#ffffff26;border-radius:999px;height:10px;overflow:hidden;box-shadow:inset 0 0 0 1px #fff3}.runner-bar-fill{border-radius:inherit;height:100%;transition:width .4s cubic-bezier(.34,1.56,.64,1)}.runner-controls{flex-shrink:0;gap:8px;display:flex}.runner-control{width:40px;height:40px;color:var(--color-white);cursor:pointer;pointer-events:auto;background-color:#00000059;border:2px solid #ffffff59;border-radius:10px;flex-shrink:0;place-items:center;padding:0;display:grid}.runner-control svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.runner-control:hover{background-color:#0000008c}.runner-control:focus-visible{outline:3px solid var(--color-yellow);outline-offset:2px}.skill-overview{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:20px;max-width:1200px;margin:24px auto 0;display:grid}.skill-table{border-collapse:collapse;border-radius:var(--radius-card);background-color:var(--color-card);width:100%;color:var(--color-text);box-shadow:var(--shadow-card);overflow:hidden}.skill-table caption{border-radius:var(--radius-card) var(--radius-card) 0 0;background-color:var(--color-card);color:var(--color-text);font-family:var(--font-display);text-align:left;text-transform:uppercase;align-items:center;gap:10px;padding:14px 18px 10px;font-size:.95rem;display:flex}.skill-swatch{border-radius:4px;flex-shrink:0;width:14px;height:14px}.skill-table td{border-top:1px solid var(--color-tag-bg);padding:8px 18px;font-weight:600}.skill-table tr:last-child td{padding-bottom:14px}@media (width<=750px){.runner-hud{gap:10px;padding:10px 12px}.runner-bars{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.runner-bar-label{font-size:.65rem}.runner-controls{flex-direction:column}.runner-control{width:34px;height:34px}.skill-overview{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;max-width:1200px;margin:24px auto 0;display:grid}}.projects{background-color:var(--color-purple)}.projects-block{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:32px;max-width:1300px;margin:0 auto;display:grid}.specific-project{flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex}.specific-project:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.specific-project .tag-list{margin-bottom:16px}.project-media{aspect-ratio:16/10;object-fit:cover;border:1px solid var(--color-media-border);background-color:#1f2a3c;border-radius:10px;width:100%;height:auto;margin-bottom:20px;display:block}.husk-cover{background:radial-gradient(circle at 70% 40%,#fff,#f1efec 70%);justify-content:center;align-items:center;gap:5cqw;display:flex;overflow:hidden;container-type:inline-size}.husk-cover-logo{border-radius:5cqw;flex:none;width:22cqw;box-shadow:0 2cqw 5cqw #ff412c4d}.husk-cover-phones{align-items:center;display:flex}.husk-cover-phones img{aspect-ratio:739/1600;background-color:#15171f;border:1.1cqw solid #15171f;border-radius:3.6cqw;flex:none;width:auto;height:44cqw;box-shadow:0 2cqw 5cqw #00000038}.husk-cover-phones img:first-child{margin-right:-5cqw;transform:rotate(-7deg)translateY(3cqw)}.husk-cover-phones img:nth-child(2){z-index:1;position:relative}.husk-cover-phones img:nth-child(3){margin-left:-5cqw;transform:rotate(7deg)translateY(3cqw)}.project-role{color:var(--color-text-muted);margin:-6px 0 12px;font-size:.9rem;font-weight:600}.project-status{color:var(--color-text-muted);margin-top:auto;font-weight:600}.project-links{flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:8px;display:flex}.project-status+.project-links{margin-top:0}.specific-project.is-clickable{cursor:pointer}.button-outline{border-color:var(--button-dark-bg);color:var(--color-text);cursor:pointer;background-color:#0000}.button-outline:hover{background-color:var(--color-tag-bg)}.button-icon{align-items:center;gap:8px;display:inline-flex}.project-links button.button{cursor:pointer}@media (width<=750px){.projects-block{grid-template-columns:1fr;gap:20px}}.almsommer-story{--story-paper:#f6f1e4;--story-ink:#1f1c19;--story-muted:#5e564c;--story-gold:#eec652;--story-line:#ddd3bf;--story-chip:#ebe3d1}:root[data-theme=dark] .almsommer-story{--story-paper:#231d33;--story-ink:#f1ecf7;--story-muted:#b4abc4;--story-line:#3d3452;--story-chip:#342b49}.deck-fan{aspect-ratio:5/4;width:min(100%,460px);position:relative}.deck-fan img{transform-origin:50% 120%;width:38%;transform:rotate(calc((var(--i) - 1.5) * 14deg));filter:drop-shadow(0 8px 12px #0000004d);animation:.6s cubic-bezier(.3,1.3,.5,1) backwards fan-in;animation-delay:calc(var(--i) * 80ms + .2s);position:absolute;bottom:0;left:31%}@keyframes fan-in{0%{opacity:0;transform:rotate(0)translateY(30px)}}.trump-hand{width:100%;max-width:560px}.trump-hand-fan{aspect-ratio:16/9;margin-top:24px;position:relative}.trump-hand-card{transform-origin:50% 100%;width:20%;transition:left .7s cubic-bezier(.65,0,.25,1),transform .7s cubic-bezier(.65,0,.25,1);position:absolute;top:8%}.trump-hand-card img{border-radius:7%/4.5%;width:100%;transition:box-shadow .5s;display:block;box-shadow:0 0 #0000,0 6px 12px #0000004d}.trump-hand-card.is-trump img{box-shadow:0 0 0 3px var(--story-gold), 0 0 18px #eec652bf, 0 6px 12px #0000004d}.trump-crown{background-color:var(--story-gold);color:#1f1c19;opacity:0;border:2px solid #1f1c19;border-radius:50%;place-items:center;width:28px;height:28px;margin-left:-14px;font-size:.95rem;line-height:1;transition:opacity .4s,transform .4s cubic-bezier(.3,1.5,.5,1);display:grid;position:absolute;top:-14px;left:50%;transform:scale(.4)}.trump-hand-card.is-trump .trump-crown{opacity:1;transition-delay:.45s;transform:scale(1)}.trump-hand-games,.story-segments{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}.trump-hand-games button,.story-segments button{font-family:var(--font-body);border:2px solid var(--story-ink);color:var(--story-ink);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:500;transition:background-color .2s,color .2s}.trump-hand-games button:hover,.story-segments button:hover{background-color:var(--story-chip)}.trump-hand-games button.is-selected,.story-segments button.is-selected{background-color:var(--story-ink);color:var(--story-paper)}.trump-hand-hint{text-align:center;min-height:3.2em;color:var(--story-muted);margin-top:10px;font-size:.9rem}.screen-pair{width:100%}.screen-pair-devices{padding-bottom:6%;padding-right:12%;position:relative}.screen-desktop{aspect-ratio:16/10;object-fit:cover;border:6px solid #1f1c19;border-radius:10px;width:100%;display:block;box-shadow:0 10px 30px #0000004d}.screen-phone{border:5px solid #1f1c19;border-radius:18px;width:26%;position:absolute;bottom:0;right:0;box-shadow:0 12px 30px #0006}.deck-grid{gap:14px;width:100%;padding-bottom:8px;display:grid}.deck-grid-row h4{color:var(--story-muted);margin-bottom:6px;font-size:.9rem;font-weight:600}.deck-grid-cards{grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;display:grid}@media (width>=900px){.deck-grid{grid-template-columns:1fr 1fr;column-gap:32px}.deck-grid-cards{grid-template-columns:repeat(6,minmax(0,1fr))}}.deck-grid-cards button{cursor:zoom-in;background:0 0;border:none;padding:0;transition:transform .2s;display:block}.deck-grid-cards button:hover{transform:translateY(-6px)scale(1.06)}.deck-grid-cards img{filter:drop-shadow(0 3px 5px #00000040);width:100%;display:block}.card-lightbox{cursor:zoom-out;background:0 0;border:none;max-width:none;max-height:none;margin:auto;padding:0;overflow:visible}.card-lightbox[open]{align-items:center;gap:clamp(4px,2vw,24px);display:flex}.card-lightbox-arrow{color:#ffffffb3;cursor:pointer;background:0 0;border:none;flex:none;place-items:center;width:40px;height:64px;padding:0;transition:color .2s,transform .2s;display:grid}.card-lightbox-arrow:hover,.card-lightbox-arrow:focus-visible{color:#fff;transform:scale(1.15)}.card-lightbox::backdrop{background-color:#0a0610cc}.card-lightbox[open] figure{animation:.3s cubic-bezier(.3,1.3,.5,1) card-zoom}@keyframes card-zoom{0%{opacity:0;transform:scale(.6)}}.card-lightbox img{filter:drop-shadow(0 16px 40px #0009);width:auto;height:min(78dvh,120vw);display:block}.card-lightbox figcaption{text-align:center;color:#fff;text-transform:capitalize;margin-top:14px;font-weight:600}.card-lightbox figcaption span{opacity:.6;margin-left:8px;font-weight:400}@media (width<=750px){.deck-fan{width:min(100%,320px)}.deck-grid-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}}@media (prefers-reduced-motion:reduce){.trump-hand-card,.trump-crown,.deck-fan img,.card-lightbox[open] figure{transition:none;animation:none}}.project-story{border-radius:var(--radius-card);background-color:var(--story-paper);width:min(1120px,100vw - 32px);max-width:none;height:min(700px,100dvh - 32px);max-height:none;color:var(--story-ink);border:none;margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 60px #00000073}.project-story::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#140e1eb3}.project-story[open]{animation:.3s ease-out story-in}@keyframes story-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}html.has-modal{overflow:hidden}.story-frame{flex-direction:column;height:100%;display:flex}.story-header{justify-content:space-between;align-items:center;padding:12px 16px 0 28px;display:flex}.story-count{font-family:var(--font-mono);color:var(--story-muted);font-size:.85rem}.story-close{border:2px solid var(--story-ink);width:40px;height:40px;color:var(--story-ink);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;transition:background-color .2s;display:grid}.story-close:hover{background-color:var(--story-chip)}.story-viewport{flex:1;min-height:0;overflow:hidden}.story-track{height:100%;transition:transform .55s cubic-bezier(.65,0,.25,1);display:flex}.story-slide{flex:0 0 100%;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:40px;padding:8px 40px 16px;display:grid;overflow-y:auto}.story-slide.is-wide{grid-template-rows:auto 1fr;grid-template-columns:1fr;align-items:start;gap:8px}.story-slide.is-wide .story-text{order:-1}.story-visual{place-items:center;min-width:0;display:grid}.story-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--story-muted);margin-bottom:4px;font-size:.8rem}.story-text h3{font-family:var(--font-display);margin-bottom:16px;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:400;line-height:1.15}.story-text p{margin-bottom:12px}.story-text .button-dark{margin-top:4px}:root[data-theme=dark] .story-text .button-dark{background-color:var(--story-ink);border-color:var(--story-ink);color:var(--story-paper)}.story-badge{background-color:var(--story-gold);color:#1f1c19;border-radius:999px;width:fit-content;margin-top:4px;padding:4px 14px;font-size:.9rem;font-weight:600;display:block}.story-try{font-weight:600}.story-shot{border-radius:12px;width:100%;box-shadow:0 10px 30px #0000004d}.story-mapping{background-color:var(--story-chip);border-radius:10px;grid-template-columns:auto 1fr;gap:2px 20px;margin:0 0 14px;padding:12px 16px;display:grid}.story-mapping dt{color:var(--story-muted)}.story-mapping dd{font-weight:600}.story-nav{border-top:1px solid var(--story-line);justify-content:center;align-items:center;gap:20px;padding:10px 16px 16px;display:flex}.story-arrow{background-color:var(--story-ink);width:44px;height:44px;color:var(--story-paper);cursor:pointer;border:none;border-radius:50%;place-items:center;padding:0;transition:transform .2s,opacity .2s;display:grid}.story-arrow:hover:not(:disabled){transform:scale(1.08)}.story-arrow:disabled{opacity:.25;cursor:default}.story-dots{gap:8px;list-style:none;display:flex}.story-dots button{border:2px solid var(--story-ink);cursor:pointer;background:0 0;border-radius:999px;width:12px;height:12px;padding:0;transition:width .3s,background-color .3s;display:block}.story-dots button.is-current{background-color:var(--story-gold);width:32px}@media (width<=750px){.project-story{border-radius:0;width:100vw;height:100dvh}.story-header{padding:10px 12px 0 16px}.story-slide{grid-template-columns:1fr;align-content:start;align-items:start;gap:20px;padding:4px 16px 16px}.story-nav{gap:12px}}@media (prefers-reduced-motion:reduce){.story-track,.project-story[open]{transition:none;animation:none}}.husk-story{--story-paper:#fafafa;--story-ink:#1f2328;--story-muted:#5b6370;--story-gold:#ff412c;--story-line:#e3e5e8;--story-chip:#f0f1f3}:root[data-theme=dark] .husk-story{--story-paper:#0f111d;--story-ink:#eef0f8;--story-muted:#a3a8c3;--story-gold:#7b68ee;--story-line:#262a40;--story-chip:#1b1e30}.husk-story .story-badge{color:#fff}.husk-credit{color:var(--story-muted);font-size:.85rem}.husk-caption{text-align:center;color:var(--story-muted);margin-top:14px;font-size:.9rem}.husk-phone{aspect-ratio:739/1600;background-color:#15171f;border:7px solid #15171f;border-radius:28px;width:auto;height:min(500px,62dvh);display:block;box-shadow:0 14px 34px #00000047}.husk-phones{justify-content:center;gap:20px;display:flex}.husk-phones .husk-phone{height:min(460px,56dvh)}.husk-phones.is-trio{gap:0}.husk-phones.is-trio .husk-phone{height:min(420px,50dvh)}.husk-phones.is-trio .husk-phone:first-child{transform:rotate(-6deg)translate(24px,14px)}.husk-phones.is-trio .husk-phone:nth-child(2){z-index:1;position:relative}.husk-phones.is-trio .husk-phone:nth-child(3){transform:rotate(6deg)translate(-24px,14px)}.husk-flip-wrap{justify-items:center;display:grid}.husk-flip{cursor:pointer;perspective:1400px;background:0 0;border:none;border-radius:28px;padding:0;display:grid}.husk-flip .husk-phone{backface-visibility:hidden;grid-area:1/1;transition:transform .8s cubic-bezier(.65,0,.25,1)}.husk-flip-back{transform:rotateY(180deg)}.husk-flip.is-flipped .husk-flip-front{transform:rotateY(-180deg)}.husk-flip.is-flipped .husk-flip-back{transform:rotateY(0)}.husk-course{width:100%;max-width:460px}.husk-level{background-color:var(--story-chip);opacity:.45;border-radius:16px;grid-template-columns:48px 1fr 64px;align-items:center;gap:14px;margin-bottom:10px;padding:14px 16px;transition:opacity .5s;display:grid}.husk-level.is-open{opacity:1}.husk-level-name{font-family:var(--font-display);font-size:1.3rem}.husk-level-state{color:var(--story-muted);text-align:right;font-size:.85rem}.husk-lessons{grid-template-columns:repeat(10,1fr);gap:6px;display:grid}.husk-lessons span{aspect-ratio:1;border:2px solid var(--story-gold);border-radius:50%;transition:background-color .3s,transform .3s}.husk-lessons span.is-done{background-color:var(--story-gold);transform:scale(1.1)}.husk-directions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:22px;display:flex}.husk-directions span:not(.husk-directions-arrow){background-color:var(--story-gold);color:#fff;border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:600}.husk-directions-arrow{color:var(--story-muted);font-size:.85rem}@media (width<=750px){.husk-phone{height:min(420px,52dvh)}.husk-phones .husk-phone{width:calc(50% - 8px);height:auto}.husk-phones{gap:12px}.husk-phones.is-trio .husk-phone{width:33%}}@media (prefers-reduced-motion:reduce){.husk-flip .husk-phone,.husk-level,.husk-lessons span{transition:none}}.contact{text-align:center;background-color:var(--color-rust);color:var(--color-white);min-height:calc(100vh - var(--navbar-height));flex-direction:column;align-items:center;padding-bottom:40px;display:flex}.contact .section-title{margin-bottom:16px}.contact-content{flex-direction:column;align-items:center;margin:auto 0;display:flex}.contact-tagline{font-family:var(--font-scribble);text-transform:uppercase;font-size:clamp(2.5rem,8vw,4.5rem);line-height:1.1}.contact-text{margin-top:16px;font-size:1.15rem}.contact-ways{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:32px;display:flex}.contact-ways .button-primary{color:var(--color-rust)}.contact-footer{opacity:.85;padding-top:64px;font-size:.9rem}.contact-footer a{text-underline-offset:3px;text-decoration:underline}.contact-footer a:hover{color:var(--color-yellow)}@media (width<=750px){.contact-ways{flex-direction:column;width:100%;max-width:320px}.contact-footer{padding-top:48px}}:root{--navbar-height:70px;--color-white:#fff;--color-yellow:#e7df03;--color-green:#2e653d;--color-blue:#335f7a;--color-purple:#3f3370;--color-rust:#d55747;--color-text:#1f2328;--color-text-muted:#57606a;--color-card:#fff;--color-tag-bg:#eef1f3;--color-media-border:#ddd;--button-dark-bg:#1f2328;--button-dark-text:#fff;--font-body:"Rubik", sans-serif;--font-display:"Rubik One", sans-serif;--font-scribble:"Rubik Scribble", sans-serif;--font-mono:"DM Mono", monospace;--content-width:1200px;--radius-card:16px;--shadow-card:0 6px 20px #0000002e;--shadow-card-hover:0 12px 28px #00000042}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-green:#173322;--color-blue:#172b3b;--color-purple:#2a1b3a;--color-rust:#4a1d18;--color-text:#ebe6f3;--color-text-muted:#a9a2b8;--color-card:#211b31;--color-tag-bg:#332a4a;--color-media-border:#3a3350;--button-dark-bg:#ebe6f3;--button-dark-text:#1d1830;--shadow-card:0 6px 20px #00000073;--shadow-card-hover:0 12px 28px #0000008c}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--navbar-height)}body{font-family:var(--font-body);color:var(--color-text);line-height:1.6}main{width:100%}section{padding:20px 5% 96px;transition:background-color .4s}h1,h2,h3{text-wrap:balance}p,li,dd{text-wrap:pretty}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--color-yellow);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-title{font-family:var(--font-display);text-transform:uppercase;color:var(--color-white);margin-bottom:32px;font-size:clamp(2.25rem,6vw,3.5rem);font-weight:400;line-height:1.1}.card{background-color:var(--color-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:28px;transition:background-color .4s,color .4s}.card h3{text-transform:uppercase;margin-bottom:12px;font-size:1.15rem;font-weight:600}.card p{margin-bottom:14px}.tag-list{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.tag-list li{background-color:var(--color-tag-bg);color:var(--color-text);border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:500}.button{font-family:var(--font-body);border:2px solid;border-radius:999px;padding:12px 24px;font-size:1rem;font-weight:600;transition:background-color .2s,color .2s,transform .2s;display:inline-block}.button:hover{transform:translateY(-2px)}.button-primary{background-color:var(--color-white);border-color:var(--color-white);color:var(--color-green)}.button-primary:hover{background-color:var(--color-yellow);border-color:var(--color-yellow)}.button-secondary{color:var(--color-white)}.button-secondary:hover{background-color:#ffffff26}.button-dark{background-color:var(--button-dark-bg);border-color:var(--button-dark-bg);color:var(--button-dark-text)}.button-dark:hover{background-color:var(--color-purple);border-color:var(--color-purple);color:var(--color-white)}@media (width<=750px){section{padding:24px 6% 64px}.section-title{margin-bottom:28px}.card{padding:22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
