.wrap{width:100%;max-width:1180px;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));margin-inline:auto}.nav{top:env(safe-area-inset-top,0px);z-index:40;padding-block:14px;position:sticky}.site-shell:before{content:"";height:env(safe-area-inset-top,0px);z-index:41;background:var(--bg);position:fixed;inset:0 0 auto}.nav-in{background:color-mix(in oklab,var(--surface) 78%,transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:14px;padding:8px 8px 8px 16px;display:flex}.logo{letter-spacing:-.02em;white-space:nowrap;font-weight:650;text-decoration:none}.status{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.status i{background:var(--good);border-radius:50%;width:8px;height:8px;animation:2s infinite ping}.status.off i{background:var(--muted);animation:none}@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--good) 60%,transparent)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.nav-links{gap:2px;margin-left:auto;display:flex}.nav-links a{color:var(--muted);border-radius:999px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:color .25s,background .25s}.nav-links a:hover{color:var(--fg);background:var(--surface-2)}.icon-btn{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--fg);cursor:pointer;transition:transform .5s var(--spring);border-radius:50%;flex:none;place-items:center;display:grid}.icon-btn:hover{transform:rotate(20deg)scale(1.06)}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:18px;height:18px}.sun{display:none}:root[data-theme=dark] .sun{display:block}:root[data-theme=dark] .moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sun{display:block}:root:not([data-theme=light]) .moon{display:none}}.bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"intro intro clock stack""intro intro build stack""activity activity stats cta";grid-auto-rows:minmax(190px,auto);gap:14px;padding-block:14px 30px;display:grid}.bento.no-activity{grid-template-areas:"intro intro clock stack""intro intro build stack""stats stats cta cta"}.tile{isolation:isolate;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0;animation:pop .8s var(--ease) both;animation-delay:calc(var(--i,0) * 70ms);transition:translate .6s var(--spring),border-color .3s;padding:22px;position:relative;overflow:hidden}@keyframes pop{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:none}}.tile:before{content:"";border-radius:inherit;background:radial-gradient(260px circle at var(--mx,-100px) var(--my,-100px),var(--accent),transparent 70%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;z-index:2;padding:1px;transition:opacity .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tile:hover:before{opacity:1}@media (hover:hover){.tile.lift:hover{translate:0 -4px}}.t-label{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px;display:flex}.intro{flex-direction:column;grid-area:intro;gap:18px;padding:28px;display:flex}@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}.avatar{width:76px;height:76px;font:700 24px/1 var(--display);letter-spacing:-.03em;background:var(--surface-2);border-radius:50%;place-items:center;display:grid;position:relative}.avatar:before{content:"";background:conic-gradient(from var(--spin),var(--accent),transparent 40%,var(--accent) 70%,transparent);z-index:-1;border-radius:50%;animation:6s linear infinite spin;position:absolute;inset:-4px}.avatar:after{content:"";background:var(--surface);z-index:-1;border-radius:50%;position:absolute;inset:-1px}@keyframes spin{to{--spin:360deg}}.intro h1{font:600 clamp(36px,4.6vw,62px)/1.02 var(--display);letter-spacing:-.045em;text-wrap:balance;margin:auto 0 0}.intro h1 span{color:var(--muted)}.intro p{color:var(--muted);max-width:46ch;margin:0;font-size:17px}.row{flex-wrap:wrap;gap:10px;display:flex}.btn{height:46px;font:550 15px/1 var(--display);border:1px solid var(--line);background:var(--surface-2);color:var(--fg);cursor:pointer;transition:transform .5s var(--spring),background .25s,opacity .25s;border-radius:999px;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)scale(1.03)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:progress;transform:none}.btn-main{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn .ar{transition:transform .5s var(--spring)}.btn:hover .ar{transform:translate(3px)}.clock{flex-direction:column;grid-area:clock;display:flex}.dial{aspect-ratio:1;width:100%;max-width:120px;margin:0 auto;display:block}.dial .face{fill:var(--surface-2);stroke:var(--line)}.dial .tick{stroke:var(--muted);stroke-width:1.5px;stroke-linecap:round}.dial .h,.dial .m{stroke:var(--fg);stroke-linecap:round}.dial .h{stroke-width:4px}.dial .m{stroke-width:2.6px}.dial .s{stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round}.dial .hub{fill:var(--accent)}.digits{justify-content:space-between;align-items:baseline;gap:8px;margin-top:auto;display:flex}.digits b{font:600 22px/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.digits span{color:var(--muted)}.stack{flex-direction:column;grid-area:stack;display:flex}.orbit{flex:1;place-items:center;min-height:260px;display:grid;position:relative;container-type:size}.orbit .core{background:var(--fg);width:62px;height:62px;color:var(--bg);letter-spacing:-.03em;z-index:2;border-radius:50%;place-items:center;font-weight:700;display:grid}.ring{aspect-ratio:1;border:1px dashed color-mix(in oklab,var(--muted) 45%,transparent);border-radius:50%;animation:linear infinite rot;position:absolute}.ring.r1{--d:28cqmin;width:56cqmin;animation-duration:22s}.ring.r2{--d:46cqmin;width:92cqmin;animation-duration:34s;animation-direction:reverse}.ring>span{transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) rotate(calc(var(--a) * -1));position:absolute;top:50%;left:50%}.ring>span b{font:500 11px/1 var(--mono);background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:5px 8px;animation:22s linear infinite reverse rot;display:block;translate:-50% -50%}.ring.r2>span b{animation-duration:34s;animation-direction:normal}@keyframes rot{to{transform:rotate(360deg)}}.build{flex-direction:column;grid-area:build;display:flex}.now{font:550 20px/1.25 var(--display);letter-spacing:-.02em;min-height:2.5em;margin:auto 0 0}.now em{background:linear-gradient(transparent 62%,color-mix(in oklab,var(--accent) 55%,transparent) 0);font-style:normal}.caret{background:var(--accent);vertical-align:-.12em;width:2px;height:1em;margin-left:2px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.activity{flex-direction:column;grid-area:activity;display:flex}.act{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:18px;display:flex}.act-sum{gap:4px;max-width:20ch;display:grid}.act-sum b{font:600 40px/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.act-sum span{color:var(--muted);font-size:15px;line-height:1.35}.heat{--cell:clamp(11px,1.25vw,16px);grid-auto-flow:column;grid-template-rows:repeat(7,var(--cell));grid-auto-columns:var(--cell);gap:4px;display:grid}.heat i{background:var(--heat-0);animation:cell .5s var(--spring) both;animation-delay:calc(var(--d) * 9ms + .3s);border-radius:3px}.heat i[data-l="1"]{background:color-mix(in oklab,var(--accent) 30%,var(--heat-0))}.heat i[data-l="2"]{background:color-mix(in oklab,var(--accent) 55%,var(--heat-0))}.heat i[data-l="3"]{background:color-mix(in oklab,var(--accent) 80%,var(--heat-0))}.heat i[data-l="4"]{background:var(--accent)}.heat i[data-l="-1"]{background:0 0}@keyframes cell{0%{transform:scale(0)}to{transform:scale(1)}}.heat-foot{color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;display:flex}.legend{align-items:center;gap:4px;display:flex}.legend i{background:var(--heat-0);border-radius:3px;width:11px;height:11px}.legend i:nth-child(2){background:color-mix(in oklab,var(--accent) 30%,var(--heat-0))}.legend i:nth-child(3){background:color-mix(in oklab,var(--accent) 55%,var(--heat-0))}.legend i:nth-child(4){background:color-mix(in oklab,var(--accent) 80%,var(--heat-0))}.legend i:nth-child(5){background:var(--accent)}.stats{grid-area:stats;align-content:space-between;gap:12px;display:grid}.stat{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:10px;display:flex}.stat:last-child{border:0;padding:0}.stat b{font:600 34px/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);text-align:right;max-width:12ch;font-size:14px}.cta{background:var(--accent);color:var(--accent-ink);border-color:#0000;flex-direction:column;grid-area:cta;justify-content:space-between;gap:16px;text-decoration:none;display:flex}.cta .t-label{color:color-mix(in oklab,var(--accent-ink) 70%,transparent)}.cta strong{font:600 26px/1.1 var(--display);letter-spacing:-.03em}.cta .go{background:var(--accent-ink);width:48px;height:48px;color:var(--accent);transition:transform .6s var(--spring);border-radius:50%;align-self:flex-end;place-items:center;font-size:20px;display:grid}.cta:hover .go{transform:rotate(-45deg)scale(1.1)}.sec{padding-block:clamp(60px,9vw,110px)}.sec.tight{padding-top:0}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 40px;margin-bottom:28px;display:flex}.sec-head h2{font:600 clamp(30px,4vw,48px)/1.05 var(--display);letter-spacing:-.04em;margin:0}.sec-head p{color:var(--muted);max-width:44ch;margin:0}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.w-card{color:inherit;padding:12px;text-decoration:none;animation:none;display:block}.shot{aspect-ratio:16/10;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;max-width:100%;position:relative;overflow:hidden}.shot img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--spring);position:absolute;inset:0}.w-card:hover .shot img{transform:scale(1.04)}.shot-in{background:var(--surface);border:1px solid var(--line);transition:transform .8s var(--spring);border-bottom:0;border-radius:12px 12px 0 0;flex-direction:column;gap:10px;padding:14px;display:flex;position:absolute;inset:10% 10% 0;box-shadow:0 -10px 40px -20px #00000040}.w-card:hover .shot-in{transform:translateY(-10px)scale(1.02)}.dots{gap:5px;display:flex}.dots i{background:var(--line);border-radius:50%;width:8px;height:8px}.ln{background:var(--surface-2);border-radius:5px;height:9px}.ln.ac{background:var(--accent)}.bars{flex:1;align-items:end;gap:7px;display:flex}.bars i{background:color-mix(in oklab,var(--accent) 70%,var(--surface-2));border-radius:5px 5px 0 0;flex:1}.tiles3{flex:1;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tiles3 i{background:var(--surface-2);border-radius:8px}.tiles3 i:nth-child(2){background:color-mix(in oklab,var(--accent) 40%,var(--surface-2))}.route{background:var(--surface-2);border-radius:10px;flex:1;position:relative;overflow:hidden}.route svg{width:100%;height:100%;position:absolute;inset:0}.route path{stroke:var(--accent);stroke-width:3px;fill:none;stroke-linecap:round;stroke-dasharray:6 7;animation:1.6s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-26px}}.w-meta{justify-content:space-between;align-items:start;gap:14px;padding:16px 8px 6px;display:flex}.w-meta h3{font:600 20px/1.2 var(--display);letter-spacing:-.025em;margin:0 0 4px}.w-meta p{color:var(--muted);margin:0;font-size:15px}.w-meta .mono{color:var(--muted);white-space:nowrap;padding-top:4px}.svc-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.svc{flex-direction:column;gap:10px;animation:none;display:flex}.svc .ic{background:var(--surface-2);border:1px solid var(--line);width:44px;height:44px;transition:transform .6s var(--spring),background .3s,color .3s;border-radius:14px;place-items:center;display:grid}.svc:hover .ic{background:var(--accent);color:var(--accent-ink);transform:rotate(-12deg)scale(1.1)}.svc .ic svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.svc h3{font:600 18px/1.2 var(--display);letter-spacing:-.02em;margin:12px 0 0}.svc p{color:var(--muted);margin:0;font-size:15px}.contact{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;display:grid}.c-side{flex-direction:column;gap:18px;padding:28px;animation:none;display:flex}.c-side h2{font:600 clamp(32px,4vw,50px)/1.04 var(--display);letter-spacing:-.045em;text-wrap:balance;margin:0}.c-side p{color:var(--muted);margin:0}.c-rows{margin-top:auto;display:grid}.c-rows div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:13px 0;font-size:15px;display:flex}.c-rows span:first-child{color:var(--muted)}.c-rows a{text-decoration:none}.c-rows a:hover{text-decoration:underline}.form{align-content:start;gap:16px;padding:28px;animation:none;display:grid}.f2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.fld{gap:7px;min-width:0;display:grid}.fld label,.fld legend{padding:0;font-size:14px;font-weight:550}.fld input,.fld textarea{width:100%;font:16px/1.4 var(--display);color:var(--fg);background:var(--surface-2);border:1px solid var(--line);resize:vertical;border-radius:14px;outline:none;padding:13px 14px;transition:border-color .25s,box-shadow .25s,background .25s}.fld textarea{min-height:130px}.fld input:focus,.fld textarea:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 22%,transparent)}.fld.invalid input,.fld.invalid textarea{border-color:var(--bad)}.fld .err{color:var(--bad);font-size:13px}fieldset.fld{border:0;min-width:0;margin:0;padding:0}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;padding:4px;display:grid;position:relative}.seg button{z-index:1;color:var(--muted);font:550 14px/1 var(--display);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:10px;padding:11px 6px;transition:color .3s;position:relative;overflow:hidden}.seg button[aria-pressed=true]{color:var(--fg)}.seg .thumb{width:calc((100% - 8px) / var(--n));background:var(--surface);transition:transform .6s var(--spring);border-radius:10px;position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 1px 3px #0000001f}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.send{justify-content:center;width:100%;height:52px;font-size:16px}.form-error{color:var(--bad);margin:0;font-size:14px}.done-box{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:380px;padding:30px 10px;display:flex}.done-box svg{width:72px;height:72px}.done-box circle{fill:none;stroke:var(--accent);stroke-width:3px;stroke-dasharray:190;stroke-dashoffset:190px;animation:drawc .8s var(--ease) forwards}.done-box path{fill:none;stroke:var(--fg);stroke-width:3.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40px;animation:drawc .5s .6s var(--ease) forwards}@keyframes drawc{to{stroke-dashoffset:0}}.done-box h3{font:600 24px/1.2 var(--display);letter-spacing:-.03em;margin:0}.done-box p{color:var(--muted);max-width:38ch;margin:0}.foot{padding-block:30px calc(40px + env(safe-area-inset-bottom,0px));color:var(--muted);font-size:14px}.foot .wrap>div{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:22px;display:flex}.foot nav{flex-wrap:wrap;gap:18px;display:flex}.foot a{text-decoration:none}.foot a:hover{color:var(--fg)}@supports (animation-timeline:view()){.sv{animation:linear both rise;animation-timeline:view();animation-range:entry cover 28%}@keyframes rise{0%{opacity:0;transform:translateY(48px)scale(.97)}to{opacity:1;transform:none}}}@media (max-width:1000px){.bento,.bento.no-activity{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"intro intro""clock stack""build stack""activity activity""stats cta"}.bento.no-activity{grid-template-areas:"intro intro""clock stack""build stack""stats cta"}.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact{grid-template-columns:1fr}}@media (max-width:720px){.nav-links,.status{display:none}.nav-in{justify-content:space-between}.bento,.bento.no-activity{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro""clock""build""stack""activity""stats""cta";grid-auto-rows:auto}.bento.no-activity{grid-template-areas:"intro""clock""build""stack""stats""cta"}.clock{flex-direction:row;align-items:center;gap:18px}.clock .t-label{display:none}.dial{max-width:96px;margin:0}.digits{flex-direction:column;align-items:flex-start;margin:0}.orbit{min-height:280px}.work-grid,.svc-grid{grid-template-columns:minmax(0,1fr)}.f2{grid-template-columns:1fr}.cta{min-height:170px}.heat{--cell:clamp(10px,3.6vw,16px)}}@media (prefers-reduced-motion:reduce){.sv{animation:none!important}}
