@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/outfit-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/jetbrains-mono-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ci-dark:#0f4a5e;--ci-light:#e4e3e1;--bg:#0c3a4c;--bg-elevated:#114456;--surface:rgba(15, 74, 94, 0.55);--surface-strong:rgba(15, 74, 94, 0.75);--border:rgba(228, 227, 225, 0.10);--border-strong:rgba(228, 227, 225, 0.22);--cream-soft:rgba(228, 227, 225, 0.08);--text:var(--ci-light);--text-muted:rgba(228, 227, 225, 0.65);--text-subtle:rgba(228, 227, 225, 0.40);--accent:#6fc3d9;--accent-soft:rgba(111, 195, 217, 0.18);--syn-key:#6fc3d9;--syn-str:var(--ci-light);--syn-punct:rgba(228, 227, 225, 0.45);--syn-comment:rgba(228, 227, 225, 0.35);--syn-keyword:#f7a8a8;--font-sans:'Outfit',system-ui,-apple-system,sans-serif;--font-mono:'JetBrains Mono','SF Mono',ui-monospace,monospace;--easing:cubic-bezier(0.2, 0.8, 0.2, 1);--shadow-card:0 12px 40px rgba(8, 40, 54, 0.55),0 2px 6px rgba(8, 40, 54, 0.35);--shadow-cta:0 10px 28px rgba(15, 74, 94, 0.55)}*{margin:0;padding:0;box-sizing:border-box}::selection{background:rgba(228,227,225,.3);color:var(--ci-dark)}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;overflow-x:hidden;position:relative;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.ambient{position:fixed;inset:-10%;z-index:-2;background:radial-gradient(ellipse 50% 45% at 18% 12%,rgba(111,195,217,.2),transparent 60%),radial-gradient(ellipse 70% 55% at 88% 78%,rgba(15,74,94,.85),transparent 70%),radial-gradient(ellipse 60% 80% at 50% 50%,rgba(228,227,225,.09),transparent 70%),radial-gradient(ellipse 40% 30% at 75% 15%,rgba(228,227,225,.06),transparent 65%);animation:ambient 24s ease-in-out infinite;will-change:transform}@keyframes ambient{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-2%,1%,0) scale(1.06)}}.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}.container{max-width:1100px;margin:0 auto;padding:6rem 2rem 4rem;display:flex;flex-direction:column;gap:5rem}.mono{font-family:var(--font-mono);font-weight:400;font-feature-settings:"calt","liga"}.hero{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}.hero__meta{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.02em;display:flex;gap:1rem;align-items:center}.hero__meta .comment{color:var(--syn-comment)}.hero__meta .ver{color:var(--ci-light);padding:.15rem .55rem;border-radius:4px;background:linear-gradient(180deg,rgba(228,227,225,.14),rgba(228,227,225,.06));border:1px solid rgba(228,227,225,.18);font-weight:500;font-size:.78rem}.hero__name{font-size:clamp(3rem, 12vw, 8.5rem);line-height:.95;letter-spacing:-.04em;font-weight:800;user-select:none;color:var(--ci-light)}.hero__line{display:block;overflow:hidden;padding-bottom:.08em}.hero__line-inner{display:inline-block;transform:translateY(110%);background:linear-gradient(110deg,var(--ci-light) 0,var(--accent) 50%,var(--ci-light) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:rise 1s var(--easing) forwards,shimmer 9s ease-in-out infinite;animation-delay:calc(var(--d) * .12s + .15s),0s;will-change:transform,background-position}@keyframes rise{to{transform:translateY(0)}}@keyframes shimmer{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.hero__role{font-family:var(--font-mono);font-size:clamp(.95rem, 1.4vw, 1.1rem);margin-top:.25rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;opacity:0;animation:fadeIn .8s var(--easing) .7s forwards}.mono--key{color:var(--syn-keyword)}.mono--var{color:var(--accent)}.mono--op{color:var(--text-subtle)}.mono--str{color:var(--ci-light)}.caret{display:inline-block;width:.55ch;height:1.1em;background:var(--accent);margin-left:.15ch;transform:translateY(.15em);animation:blink 1.05s steps(2) infinite}@keyframes blink{0%,49%{opacity:1}100%,50%{opacity:0}}.hero__chips{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem;opacity:0;animation:fadeIn .8s var(--easing) .9s forwards}@keyframes fadeIn{to{opacity:1}}.status-pill{display:inline-flex;align-items:center;gap:.55rem;padding:.5rem 1rem;background:linear-gradient(135deg,rgba(228,227,225,.12),rgba(228,227,225,.04));border:1px solid rgba(228,227,225,.22);border-radius:100px;font-size:.9rem;color:var(--text);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 2px rgba(8,28,38,.4),inset 0 1px 0 rgba(228,227,225,.15)}.status-pill a{color:#fff;font-weight:500;text-decoration:none;transition:color .2s}.status-pill a:focus-visible,.status-pill a:hover{color:var(--accent)}.status-pill--quiet{background:linear-gradient(135deg,rgba(228,227,225,.06),rgba(228,227,225,.02));border-color:rgba(228,227,225,.14);color:var(--text-muted)}.status-pill--quiet svg{color:var(--text-subtle)}.pulse{width:8px;height:8px;background:var(--ci-light);border-radius:50%;animation:pulse 2.4s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(228,227,225,.75)}70%{box-shadow:0 0 0 9px rgba(228,227,225,0)}100%{box-shadow:0 0 0 0 rgba(228,227,225,0)}}.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2rem;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:relative;overflow:hidden;box-shadow:var(--shadow-card);transition:border-color .4s var(--easing),background .4s var(--easing),transform .5s var(--easing)}.card::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(560px circle at var(--mx,50%) var(--my,50%),rgba(111,195,217,.1),transparent 40%);opacity:0;transition:opacity .4s;pointer-events:none}.card::after{content:'';position:absolute;top:0;left:35%;right:35%;height:1px;background:linear-gradient(90deg,transparent,var(--ci-light),transparent);opacity:0;transition:opacity .45s var(--easing),left .55s var(--easing),right .55s var(--easing);pointer-events:none}.card:hover::after{opacity:.8;left:0;right:0}.card:hover{border-color:var(--border-strong);background:var(--surface-strong)}.card:hover::before{opacity:1}.card__head{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.card__num{position:relative;font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);font-weight:500;letter-spacing:.18em;padding:0 0 .4rem 0}.card__num::after{content:'';position:absolute;left:0;bottom:0;width:1.6em;height:1px;background:var(--ci-light);opacity:.7;transition:width .4s var(--easing),opacity .3s}.card:hover .card__num::after{width:2.4em;opacity:1}.card__title{font-size:1.25rem;font-weight:600;color:var(--ci-light);letter-spacing:-.01em}.card__tag{margin-left:auto;font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;padding:.18rem .5rem;background:rgba(228,227,225,.08);border:1px solid rgba(228,227,225,.14);border-radius:4px}.card__lead{position:relative;font-size:1.1rem;color:var(--text);font-weight:300;margin-bottom:.85rem;line-height:1.55}.card__lead::before{content:'';position:absolute;left:-1rem;top:.35em;bottom:.35em;width:3px;background:var(--ci-light);border-radius:2px}.card p{color:var(--text-muted);font-size:1rem;font-weight:300}.card p+p{margin-top:.75rem}.card--about{grid-column:span 8}.card--profile{grid-column:span 4;padding:1.25rem;display:flex;align-items:center}.card--now{grid-column:span 5}.card--skills{grid-column:span 7}.card--contact{grid-column:span 12}.profile-frame{position:relative;width:100%;aspect-ratio:1;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,var(--ci-dark),var(--bg));box-shadow:inset 0 0 0 1px rgba(228,227,225,.18)}.profile-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,40,54,.55));pointer-events:none}.profile-img{width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.02);transition:transform 1.2s var(--easing),filter .4s}.card--profile:hover .profile-img{transform:scale(1.04);filter:saturate(1.05)}.profile-frame__corner{position:absolute;width:14px;height:14px;border:2px solid var(--accent);z-index:2;transition:width .4s var(--easing),height .4s var(--easing)}.card--profile:hover .profile-frame__corner{width:22px;height:22px}.profile-frame__corner--tl{top:8px;left:8px;border-right:none;border-bottom:none;border-top-left-radius:4px}.profile-frame__corner--tr{top:8px;right:8px;border-left:none;border-bottom:none;border-top-right-radius:4px}.profile-frame__corner--bl{bottom:8px;left:8px;border-right:none;border-top:none;border-bottom-left-radius:4px}.profile-frame__corner--br{bottom:8px;right:8px;border-left:none;border-top:none;border-bottom-right-radius:4px}.now-list{list-style:none;display:flex;flex-direction:column;gap:.85rem}.now-list li{display:flex;gap:.75rem;align-items:flex-start;color:var(--text);font-size:1rem;line-height:1.55;font-weight:300}.now-list li strong{font-weight:500;color:var(--ci-light)}.now-list__bullet{color:var(--accent);font-family:var(--font-mono);font-size:1rem;line-height:1.55;flex-shrink:0;transform:translateY(1px)}.code-block{background:rgba(8,40,54,.55);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.4rem 1.1rem 1.6rem;font-family:var(--font-mono);font-size:.88rem;line-height:1.85;overflow-x:auto;color:var(--text);position:relative}.code-block::before{content:'';position:absolute;left:0;top:1rem;bottom:1rem;width:2px;background:linear-gradient(180deg,transparent 0,rgba(228,227,225,.5) 20%,rgba(228,227,225,.5) 80%,transparent 100%);border-radius:2px}.code-block::-webkit-scrollbar{height:6px}.code-block::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.ln{display:block}.key{color:var(--syn-key)}.str{color:var(--syn-str)}.punct{color:var(--syn-punct)}.code-block .comment{color:var(--syn-comment);font-style:italic}.contact-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:2.5rem;align-items:start}.contact-grid__main{display:flex;flex-direction:column}.contact-grid__info{min-width:0}.code-block--info{font-size:.82rem;line-height:1.75;padding:1rem 1.2rem 1rem 1.4rem}.code-block--info .ln--header{display:block;margin-bottom:.55em}@media (max-width:880px){.contact-grid{grid-template-columns:1fr;gap:1.75rem}}.contact-links{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.4rem;border-radius:12px;font-weight:500;font-size:.95rem;text-decoration:none;transition:background .3s var(--easing),color .3s var(--easing),border-color .3s var(--easing),box-shadow .3s var(--easing),transform .3s var(--easing);will-change:transform}.btn__arrow{transition:transform .3s var(--easing);display:inline-block}.btn:hover .btn__arrow{transform:translateX(4px)}.btn--primary{background:var(--ci-light);color:var(--ci-dark)}.btn--primary:focus-visible,.btn--primary:hover{background:#fff;box-shadow:var(--shadow-cta)}.btn--ghost{background:0 0;color:var(--text);border:1px solid var(--border-strong)}.btn--ghost:focus-visible,.btn--ghost:hover{background:var(--surface);border-color:var(--accent);color:var(--accent)}.contact-hint{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.25rem;border-top:1px dashed var(--border);font-size:.82rem;color:var(--syn-comment)}.contact-hint .comment{color:var(--syn-comment)}.contact-hint__kbd{font-family:var(--font-mono);background:linear-gradient(180deg,rgba(228,227,225,.16),rgba(228,227,225,.06));border:1px solid rgba(228,227,225,.24);border-radius:4px;padding:1px 6px;font-size:.78rem;color:var(--ci-light);font-weight:500;box-shadow:inset 0 -1px 0 rgba(8,28,38,.3)}.mono--prompt{color:var(--accent);font-weight:500;flex-shrink:0}.footer__legal{margin-top:.75rem;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.78rem;color:var(--text-subtle)}.footer__legal a{color:var(--text-muted);text-decoration:none;transition:color .2s}.footer__legal a:focus-visible,.footer__legal a:hover{color:var(--accent)}.footer__cmdk{background:0 0;border:none;cursor:pointer;color:var(--text-muted);font-family:var(--font-mono);font-size:.78rem;display:inline-flex;align-items:center;gap:.35rem;padding:0;transition:color .2s}.footer__cmdk:focus-visible,.footer__cmdk:hover{color:var(--accent)}.footer__cmdk kbd,.footer__legal kbd{font-family:var(--font-mono);background:linear-gradient(180deg,rgba(228,227,225,.12),rgba(228,227,225,.04));border:1px solid rgba(228,227,225,.18);border-radius:4px;padding:1px 5px;font-size:.7rem;color:var(--text);box-shadow:inset 0 -1px 0 rgba(8,28,38,.3)}.cmdk-hint{position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;display:inline-flex;align-items:center;gap:.25rem;padding:.6rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-muted);cursor:pointer;transition:border-color .3s,color .3s,transform .3s var(--easing);box-shadow:var(--shadow-card)}.cmdk-hint:focus-visible,.cmdk-hint:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.cmdk-hint kbd{font-family:var(--font-mono);font-size:.78rem;background:linear-gradient(180deg,rgba(228,227,225,.14),rgba(228,227,225,.04));border:1px solid rgba(228,227,225,.22);border-radius:4px;padding:1px 5px;color:inherit;box-shadow:inset 0 -1px 0 rgba(8,28,38,.35)}@media (max-width:640px){.cmdk-hint{display:none}}.cmdk{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:12vh 1rem 1rem}.cmdk[hidden]{display:none}.cmdk__backdrop{position:absolute;inset:0;background:rgba(4,18,26,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeIn .25s var(--easing)}.cmdk__panel{position:relative;width:100%;max-width:580px;background:rgba(10,50,64,.92);border:1px solid var(--border-strong);border-radius:16px;box-shadow:0 30px 70px rgba(0,0,0,.55);overflow:hidden;animation:cmdkIn .28s var(--easing)}@keyframes cmdkIn{from{transform:translateY(-12px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.cmdk__search{display:flex;align-items:center;gap:.65rem;padding:.9rem 1rem;border-bottom:1px solid var(--border);color:var(--text-subtle)}.cmdk__input{flex:1;background:0 0;border:none;outline:0;color:var(--text);font-family:var(--font-sans);font-size:1rem}.cmdk__input::placeholder{color:var(--text-subtle)}.cmdk__esc{font-family:var(--font-mono);font-size:.7rem;background:linear-gradient(180deg,rgba(228,227,225,.12),rgba(228,227,225,.04));border:1px solid rgba(228,227,225,.18);border-radius:4px;padding:1px 6px;color:var(--text-muted);box-shadow:inset 0 -1px 0 rgba(8,28,38,.3)}.cmdk__list{list-style:none;max-height:50vh;overflow-y:auto;padding:.5rem}.cmdk__list::-webkit-scrollbar{width:6px}.cmdk__list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.cmdk__group{padding:.5rem .75rem .25rem;font-family:var(--font-mono);font-size:.7rem;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.12em}.cmdk__item{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:8px;color:var(--text);cursor:pointer;font-size:.95rem;user-select:none}.cmdk__item .cmdk__icon{width:18px;height:18px;color:var(--text-subtle);flex-shrink:0}.cmdk__item .cmdk__shortcut{margin-left:auto;font-family:var(--font-mono);font-size:.72rem;color:var(--text-subtle)}.cmdk__item.is-active{background:var(--accent-soft);color:var(--ci-light)}.cmdk__item.is-active .cmdk__icon{color:var(--accent)}.cmdk__empty{padding:1.5rem .75rem;text-align:center;color:var(--text-subtle);font-family:var(--font-mono);font-size:.85rem}.cmdk__foot{display:flex;gap:1rem;padding:.6rem .9rem;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:.72rem;color:var(--text-subtle)}.cmdk__foot kbd{font-family:var(--font-mono);background:linear-gradient(180deg,rgba(228,227,225,.12),rgba(228,227,225,.04));border:1px solid rgba(228,227,225,.18);border-radius:3px;padding:0 4px;margin:0 2px;color:var(--text-muted);box-shadow:inset 0 -1px 0 rgba(8,28,38,.3)}body.cmdk-open{overflow:hidden}.contact-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem}.contact-modal[hidden]{display:none}.contact-modal__backdrop{position:absolute;inset:0;background:rgba(4,18,26,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fadeIn .25s var(--easing)}.contact-modal__panel{position:relative;width:100%;max-width:580px;max-height:calc(100vh - 3rem);background:rgba(10,50,64,.96);border:1px solid var(--border-strong);border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.55);overflow-y:auto;animation:cmdkIn .3s var(--easing)}.contact-modal__head{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(10,50,64,.96);backdrop-filter:blur(8px);z-index:1}.contact-modal__close{margin-left:auto;background:0 0;border:1px solid var(--border);color:var(--text-muted);width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.contact-modal__close:focus-visible,.contact-modal__close:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.contact-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.1rem}.contact-form[hidden]{display:none}.contact-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form__row{display:flex;flex-direction:column;gap:.4rem;position:relative}.contact-form__label{font-size:.82rem;color:var(--syn-comment);font-family:var(--font-mono)}.contact-form__label .comment{color:var(--syn-comment)}.contact-form__input,.contact-form__textarea{width:100%;background:rgba(8,40,54,.55);border:1px solid var(--border);border-radius:10px;padding:.75rem .9rem;color:var(--text);font-family:var(--font-sans);font-size:.95rem;line-height:1.5;transition:border-color .2s,background .2s,box-shadow .2s}.contact-form__textarea{resize:vertical;min-height:120px;font-family:var(--font-mono);font-size:.9rem}.contact-form__input:hover,.contact-form__textarea:hover{border-color:var(--border-strong)}.contact-form__input:focus,.contact-form__textarea:focus{outline:0;border-color:var(--accent);background:rgba(8,40,54,.75);box-shadow:0 0 0 3px var(--accent-soft)}.contact-form__input:invalid:not(:placeholder-shown):not(:focus),.contact-form__textarea:invalid:not(:placeholder-shown):not(:focus){border-color:rgba(247,168,168,.5)}.contact-form__counter{align-self:flex-end;font-family:var(--font-mono);font-size:.72rem;color:var(--text-subtle);margin-top:-.2rem}.contact-form__counter.is-near-limit{color:var(--accent)}.contact-form__counter.is-over-limit{color:var(--syn-keyword)}.contact-form__error{background:rgba(247,168,168,.08);border:1px solid rgba(247,168,168,.35);border-radius:10px;padding:.7rem .9rem;font-family:var(--font-mono);font-size:.85rem;color:var(--syn-keyword)}.contact-form__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.contact-form__actions .btn{padding:.7rem 1.25rem;font-size:.92rem}.contact-form.is-loading .contact-form__input,.contact-form.is-loading .contact-form__textarea,.contact-form.is-loading [data-contact-submit]{pointer-events:none;opacity:.65}.contact-form__success{padding:2.5rem 1.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.85rem;animation:fadeIn .4s var(--easing)}.contact-form__success[hidden]{display:none}.contact-form__success-icon{width:64px;height:64px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;margin-bottom:.4rem}.contact-form__success h3{font-size:1.3rem;font-weight:600;color:var(--ci-light);letter-spacing:-.01em}.contact-form__success p{color:var(--text-muted);font-size:.95rem;max-width:32ch}.contact-form__success .btn{margin-top:.5rem}@media (max-width:640px){.contact-modal{padding:0}.contact-modal__panel{max-height:100vh;height:100vh;border-radius:0;max-width:none}.contact-form__actions{flex-direction:column-reverse}.contact-form__actions .btn{width:100%;justify-content:center}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.footer{position:relative;padding-top:2.5rem;text-align:center}.footer::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:140px;height:1px;background:linear-gradient(90deg,transparent,var(--ci-light),transparent);opacity:.55}.footer .mono{font-size:.82rem}.footer .comment{color:var(--syn-comment)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .85s var(--easing),transform .85s var(--easing)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}.hero__line-inner{transform:translateY(0)}.hero__chips,.hero__role{opacity:1}.reveal{opacity:1;transform:none}.ambient{animation:none}.caret{display:none}}@media (max-width:960px){.container{padding:4rem 1.5rem 3rem;gap:4rem}.card{padding:1.75rem}.card--about{grid-column:span 12;order:1}.card--profile{grid-column:span 5;order:2;max-width:320px}.card--now{grid-column:span 7;order:3}.card--skills{grid-column:span 12;order:4}.card--contact{grid-column:span 12;order:5}}@media (max-width:640px){.container{padding:3rem 1.25rem;gap:3rem}.bento{gap:1rem}.card{padding:1.5rem;border-radius:16px}.card--about,.card--contact,.card--now,.card--profile,.card--skills{grid-column:span 12;max-width:none}.card--profile{aspect-ratio:auto}.profile-frame{aspect-ratio:4/3}.contact-links{flex-direction:column}.btn{justify-content:center;width:100%}.hero__name{font-size:clamp(2.75rem, 16vw, 5rem)}.code-block{font-size:.78rem;padding:1rem 1.1rem}.hero__role{font-size:.88rem}}