:root{--ink: #2A2F3A;--paper: #F8F8F4;--grass-1: #E6EFD6;--grass-2: #DFEACB;--emerald: #1F7A50;--emerald-hi: #6FC596;--mint: #CDEBD9;--mint-text: #E3F2E9;--sky: #4E9BC8;--red: #E0533D;--gem-green: #48C774;--gem-gold: #F2C14E;--gem-blue: #7FB2F0;--muted: #4A5260;--muted-2: #6A7280;--body-2: #3E4552;--dash: #CAD5C3;--route: #9FB59A;--tile: #DDE6D2;--hover-fill: #EAF3E3;--hp-track: #3A3F4B;--wood: #C9A66B;--wood-hi: #E7CFA0;--post: #8B6A3A;--font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-pixel: "Press Start 2P", monospace;--font-sign: "Allura", cursive;--radius: 14px;--shadow: 8px 8px 0 var(--ink)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;color:var(--ink);font-family:var(--font-ui);background-color:var(--grass-1);background-image:repeating-conic-gradient(var(--grass-2) 0% 25%,var(--grass-1) 0% 50%);background-size:32px 32px}#root{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit}.pixel{font-family:var(--font-pixel);font-weight:400}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:4px solid var(--sky);outline-offset:3px}.wrap{width:100%;max-width:1400px;margin:0 auto;padding:0 32px}main.wrap{flex:1;padding-top:48px;padding-bottom:52px;display:flex;flex-direction:column;gap:26px}@media(min-width:1600px){.wrap{max-width:min(92vw,1920px)}main.wrap{justify-content:center}.bento{min-height:clamp(620px,58vh,860px)}}.frame{--frame-line: var(--emerald);border:4px solid var(--ink);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow),inset 0 0 0 4px var(--paper),inset 0 0 0 7px var(--frame-line)}.frame--sky{--frame-line: var(--sky)}.frame--wood{--frame-line: var(--wood)}.panel-green{border:4px solid var(--ink);border-radius:var(--radius);background-color:var(--emerald);background-image:radial-gradient(rgba(255,255,255,.08) 1.5px,transparent 1.5px);background-size:10px 10px;box-shadow:var(--shadow),inset 0 0 0 4px var(--emerald-hi);color:var(--paper)}.dialog{position:relative;border:4px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 7px var(--sky);color:var(--ink)}.prompt{position:absolute;right:20px;bottom:12px;color:var(--red);font-size:16px;animation:nudge .8s steps(2) infinite}.card{animation:pop .6s steps(6) both;transition:transform .12s steps(2),box-shadow .12s steps(2)}a.card:hover,a.card:focus-visible{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--ink),inset 0 0 0 4px var(--paper),inset 0 0 0 7px var(--frame-line)}a.card:active{transform:translate(6px,6px);box-shadow:0 0 0 var(--ink),inset 0 0 0 4px var(--paper),inset 0 0 0 7px var(--frame-line)}.cur{color:var(--red);opacity:0;flex:none}a.card:hover .cur,a.card:focus-visible .cur,.is-selected>.cur{opacity:1;animation:blink .6s steps(1) infinite}.chip{align-self:flex-start;padding:7px 10px;border:3px solid var(--ink);border-radius:6px;font-family:var(--font-pixel);font-size:10px;line-height:1.3}.chip--green{background:var(--mint);color:#1a4a33}.chip--gold{background:#fbe3a4;color:#6a4a10}.chip--blue{background:#d7e4fa;color:#23406e}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border:4px solid var(--ink);border-radius:10px;background:var(--paper);box-shadow:5px 5px 0 var(--ink);font-family:var(--font-pixel);font-size:12px;line-height:1.4;cursor:pointer;transition:transform .1s steps(2),box-shadow .1s steps(2)}.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.btn--green{background:var(--emerald);color:var(--paper)}.abtn{flex:none;width:56px;height:56px;border:4px solid var(--ink);border-radius:10px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:20px;transition:background .12s steps(2)}a.card:hover .abtn{background:var(--emerald)}.hp{display:flex;flex-direction:column;gap:6px}.hp__label{display:flex;justify-content:space-between;font-family:var(--font-pixel);font-size:10px}.hp__track{height:14px;padding:2px;border:3px solid var(--ink);border-radius:6px;background:var(--hp-track);box-sizing:content-box}.hp__fill{height:14px;border-radius:3px;box-shadow:inset 0 4px #ffffff59;animation:fill 1.6s steps(12) both}.gem{flex:none;width:20px;height:20px;margin:0 4px;transform:rotate(45deg);border:3px solid var(--ink);box-shadow:inset 3px 3px #ffffff73;animation:gem 3s steps(3) infinite}.gem--green{background:var(--gem-green)}.gem--gold{background:var(--gem-gold);animation-delay:1s}.gem--blue{background:var(--gem-blue);animation-delay:2s}.avatar{border:4px solid var(--ink);border-radius:10px;background:var(--paper);box-shadow:inset 0 0 0 4px var(--mint),5px 5px 0 var(--ink);padding:8px}.avatar img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated;animation:bob 1.2s steps(2) infinite}.slab{width:70px;height:112px;border:3px solid var(--ink);border-radius:6px;background:var(--paper);padding:5px;display:flex;flex-direction:column;gap:5px;box-shadow:3px 3px 0 var(--ink);animation:float 3s steps(4) infinite}.slab__label{height:14px;background:var(--tile)}.slab__holo{flex:1;border-radius:3px;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%),conic-gradient(from 200deg,#6fe3b0,#8ab6ff,#f2c46d,#e58bd8,#6fe3b0);background-size:250% 100%,100% 100%;animation:sheen 2.6s steps(10) infinite}.site-header{position:relative;z-index:5;background:var(--paper);border-bottom:4px solid var(--ink)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px}.logo{padding:6px 18px 8px;border:4px solid var(--ink);border-radius:10px;background:var(--paper);box-shadow:5px 5px 0 var(--ink);font-weight:700;font-size:30px;line-height:1;transition:transform .1s steps(2),box-shadow .1s steps(2)}.logo:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.nav{display:flex;align-items:center;gap:22px;font-size:20px;font-weight:600}.nav__link{display:flex;align-items:center;gap:6px}.nav__link .cur{font-size:14px}.nav__link[aria-current=page] .cur,.nav__link:hover .cur{opacity:1}.nav-toggle{display:none;width:48px;height:48px;border:3px solid var(--ink);border-radius:8px;background:var(--emerald);box-shadow:4px 4px 0 var(--ink);flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}.nav-toggle span{width:20px;height:3px;background:var(--paper)}.ticker{background:var(--ink);color:var(--paper);overflow:hidden;padding:12px 0}.ticker__track{display:flex;width:max-content;animation:marquee 40s linear infinite;font-family:var(--font-pixel);font-size:11px}.ticker__group{display:flex;gap:34px;padding-right:34px}.ticker .g{color:var(--gem-green)}.ticker .y{color:var(--gem-gold)}.ticker .b{color:var(--gem-blue)}.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(268px,auto));gap:26px}.bento__hero{grid-column:1 / 3;grid-row:1 / 3}.flip{position:relative;perspective:2000px;display:flex;animation:pop .6s steps(6) both}.flip__inner{flex:1;display:grid;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.3,.7,.2,1)}.flip.is-flipped .flip__inner{transform:rotateY(180deg)}.flip__hit{position:absolute;inset:0;z-index:2;margin:0;padding:0;border:0;border-radius:var(--radius);background:transparent;cursor:pointer}.flip__hit:focus-visible{outline-offset:6px}.face{grid-area:1 / 1;min-width:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:28px;display:flex;flex-direction:column;gap:18px;transition:box-shadow .12s steps(2)}.face--back{transform:rotateY(180deg)}.flip:hover .face{box-shadow:5px 5px 0 var(--ink),inset 0 0 0 4px var(--emerald-hi)}.face__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-family:var(--font-pixel);font-size:12px;color:var(--mint)}.blink{animation:blink 1.2s steps(1) infinite}.face__id{display:flex;flex-wrap:wrap;align-items:center;gap:26px}.face__id .avatar{flex:none;width:210px;height:210px;padding:10px;box-shadow:inset 0 0 0 4px var(--mint),6px 6px 0 var(--ink)}.face__intro{flex:1 1 260px;display:flex;flex-direction:column;gap:14px}.face__name{font-size:clamp(34px,3.4vw,50px);font-weight:700;line-height:1.02;letter-spacing:-.01em}.loc{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:3px solid var(--ink);border-radius:6px;background:var(--mint);color:#1a4a33;font-size:19px;font-weight:700}.face__desc{margin:0;font-size:19px;line-height:1.45;color:var(--mint-text)}.greeting{flex:1;min-height:130px;padding:22px 26px;display:flex;flex-direction:column;justify-content:center;gap:12px;font-family:var(--font-pixel);font-size:clamp(14px,1.45vw,22px);line-height:1.6}.typed{display:block;overflow:hidden;white-space:nowrap;width:16ch;animation:type 1.4s steps(16) .6s both}.greeting__sub{display:block;max-width:92%;font-size:.6em;line-height:1.9;color:var(--muted);animation:pop .5s steps(4) 2.1s both}.back__id{display:flex;flex-wrap:wrap;align-items:stretch;gap:24px}.back__id .avatar{flex:none;width:176px;height:176px}.stats{flex:1 1 260px;display:flex;flex-direction:column;justify-content:space-between;font-size:21px}.stats__row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:3px dashed rgba(248,248,244,.35)}.stats__row:last-child{border-bottom:0}.stats__row dt{color:var(--mint)}.stats__row dd{margin:0;font-weight:700;text-align:right}.roller{display:block;height:1.4em;line-height:1.4em;overflow:hidden}.roller__list{display:block;animation:roles 12s steps(1) 1.5s infinite}.roller__list span{display:block}.badges{display:flex;flex-direction:column;gap:8px}.badges__title{font-family:var(--font-pixel);font-size:11px;color:var(--mint)}.badges__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.badge{border:3px solid var(--ink);border-radius:8px;background:#00000038;padding:12px;display:flex;flex-direction:column;text-align:center;align-items:center;gap:12px}.badge strong{display:block;font-size:22px;line-height:1}.badge small{display:block;margin-top:6px;font-size:15px;line-height:1.4;color:var(--mint)}.signature{flex:1;min-height:110px;padding:16px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:6px}.signature__label{font-family:var(--font-pixel);font-size:10px;color:var(--muted-2)}.signature__name{font-family:var(--font-sign);font-weight:400;font-size:46px;line-height:1.15}.signature__hint{align-self:flex-end;font-family:var(--font-pixel);font-size:10px;color:var(--red)}.project{padding:26px;display:flex;flex-direction:column;gap:14px}.project__title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:30px;line-height:1.1}.project__title .cur{font-size:20px}.project__desc{font-size:17px;line-height:1.35;color:var(--muted)}.project__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.project .hp{margin-top:auto}.store-tiles{display:grid;grid-template-columns:repeat(3,18px);gap:5px}.store-tiles i{height:18px;border:3px solid var(--ink);background:var(--tile);animation:light 3.6s steps(2) infinite}.store-tiles i:nth-child(2){animation-delay:.6s}.store-tiles i:nth-child(3){animation-delay:1.2s}.store-tiles i:nth-child(4){animation-delay:1.8s}.store-tiles i:nth-child(5){animation-delay:2.4s}.store-tiles i:nth-child(6){animation-delay:3s}.stair path{stroke-dasharray:400;animation:line 2s steps(10) .9s both}.project--x{flex-direction:row;align-items:center;justify-content:flex-start;gap:18px}.x-logo{flex:none;width:56px;height:56px;border:4px solid var(--ink);border-radius:10px;background:var(--ink);box-shadow:4px 4px 0 var(--emerald);display:flex;align-items:center;justify-content:center}.x-logo svg{width:28px;height:28px}.x-text{display:flex;flex-direction:column;gap:6px;min-width:0}.x-handle{font-family:var(--font-pixel);font-size:14px;line-height:1.5}.x-description{font-size:16px;color:var(--muted)}@media(min-width:1600px){.project--x{justify-content:center;gap:clamp(18px,1.2vw,26px)}.x-logo{width:clamp(72px,4vw,96px);height:clamp(72px,4vw,96px)}.x-logo svg{width:55%;height:55%}.x-handle{font-size:clamp(16px,1vw,22px)}.x-description{font-size:clamp(18px,1vw,22px)}.x-text{gap:10px}}.deeper{padding:30px 40px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.deeper__text{display:flex;flex-direction:column;gap:16px;min-width:0;flex:1}.deeper__label{align-self:flex-start;padding:8px 12px;border:3px solid var(--ink);border-radius:6px;background:var(--emerald);color:var(--paper);font-family:var(--font-pixel);font-size:11px}.deeper__line{display:flex;align-items:center;gap:12px;font-family:var(--font-pixel);font-size:clamp(14px,1.9vw,28px);line-height:1.5}.abtn--big{width:84px;height:84px;border-radius:14px;font-family:var(--font-pixel);font-size:26px}.about-hero{padding:32px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px}.about-hero .avatar{width:190px;height:190px;padding:10px}.about-hero__body{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}.eyebrow{font-family:var(--font-pixel);font-size:12px;color:var(--mint)}.about-hero h1{margin:0;font-family:var(--font-pixel);font-weight:400;font-size:clamp(22px,2.4vw,34px);line-height:1.35}.pager{padding:26px 30px 20px;min-height:230px;display:flex;flex-direction:column;gap:18px}.pager__text{margin:0;font-size:21px;line-height:1.6}.pager__text[hidden]{display:none}.pager__text.is-entering{animation:pop .35s steps(3) both}.pager__foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.pager__dots{display:flex;align-items:center;gap:8px}.pager__dot{width:12px;height:12px;padding:0;border:3px solid var(--ink);border-radius:2px;background:var(--tile);box-sizing:content-box;cursor:pointer}.pager__dot[aria-current=true]{background:var(--red)}.pager__count{margin-left:6px;font-family:var(--font-pixel);font-size:11px;color:var(--muted-2)}.pager__btns{display:flex;gap:10px}.pager__btn{padding:10px 14px;border:3px solid var(--ink);border-radius:8px;background:var(--paper);font-family:var(--font-pixel);font-size:13px;cursor:pointer}.pager__btn--next{background:var(--ink);color:var(--paper)}.pager__btn:disabled{opacity:.4;cursor:default}.about-cols{display:flex;flex-wrap:wrap;gap:28px;align-items:stretch}.journey{flex:999 1 560px;min-width:0;padding:34px;display:flex;flex-direction:column;gap:6px}.section-title{margin:0 0 18px;font-family:var(--font-pixel);font-weight:400;font-size:18px}.stop{display:flex;gap:22px}.stop__rail{flex:none;width:28px;display:flex;flex-direction:column;align-items:center}.stop__marker{width:22px;height:22px;border:4px solid var(--ink);border-radius:4px;background:var(--tile)}.stop__marker--here{background:var(--gem-green);animation:bob 1s steps(2) infinite}.stop__marker--gold{background:var(--gem-gold)}.stop__marker--blue{background:var(--gem-blue)}.stop__line{flex:1;width:0;border-left:4px dashed var(--route)}.stop__body{padding-bottom:24px;display:flex;flex-direction:column;gap:5px}.stop:last-child .stop__body{padding-bottom:0}.stop__tag{font-size:15px;font-weight:700;letter-spacing:.08em;color:var(--muted-2)}.stop__tag--here{color:var(--emerald)}.stop__tag--gold{color:#8a6a1e}.stop__tag--blue{color:#23406e}.stop__title{font-size:25px;font-weight:700}.stop__desc{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px;line-height:1.65;color:var(--ink)}.side{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:28px}.side .frame{padding:28px;display:flex;flex-direction:column;gap:16px}.side .section-title{margin:0;font-size:16px}.moves{container-type:inline-size;container-name:moves;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;border:4px solid var(--ink);border-radius:10px;overflow:hidden;background:var(--ink)}.move{min-width:0;-webkit-hyphens:none;hyphens:none;margin:0;padding:16px 8px;border:0;background:var(--paper);display:flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:clamp(12px,4.4cqi,19px);font-weight:700;line-height:1.3;text-align:left;cursor:pointer}.move .cur{font-size:10px}.move__label{min-width:0;overflow-wrap:anywhere}@container moves (max-width: 260px){.move{grid-column:1 / -1;font-size:14px}}.move.is-selected{background:var(--hover-fill)}.move.is-selected .cur{opacity:1}.move-info{padding:16px 18px;display:flex;flex-direction:column;gap:10px}.move-info__meta{display:flex;justify-content:space-between;gap:10px;font-size:17px;font-weight:700;letter-spacing:.06em}.move-info__desc{font-size:17px;line-height:1.5;color:var(--body-2)}.bag-item{padding:12px 0;border-bottom:3px dashed var(--dash);display:flex;flex-direction:column;gap:4px}.bag-item:last-child{border-bottom:0}.bag-item b{font-size:20px;font-weight:600}.bag-item span{font-size:16px;line-height:1.4;color:var(--muted)}.socials{display:flex;gap:14px}.social{flex:1;height:64px;border:4px solid var(--ink);border-radius:10px;background:var(--ink);box-shadow:5px 5px 0 var(--emerald);display:flex;align-items:center;justify-content:center;transition:transform .1s steps(2),box-shadow .1s steps(2)}.social:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--emerald)}.album{--frame-line: #E58BD8;padding:28px 30px;display:flex;flex-direction:column;gap:18px}.album__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.album__handle{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700}.album__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.album__tile{aspect-ratio:1 / 1;border:4px solid var(--ink);border-radius:8px;overflow:hidden;background-color:var(--tile);background-image:repeating-linear-gradient(45deg,rgba(42,47,58,.05) 0 8px,transparent 8px 16px);box-shadow:5px 5px 0 var(--ink);transition:transform .1s steps(2),box-shadow .1s steps(2)}.album__tile:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.album__tile img{width:100%;height:100%;object-fit:cover}.contact{flex-direction:row!important;flex-wrap:wrap;align-items:flex-start}.contact-form{flex:999 1 600px;min-width:0;padding:36px;display:flex;flex-direction:column;gap:24px;animation:pop .6s steps(6) both}.contact-form h1{margin:0;width:15ch;overflow:hidden;white-space:nowrap;font-family:var(--font-pixel);font-weight:400;font-size:clamp(18px,2vw,28px);line-height:1.5;animation:type 1.2s steps(15) .4s both}.contact-form .lede{margin:-12px 0 0;font-family:var(--font-pixel);font-size:13px;line-height:1.8;color:var(--muted)}.reasons{margin:0;padding:0;border:4px solid var(--ink);border-radius:10px;overflow:hidden;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;background:var(--ink)}.reason{position:relative;padding:18px 16px;background:var(--paper);display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;cursor:pointer}.reason input{position:absolute;opacity:0;pointer-events:none}.reason .cur{font-size:14px}.reason:hover,.reason.is-selected{background:var(--hover-fill)}.reason.is-selected .cur{opacity:1;animation:blink .6s steps(1) infinite}.reason:focus-within{outline:4px solid var(--sky);outline-offset:-6px}.fields{display:flex;flex-wrap:wrap;gap:18px}.field{flex:1 1 240px;display:flex;flex-direction:column;gap:8px;font-family:var(--font-pixel);font-size:11px}.field input,.field textarea{padding:14px 16px;border:4px solid var(--ink);border-radius:8px;background:#fff;font-family:var(--font-ui);font-size:20px;color:var(--ink)}.field textarea{resize:vertical}.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;font-size:17px;color:var(--muted)}.form-status{font-size:17px}.contact-side{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:28px}.home-base{padding:28px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;animation:pop .6s steps(6) .12s both}.sign{display:flex;flex-direction:column;align-items:center;transform-origin:bottom center;animation:sway 3s steps(4) infinite}.sign__board{padding:12px 20px;border:4px solid var(--ink);border-radius:6px;background:var(--wood);box-shadow:inset 0 0 0 3px var(--wood-hi),4px 4px 0 var(--ink);font-family:var(--font-pixel);font-size:13px}.sign__post{width:12px;height:26px;border:4px solid var(--ink);border-top:0;background:var(--post)}.home-base p{margin:0;font-size:20px;line-height:1.5;color:var(--mint-text)}.find-me{padding:28px;display:flex;flex-direction:column;gap:6px}.find-me a{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:3px dashed var(--dash);font-size:21px;font-weight:600;transition:transform .1s steps(2)}.find-me a:last-child{border-bottom:0}.find-me a:hover{transform:translate(4px)}.find-me a:hover .cur{opacity:1}.find-me a>span{display:flex;align-items:center;gap:8px}.find-me small{font-size:17px;color:var(--muted-2);font-weight:400}@keyframes pop{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes type{0%{width:0}}@keyframes blink{50%{opacity:0}}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes roles{0%,18%{transform:translateY(0)}25%,43%{transform:translateY(-1.4em)}50%,68%{transform:translateY(-2.8em)}75%,93%{transform:translateY(-4.2em)}to{transform:translateY(-5.6em)}}@keyframes gem{0%,70%,to{filter:brightness(1)}80%{filter:brightness(1.6)}}@keyframes fill{0%{width:0}}@keyframes light{0%,to{background:var(--tile)}40%,60%{background:var(--gem-green)}}@keyframes line{0%{stroke-dashoffset:400}to{stroke-dashoffset:0}}@keyframes float{0%,to{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-6px)}}@keyframes sheen{0%{background-position:-120% 0,0 0}to{background-position:220% 0,0 0}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@media(max-width:980px){.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.bento__hero{grid-column:1 / 3;grid-row:auto}}@media(max-width:720px){.wrap{padding:0 16px}main.wrap{padding-top:24px;padding-bottom:32px;gap:20px}.logo{font-size:22px;padding:4px 12px 6px;border-width:3px;box-shadow:4px 4px 0 var(--ink)}.nav-toggle{display:flex}.nav{display:none;position:absolute;top:100%;right:16px;left:16px;margin-top:8px;padding:12px;flex-direction:column;align-items:stretch;gap:4px;border:4px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:6px 6px 0 var(--ink)}.nav.is-open{display:flex}.nav__link{padding:12px 8px}.nav .btn{margin-top:6px}.bento{grid-template-columns:minmax(0,1fr);gap:20px}.bento__hero{grid-column:auto}.face{padding:18px;gap:16px}.flip{perspective:none}.flip .flip__inner,.flip.is-flipped .flip__inner{transform:none;transform-style:flat;transition:none}.flip .face{transform:none;position:relative;inset:auto}.flip .face[aria-hidden=true]{display:none}.flip .face[aria-hidden=false]{animation:mobile-card-reveal .3s ease-out both}.face__top{font-size:9px}.face__id{flex-direction:column;text-align:center;gap:12px}.face__id .avatar{width:150px;height:150px}.face__intro{flex-basis:auto;align-items:center}.loc{align-self:center;font-size:16px}.face__desc{font-size:17px}.greeting{flex:none;min-height:0;padding:16px 18px 24px;font-size:14px}.greeting__sub{font-size:9px}.back__id .avatar{width:100px;height:100px;padding:6px}.stats{font-size:16px}.badges__grid{grid-template-columns:minmax(0,1fr);gap:8px}.badge{flex-direction:row;text-align:left;padding:10px 12px;gap:12px}.badge strong{font-size:18px}.badge small{font-size:13px}.signature__name{font-size:36px}.project{padding:18px}.project__title{font-size:26px}.deeper{padding:18px}.deeper__line{font-size:clamp(10px,3vw,13px);min-height:44px}.abtn--big{width:44px;height:44px;font-size:16px;border-radius:10px}.about-hero{padding:20px;gap:14px}.about-hero .avatar{width:76px;height:76px;padding:5px}.about-hero h1{font-size:19px}.pager{padding:18px 18px 14px}.pager__text{font-size:17px}.pager__btn{font-size:10px}.journey{padding:20px}.section-title{font-size:13px}.stop{gap:14px}.stop__title{font-size:20px}.stop__desc{font-size:16px}.move{padding-block:13px}.contact-form{padding:20px}.reasons{grid-template-columns:minmax(0,1fr)}.ticker__track{font-size:9px}.album{padding:20px}.album__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.album__handle{font-size:16px}}@keyframes mobile-card-reveal{0%{transform:scaleX(.12);opacity:.5}to{transform:scaleX(1);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.typed,.contact-form h1{width:auto}}.home-base .btn{color:var(--ink)}
