.contact-section{background:var(--color-canvas)}.section.contact-section{padding-bottom:24px}.contact-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(38px,6vw,80px)}.contact-title{position:relative;font-size:clamp(3.25rem,1.6rem + 4.4vw,5.5rem);line-height:1.05}.contact-title>svg{position:absolute;top:-.04em;right:-.24em;width:.34em;height:.42em;margin:0;transform:rotate(-45deg)}.contact-eyebrow{margin-top:14px}.contact-eyebrow:before{content:none}.contact-form{display:grid;gap:16px;margin-top:28px;padding:38px 30px 30px}.contact-tape{left:40%;width:60px;height:22px;--tape-angle:-3deg}.contact-field{position:relative;display:block}.contact-field input,.contact-field textarea{display:block;width:100%;border:1px solid transparent;border-radius:9px;background:transparent;padding:16px;color:var(--color-ink);font-size:15px;line-height:1.5;outline:none;transition:border-color .16s,box-shadow .16s}.contact-field-label{position:absolute;left:12px;top:16px;display:flex;align-items:center;gap:9px;padding:0 4px;color:var(--color-muted);background:transparent;z-index:2;font-size:15px;line-height:22px;pointer-events:none;transition:top .16s,transform .16s,font-size .16s,color .16s}.contact-field-label svg{width:20px;height:20px;flex:none;transition:width .16s,height .16s}.contact-field textarea{min-height:152px;resize:vertical}.contact-field:focus-within .contact-field-label,.contact-field:has(input:not(:placeholder-shown),textarea:not(:placeholder-shown)) .contact-field-label{top:0;transform:translateY(-50%);font-size:12px}.contact-field:focus-within .contact-field-label svg,.contact-field:has(input:not(:placeholder-shown),textarea:not(:placeholder-shown)) .contact-field-label svg{width:16px;height:16px}.contact-field:focus-within .contact-field-label{color:var(--color-primary)}.feri-theme .contact-field input:focus,.feri-theme .contact-field textarea:focus{outline:none;box-shadow:none}.contact-field-border{position:absolute;inset:-11px 0 0;min-width:0;margin:0;padding:0 12px;border:1px solid var(--color-control-border);border-radius:10px;pointer-events:none}.contact-field-border legend{max-width:0;height:22px;padding:0;overflow:hidden;white-space:nowrap}.contact-field-border legend span{display:flex;align-items:center;gap:9px;height:22px;font-size:12px;visibility:hidden}.contact-field-border legend svg{width:16px;height:16px;flex:none}.contact-field:focus-within .contact-field-border,.contact-field:has(input:not(:placeholder-shown),textarea:not(:placeholder-shown)) .contact-field-border{border-width:1px}.contact-field:focus-within .contact-field-border{border-color:var(--color-primary);border-width:2px;padding-inline:11px}.contact-field:focus-within legend,.contact-field:has(input:not(:placeholder-shown),textarea:not(:placeholder-shown)) legend{max-width:100%;padding-inline:4px}@media (prefers-reduced-motion:reduce){.contact-field input,.contact-field textarea,.contact-field-label,.contact-field-label svg{transition:none}}.contact-submit{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border:0;border-radius:var(--radius-control);background:var(--color-primary);color:white;font-size:16px;font-weight:700;box-shadow:var(--shadow-action);cursor:pointer;transition:box-shadow .18s,filter .18s}.contact-submit:not(:disabled):is(:hover,:focus-visible){background:var(--color-primary-hover);box-shadow:0 7px 18px rgb(0 103 208/26%)}.contact-submit:not(:disabled):active{background:var(--color-primary-active)}.contact-submit:disabled{background:#c9d3dc;color:#4a5866;box-shadow:none;cursor:not-allowed}.contact-side{display:flex;flex-direction:column;gap:24px;padding-top:40px}.contact-illustration{position:relative}.contact-illustration>img{display:block;width:100%;height:auto}.chat-holo{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.chat-holo-flicker{fill:rgb(120 220 255/16%);mix-blend-mode:screen;opacity:0}.chat-holo-bubble{stroke:#e6fcff;stroke-width:3;filter:drop-shadow(0 0 6px #58dfff) drop-shadow(0 0 12px rgb(88 223 255/60%));opacity:0}.chat-holo-ping{stroke:#e6fcff;stroke-width:2.5;filter:drop-shadow(0 0 4px #58dfff);opacity:0;transform-box:fill-box;transform-origin:center}.chat-holo-shimmer{stroke:#f4feff;stroke-width:11;stroke-linecap:round;stroke-dasharray:26 200;stroke-dashoffset:40;filter:blur(1.5px) drop-shadow(0 0 4px #9cecff);mix-blend-mode:screen;opacity:.95}.chat-holo-plane-glow{fill:rgb(230 252 255/55%);filter:blur(3px);mix-blend-mode:screen;opacity:0}.chat-holo-trail{stroke:#e6fcff;stroke-width:3;stroke-linecap:round;stroke-dasharray:2 7;filter:drop-shadow(0 0 3px #58dfff);opacity:0}.chat-holo-ghost{stroke:#f2fdff;stroke-width:2.5;stroke-linejoin:round;fill:rgb(200 245 255/25%);filter:drop-shadow(0 0 5px #58dfff);opacity:0;transform-box:fill-box;transform-origin:center}@media (prefers-reduced-motion:no-preference){.chat-holo-flicker{animation:chat-holo-flicker 6s steps(1) infinite}.chat-holo-bubble{animation:chat-holo-arrive 6s ease-out infinite}.chat-holo-bubble--2,.chat-holo-ping--2{animation-delay:1.1s}.chat-holo-ping{animation:chat-holo-ping 6s ease-out infinite}.chat-holo-shimmer{animation:chat-holo-shimmer 2s ease-in-out infinite}.chat-holo-shimmer--b{animation-delay:.25s}.chat-holo-shimmer--c{animation-delay:1s}.chat-holo-shimmer--d{animation-delay:1.25s}.chat-holo-plane-glow{animation:chat-holo-plane 6s ease-in-out infinite}.chat-holo-trail{animation:chat-holo-trail 6s linear infinite}.chat-holo-ghost{animation:chat-holo-launch 6s cubic-bezier(.4,0,.6,1) infinite}}@keyframes chat-holo-flicker{0%,to{opacity:0}47%{opacity:.9}48%{opacity:.2}49%{opacity:.7}51%{opacity:0}}@keyframes chat-holo-arrive{0%{opacity:0}6%{opacity:1}22%{opacity:.35}60%{opacity:.2}80%,to{opacity:0}}@keyframes chat-holo-ping{0%{opacity:.9;transform:scale(1)}18%{opacity:0;transform:scale(1.9)}to{opacity:0;transform:scale(1.9)}}@keyframes chat-holo-shimmer{0%{stroke-dashoffset:40}to{stroke-dashoffset:-110}}@keyframes chat-holo-plane{0%,45%{opacity:0}55%{opacity:1}70%,to{opacity:0}}@keyframes chat-holo-trail{0%,50%{opacity:0;stroke-dashoffset:0}58%{opacity:1}85%{opacity:.6}to{opacity:0;stroke-dashoffset:-40}}@keyframes chat-holo-launch{0%,52%{opacity:0;transform:translate(0) scale(1)}56%{opacity:1}88%{opacity:.5;transform:translate(105px,-95px) scale(.55) rotate(-6deg)}92%,to{opacity:0;transform:translate(118px,-106px) scale(.5) rotate(-6deg)}}.contact-letter{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.contact-letter-ink{mix-blend-mode:multiply}.contact-letter-ink text{fill:#1d2f5c;font-family:var(--font-hand);font-weight:700}.contact-letter-line{stroke:#6f9fd8;stroke-width:6;stroke-linecap:round;opacity:.85}.contact-letter-spark{stroke:var(--color-orange);stroke-width:7;stroke-linecap:round}.contact-handnote{position:absolute;z-index:2;top:-40px;right:0;color:var(--color-primary);transform:rotate(-8deg)}.contact-handnote .hand-note{font-size:24px;line-height:1.05}.contact-handnote svg{position:absolute;top:70%;left:-44px;width:42px;height:34px}.contact-socials{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:24px;padding-inline:6px}.contact-socials a{display:flex;align-items:center;gap:10px;min-width:0;color:#17374c}.contact-socials a>svg{width:34px;height:34px;flex:none;transform-origin:center;transition:transform .22s,filter .22s}.contact-socials a>span{position:relative;min-width:0;transition:transform .22s}.contact-socials a>span:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:2px;border-radius:2px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform .22s}.contact-socials a+a{border-left:1px solid #d9e0e3;padding-left:24px}.contact-socials a:last-child>svg{color:#0a66c2}.contact-socials strong{display:block;font-size:17px;font-weight:750}.contact-socials a:focus-visible strong,.contact-socials a:hover strong{color:var(--color-primary)}.contact-socials a:focus-visible>svg,.contact-socials a:hover>svg{transform:translateY(-3px) rotate(-7deg) scale(1.08);filter:drop-shadow(0 5px 5px #078ee922)}.contact-socials a:focus-visible>span,.contact-socials a:hover>span{transform:translateX(3px)}.contact-socials a:focus-visible>span:after,.contact-socials a:hover>span:after{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.contact-socials a>span,.contact-socials a>span:after,.contact-socials a>svg{transition:none}}@media (min-width:768px) and (max-width:1023px){.contact-socials{grid-template-columns:1fr;gap:16px}.contact-socials a+a{border-left:0;padding-left:0}}@media (max-width:767px){.contact-grid{grid-template-columns:1fr}.contact-side{max-width:540px;width:100%;margin-inline:auto}.contact-handnote .hand-note{font-size:23px}.contact-form{padding:34px 20px 22px}}@media (max-width:480px){.contact-handnote .hand-note{font-size:21px}.contact-socials{grid-template-columns:1fr;gap:18px;padding-inline:0}.contact-socials a{gap:8px}.contact-socials a+a{border-left:0;padding-left:0}.contact-socials strong{font-size:15px}}@media (min-width:1101px){.section.contact-section{position:relative;z-index:1;overflow-x:clip;padding-block:0;background:transparent}.contact-grid{position:relative;display:block;width:min(100%,1600px);max-width:none;height:53.3cqw;margin-inline:auto;container-type:inline-size}.contact-grid>div:first-child{padding-top:4.6cqw}.contact-grid h2{margin:0 0 0 10.07cqw;font-size:6.11cqw;line-height:1}.contact-title>svg{width:2cqw;height:2.5cqw}.contact-eyebrow{margin:1.4cqw 0 0 7.44cqw;font-size:1.18cqw}.contact-field:focus-within .contact-field-label,.contact-field:has(input:not(:placeholder-shown),textarea:not(:placeholder-shown)) .contact-field-label{left:12px;gap:9px}.contact-form{gap:1.7cqw;width:45.7cqw;margin:3.4cqw 0 0 4.57cqw;padding:2.4cqw 2.5cqw 2.1cqw 2.76cqw}.contact-form:after{content:"";position:absolute;z-index:-2;top:0;left:-1.2cqw;width:2.4cqw;height:13cqw;border-left:2px solid rgb(88 200 255/70%);border-radius:50% 0 0 50%;filter:drop-shadow(0 0 6px rgb(88 223 255/70%));pointer-events:none}.contact-tape{left:48%;width:4.5cqw;height:2cqw}.contact-field input,.contact-field textarea{padding:1.35cqw 1.5cqw;font-size:1.38cqw}.contact-field-label{left:1.2cqw;top:1.35cqw;gap:.9cqw;font-size:1.38cqw;line-height:2.07cqw}.contact-field-label svg{width:1.9cqw;height:1.9cqw}.contact-field textarea{min-height:12.2cqw}.contact-submit{gap:1cqw;min-height:4.76cqw;border-radius:.8cqw;font-size:1.55cqw}.contact-submit svg{width:1.9cqw;height:1.9cqw}.contact-side{position:absolute;inset:0;display:block;padding:0;pointer-events:none}.contact-side a{pointer-events:auto}.contact-illustration{position:absolute;top:8.6cqw;left:46.4cqw;width:55.1cqw}.contact-handnote{top:-5cqw;right:auto;left:35.2cqw}.contact-handnote .hand-note{font-size:1.75cqw}.contact-handnote svg{top:2.6cqw;left:-3.6cqw;width:3.4cqw;height:2.8cqw}.contact-socials{position:absolute;top:49.3cqw;left:53.8cqw;display:flex;gap:3cqw;padding:0}.contact-socials a{gap:1.4cqw}.contact-socials a>svg{width:3.8cqw;height:3.8cqw}.contact-socials a+a{padding-left:3.4cqw}.contact-socials strong{font-size:1.55cqw}}.robot-experience{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none}.robot-figure{position:relative;width:100%;height:100%}.robot-fallback,.robot-fallback img{position:absolute;inset:0}.robot-fallback img{width:auto;height:100%;max-width:none;margin:auto;object-fit:contain;filter:drop-shadow(0 24px 28px #1c6d963b)}.robot-canvas{position:absolute!important;inset:0;opacity:1;transition:opacity .2s ease-out}.robot-experience:not(.robot-ready) .robot-canvas{opacity:0}.robot-hit-area{position:absolute;z-index:7;top:4%;left:20%;width:66%;height:92%;padding:0;border:0;border-radius:45%;background:transparent;cursor:pointer;pointer-events:auto}.robot-hit-area:focus-visible{outline:3px solid #11a9e8;outline-offset:-6px}.robot-hit-area:disabled{cursor:default}.robot-companion{position:fixed;top:auto;bottom:10px;left:auto;right:12px;width:190px;height:252px;z-index:20}.robot-speech{position:absolute;right:28px;bottom:calc(100% - 8px);width:min(260px,calc(100vw - 48px))}.robot-speech-bubble{position:relative;margin:0;padding:16px 18px;border:1px solid #b4dcef;border-radius:19px 19px 7px 19px;background:#fffdf9;box-shadow:0 8px 28px #17394f20;color:#19384d;font-size:15px;font-weight:600;line-height:1.5}.robot-speech-bubble:after{content:"";position:absolute;right:70px;bottom:-7px;width:12px;height:12px;border-right:1px solid #b4dcef;border-bottom:1px solid #b4dcef;background:#fffdf9;transform:rotate(45deg)}@media (max-width:480px){.robot-speech-bubble:after{right:42px}}@media (prefers-reduced-motion:no-preference){.robot-speech-bubble{animation:robot-speech-in .22s ease-out both;transform-origin:bottom right}}@keyframes robot-speech-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.robot-returning{animation:robot-departure var(--robot-departure-duration) linear forwards;transform-origin:50% 65%}@keyframes robot-departure{0%{transform:translateZ(0) rotate(0)}25%{transform:translate3d(-6px,-45px,0) rotate(-3deg)}45%{transform:translate3d(4px,-95px,0) rotate(6deg)}65%{transform:translate3d(40px,-150px,0) rotate(17deg)}80%{transform:translate3d(100px,-195px,0) rotate(24deg)}to{transform:translate3d(calc(100% + 180px),-265px,0) rotate(30deg)}}@media (max-width:480px){.robot-hero .robot-hit-area{left:6%;width:88%}}.hologram-beam{position:fixed;inset:0;z-index:34;pointer-events:none;overflow:visible}@media (max-width:900px){.hologram-beam{display:none}}@media (prefers-reduced-motion:reduce){.robot-canvas,.robot-experience{transition:none}.robot-returning{animation:none}}@media (prefers-reduced-motion:no-preference){.hologram-beam{animation:hologram-light-in .24s ease-out both}}@keyframes hologram-light-in{0%{opacity:0}to{opacity:1}}.robot-footer .robot-figure{transform-origin:50% 77.6%}@media (prefers-reduced-motion:no-preference){.robot-landing .robot-figure{animation:robot-landing 1.15s cubic-bezier(.22,.65,.3,1) both}}@keyframes robot-landing{0%{opacity:0;transform:translate(55%,-120%) translateY(22%) scale(1.333) rotate(12deg)}14%{opacity:1}72%{transform:translate(2%,-5%) translateY(22%) scale(1.333) rotate(-3deg)}88%{transform:translateY(1%) translateY(22%) scale(1.333) rotate(1deg)}to{transform:translateY(22%) scale(1.333) rotate(0)}}.skills-section{position:relative}.skills-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}.skills-heading>div:first-child{max-width:730px}.skills-heading .section-title{margin-bottom:12px}.skills-heading .portfolio-description{margin-left:30px}.skills-handnote{display:flex;align-items:center;gap:10px;flex:none;padding-right:12px;color:var(--color-primary);transform:rotate(-6deg)}.skills-handnote svg{width:56px;height:46px}.skills-handnote .hand-note{font-size:26px;line-height:1.05}.skills-stage{position:relative;padding-bottom:58px}.skills-panel{position:relative;z-index:1;padding:48px 26px 26px;border-radius:var(--radius-panel);background:linear-gradient(160deg,#11395e,var(--color-holo) 55%,#0a2239);box-shadow:var(--shadow-hologram),0 0 46px rgb(88 223 255/22%),inset 0 0 0 1px rgb(255 255 255/6%),0 26px 50px rgb(8 24 39/22%)}.skills-panel:before{content:"";position:absolute;inset:38px 12px 12px;border:1px solid rgb(88 223 255/20%);border-radius:14px;pointer-events:none}.skills-panel-dots{position:absolute;top:15px;left:20px;display:flex;gap:7px}.skills-panel-dots i{width:11px;height:11px;border-radius:50%;background:#ff5f57}.skills-panel-dots i:nth-child(2){background:#febc2e}.skills-panel-dots i:nth-child(3){background:#28c840}.skills-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.skill-card{gap:18px;min-height:84px;padding:18px 20px;border:1px solid rgb(88 223 255/26%);border-radius:var(--radius-tile);background:linear-gradient(150deg,rgb(30 76 112/85%),var(--color-holo-raised));box-shadow:inset 0 1px 0 rgb(255 255 255/7%),0 4px 12px rgb(3 14 26/25%);color:var(--color-on-holo);font-size:16px;font-weight:700;cursor:pointer}.skill-card>span:nth-child(2){flex:1;min-width:0}.skill-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;color:var(--skill-color-holo);filter:drop-shadow(0 2px 2px rgb(0 0 0/22%))}.skill-icon svg{width:40px;height:40px}.skill-card-arrow{flex:none;opacity:0;transform:translateX(-4px);transition:opacity var(--motion-fast),transform var(--motion-fast)}.skill-card.is-active,.skill-card:hover{border-color:#bff3ff;background:#d6f6ff;color:var(--color-heading);box-shadow:0 0 0 1px rgb(88 223 255/70%),0 0 22px rgb(88 223 255/40%);transform:translateY(-2px)}.skill-card:is(:hover,.is-active) .skill-icon{color:var(--skill-color);filter:none}.skill-card:is(:hover,.is-active) .skill-card-arrow{opacity:1;transform:none;color:var(--color-primary)}.skill-card:focus-visible{outline:3px solid var(--color-cyan);outline-offset:3px}.skills-portal{position:absolute;left:3%;bottom:-6px;width:94%;height:104px;overflow:visible;pointer-events:none}.skills-portal .skills-portal-core{filter:blur(4px)}.skills-ring{fill:none;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px rgb(88 223 255/80%))}.skills-ring--a{stroke:#9cf0ff;stroke-width:2.4;stroke-dasharray:38 6 18 6 26 6}.skills-ring--b{stroke:#6fe2ff;stroke-width:2;stroke-dasharray:3 3}.skills-ring--c{stroke:#58dfff;stroke-width:2.2;stroke-dasharray:52 5 30 5 8 0}.skills-ring--d{stroke:rgb(120 225 255/75%);stroke-width:1.6;stroke-dasharray:14 3 2 3}.skills-ring--e{stroke:rgb(120 225 255/55%);stroke-width:1.4;stroke-dasharray:1.5 4}@media (prefers-reduced-motion:no-preference){.skills-ring--a{animation:skills-ring-spin 22s linear infinite}.skills-ring--b{animation:skills-ring-spin 34s linear infinite reverse}.skills-ring--c{animation:skills-ring-spin 46s linear infinite}.skills-ring--d{animation:skills-ring-spin 60s linear infinite reverse}.skills-ring--e{animation:skills-ring-spin 80s linear infinite}.skills-portal-core{animation:skills-core-pulse 4.5s ease-in-out infinite alternate}}@keyframes skills-ring-spin{to{stroke-dashoffset:-100}}@keyframes skills-core-pulse{0%{opacity:.8}to{opacity:1}}.skills-portal-trace{stroke:rgb(120 210 245/45%);stroke-width:1.2;stroke-dasharray:2 6;vector-effect:non-scaling-stroke}.skills-portal-node{fill:rgb(150 230 255/70%)}.skill-dialog{position:fixed;z-index:60;left:50%;right:auto;top:12vh;width:min(660px,calc(100vw - 48px));max-height:78dvh;margin:0;padding:30px;border:1px solid rgb(88 223 255/75%);border-radius:22px;background:linear-gradient(150deg,rgb(19 61 94/97%),rgb(10 36 60/97%));color:var(--color-on-holo);box-shadow:0 0 0 4px rgb(88 223 255/12%),0 0 30px rgb(88 223 255/32%),0 25px 60px rgb(8 24 39/35%);backdrop-filter:blur(16px);transform:translateX(-50%)}.skill-dialog :focus-visible{outline-color:var(--color-cyan)}.skill-dialog .portfolio-description{color:var(--color-on-holo)}.skill-dialog-top{align-items:center;padding-bottom:24px;margin-bottom:22px;border-color:rgb(88 223 255/35%)}.skill-dialog-top button{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:0;border:0;border-radius:10px;background:transparent;color:var(--color-cyan);cursor:pointer}.skill-dialog-top button:hover{background:rgb(88 223 255/14%)}.skill-dialog-identity{display:flex;align-items:center;gap:24px;min-width:0}.skill-dialog-identity>div:last-child{min-width:0}.skill-dialog-icon{display:grid;place-items:center;width:100px;height:100px;flex:none;border:1px solid rgb(88 223 255/30%);border-radius:22px;background:rgb(255 255 255/6%);color:var(--skill-color)}.skill-dialog-icon svg{width:64px;height:64px}.skill-dialog-kicker{color:var(--color-cyan);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.skill-dialog h3{display:flex;align-items:center;gap:12px;margin-block:3px;color:var(--color-on-holo);font-family:var(--font-display);font-size:42px;font-weight:650;line-height:1.1;letter-spacing:-.03em}.skill-dialog h3 svg{width:28px;height:28px;flex:none;color:var(--color-orange)}.skill-dialog-subtitle{color:#a9d6ef;font-size:15px;font-weight:600;line-height:1.4}.skill-dialog h4{color:var(--color-on-holo);font-family:var(--font-display);font-size:28px;font-weight:650;line-height:1.2}.skill-dialog-source{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;margin-top:4px;border-top:1px solid rgb(88 223 255/35%)}.skill-dialog-source>span{color:#a9d6ef;font-size:13px}.skill-dialog-source .fp-btn{box-shadow:0 0 0 1px rgb(88 223 255/55%),var(--shadow-action)}.skill-skeleton-lines{display:grid;gap:12px;padding-block:5px}.skill-skeleton-line{display:block;width:100%;height:14px;border-radius:6px;background:linear-gradient(100deg,rgb(88 223 255/16%) 25%,rgb(88 223 255/38%) 50%,rgb(88 223 255/16%) 75%);background-size:200% 100%}.skill-skeleton-lines .skill-skeleton-line:nth-child(2){width:94%}.skill-skeleton-lines .skill-skeleton-line:nth-child(3){width:98%}.skill-skeleton-lines .skill-skeleton-line:last-child{width:65%}.skill-skeleton-subtitle{width:150px;max-width:100%;margin-top:8px}.skill-skeleton-footer>span:first-child{width:120px}.skill-skeleton-button{width:190px;height:48px;border-radius:12px}@media (prefers-reduced-motion:no-preference){.skill-dialog{animation:skill-project-in .28s ease-out both}.skill-skeleton-line{animation:skill-skeleton-shimmer 1.6s linear infinite}}@keyframes skill-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.retry-button{display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:9px 12px;border:1px solid rgb(88 223 255/65%);border-radius:9px;background:transparent;color:var(--color-cyan);font-weight:800;cursor:pointer}@media (max-width:1023px){.skills-heading{gap:24px}.skills-handnote{gap:6px;padding-right:0}.skills-handnote .hand-note{font-size:22px}.skills-handnote svg{width:45px}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.skill-card{gap:14px;padding:16px;font-size:15px}}@media (max-width:767px){.skills-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:24px}.skills-handnote{align-self:flex-end;margin-right:8px}.skills-stage{padding-bottom:42px}.skills-panel{padding:40px 14px 14px}.skills-panel:before{inset:32px 6px 6px}.skills-panel-dots{top:13px;left:16px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.skill-card{min-height:70px;gap:10px;padding:12px;font-size:14px}.skill-card-arrow{display:none}.skill-icon{width:36px;height:36px}.skill-icon svg{width:32px;height:32px}.skills-portal{height:70px}}@media (max-width:600px){.skill-dialog{top:10vh;left:12px;right:12px;width:auto;max-height:82dvh;padding:22px;transform:none}.skill-dialog-identity{gap:14px}.skill-dialog-icon{width:64px;height:64px;border-radius:15px}.skill-dialog-icon svg{width:42px;height:42px}.skill-dialog h3{gap:6px;font-size:30px}.skill-dialog h3 svg{width:22px;height:22px}.skill-dialog h4{font-size:25px}.skill-dialog-source{align-items:flex-start;flex-direction:column}.skill-dialog-source .fp-btn,.skill-skeleton-button{width:100%}.robot-companion{z-index:19}}@media (max-width:360px){.skill-card{gap:8px;padding:10px;font-size:13px}.skill-icon{width:30px;height:30px}.skill-icon svg{width:28px;height:28px}.skill-dialog{padding:18px}.skill-dialog-identity{gap:10px}.skill-dialog-icon{width:48px;height:48px}.skill-dialog-icon svg{width:34px;height:34px}.skill-dialog h3{font-size:25px}.skill-dialog h3 svg{display:none}}@keyframes skill-project-in{0%{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}@media (min-width:1101px){.skills-section>.container{position:relative;width:min(100%,1600px);max-width:none;margin-inline:auto;container-type:inline-size}.skills-heading{display:block;margin:0 0 1.6cqw 8.2cqw}.skills-heading .section-title{gap:1.2cqw;margin:0;font-size:4.45cqw;line-height:1.1}.skills-handnote{position:absolute;top:-.6cqw;right:6.2cqw;padding:0}.skills-handnote svg{width:4.4cqw;height:3.6cqw;margin-top:2.4cqw}.skills-handnote .hand-note{font-size:1.95cqw}.skills-stage{margin:0 9.9cqw;padding-bottom:7cqw}.skills-panel{padding:3.82cqw 2.3cqw 2.15cqw 2.43cqw;border-bottom:2px solid rgb(170 242 255/85%);border-radius:1.3cqw;background:linear-gradient(165deg,#0f3558,#0a2540 55%,#081d33);box-shadow:0 0 0 2px rgb(110 225 255/90%),0 0 .9cqw rgb(88 223 255/75%),0 0 4cqw rgb(88 223 255/35%),inset 0 0 2.2cqw rgb(88 223 255/22%)}.skills-panel:before{inset:2.7cqw .85cqw .85cqw;border-color:rgb(88 223 255/28%);border-radius:.9cqw}.skills-panel-dots{top:1.4cqw;left:1.6cqw;gap:.5cqw}.skills-panel-dots i{width:.8cqw;height:.8cqw}.skills-grid{gap:1.1cqw 1.6cqw}.skill-card{gap:1.4cqw;min-height:5.76cqw;padding:0 1cqw 0 1.4cqw;border-radius:.9cqw;border:1.5px solid rgb(88 223 255/42%);background:linear-gradient(160deg,rgb(19 58 92/90%),rgb(11 37 62/95%));box-shadow:inset 0 0 1.2cqw rgb(88 223 255/12%),0 .2cqw .6cqw rgb(2 12 24/35%);font-size:1.3cqw;font-weight:700}.skill-icon{width:3.3cqw;height:3.3cqw}.skill-icon svg{width:3.2cqw;height:3.2cqw}.skills-portal{left:50%;bottom:-6.6cqw;width:97cqw;transform:translateX(-50%);height:16.6cqw;overflow:visible}.skill-card{position:relative}.skill-card-arrow{position:absolute;top:0;bottom:0;right:1cqw;width:1.5cqw;height:1.5cqw;margin:auto 0}.skill-card>span:nth-child(2){padding-right:2.2cqw;line-height:1;padding-top:.12em;white-space:nowrap}}.skills-panel:after{content:"";position:absolute;inset:35% 0 0;z-index:0;border-radius:0 0 inherit inherit;background:radial-gradient(ellipse 62% 90% at 50% 110%,rgb(150 240 255/26%),rgb(88 223 255/9%) 45%,transparent 75%);mix-blend-mode:screen;pointer-events:none}.skills-grid{z-index:1}.skill-card{background-image:linear-gradient(to top,rgb(110 230 255/var(--card-bounce,0)),transparent 70%),linear-gradient(160deg,rgb(19 58 92/90%),rgb(11 37 62/95%))}.skill-card:nth-child(n+9){--card-bounce:.12;border-bottom-color:rgb(150 238 255/65%)}.skill-card:nth-child(n+5):nth-child(-n+8){--card-bounce:.05}@media (prefers-reduced-motion:no-preference){.skills-panel:after{animation:skills-bounce 4.5s ease-in-out infinite alternate}}@keyframes skills-bounce{0%{opacity:.75}to{opacity:1}}@media (max-width:1100px){.nav-links{margin-right:0}.nav-links a{padding-inline:7px;font-size:14px}.hero-text h1{font-size:clamp(70px,9.6vw,104px)}}@media (max-width:900px){.nav-links{display:none}.mobile-menu{display:block;margin-left:auto}.header-contact,.hero-handnote--right,.hero-handnote-arrow{display:none}.robot-companion{width:128px;height:180px;right:4px;bottom:8px}}@media (min-width:768px) and (max-width:900px){.hero-grid{grid-template-columns:1fr .9fr;min-height:530px}.hero-text h1{font-size:65px}.hero-role{font-size:25px}.hero-visual{height:440px}}@media (max-width:767px){.hero-grid{grid-template-columns:1fr;min-height:auto;gap:0;padding-block:36px 26px}.hero-text{transform:none}.hero-text h1{font-size:clamp(72px,14vw,96px)}.hero-copy{margin-block:20px 22px}.hero-visual{width:min(100%,540px);height:440px;margin-inline:auto}.hero-projection--panel-code{left:3%}.hero-projection--portal{left:-3%;bottom:-2%}.hero-projection--panel-media{right:2%}.contact-grid{gap:34px}}@media (max-width:480px){.hero-grid{padding-block:30px 20px}.hero-text h1{font-size:clamp(57px,15vw,71px)}.hero-role{font-size:23px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .fp-btn{gap:8px;min-width:0;min-height:52px;padding-inline:6px;font-size:14px}.hero-visual{height:370px}.hero-projection--panel-code,.hero-projection--panel-media{width:30%}.section-intro h2{font-size:clamp(34px,10vw,45px)}.fp-section-title:after{display:none}}@media (min-width:768px) and (max-width:1100px){.section.beyond-section,.section.skills-section{padding-bottom:32px}}.site-footer{--footer-shift:0;position:relative;isolation:isolate;overflow:hidden;height:34.7cqw;min-height:260px;margin-top:-2.8cqw;container-type:inline-size;background:radial-gradient(70% 60% at 30% 40%,rgb(255 255 255/70%),transparent 70%),linear-gradient(transparent 30%,rgb(236 240 243/55%)),var(--color-canvas)}.footer-studio{z-index:-1;pointer-events:none}.footer-layer,.footer-studio{position:absolute;inset:0}.footer-layer--ledge{transform:translate3d(0,calc(var(--footer-shift) * 8px),0)}.footer-layer--props{transform:translate3d(0,calc(var(--footer-shift) * 14px),0)}.footer-layer--robot{transform:translate3d(0,calc(var(--footer-shift) * 20px),0)}.footer-layer img{display:block;width:100%;height:auto}.footer-ledge{position:absolute;top:-9.2cqw;left:-7.8cqw;width:135.1cqw}.footer-rim{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.footer-rim path{stroke-linecap:round}.footer-rim-glow{stroke:#7fe9ff;stroke-width:7;filter:blur(5px);opacity:.35}.footer-rim-pulse{stroke:#f2fdff;stroke-width:5.5;stroke-dasharray:12 88;stroke-dashoffset:0;filter:drop-shadow(0 0 4px #58dfff) drop-shadow(0 0 10px #58dfff);opacity:0}.footer-rim-spark{stroke:#fff;stroke-width:6;stroke-dasharray:.4 99.6;filter:blur(1px) drop-shadow(0 0 8px #9cecff);opacity:0}.footer-props{position:absolute;top:2.1cqw;left:-2.5cqw;width:39.4cqw}.footer-props svg{position:absolute;inset:0;width:100%;height:100%}.footer-foil text{fill:#f0dfae;font-family:var(--font-display);font-weight:600;letter-spacing:.1em;text-anchor:middle;dominant-baseline:central;filter:drop-shadow(0 1px 0 rgb(20 14 6/45%))}.footer-pad{position:absolute;top:20.67cqw;left:76.2cqw;width:14cqw;height:4.17cqw}.footer-portal{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.footer-portal-core{filter:blur(4px)}.footer-portal-ring{vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px rgb(88 223 255/85%))}.footer-portal-ring--a{stroke:#d6faff;stroke-width:2.4;stroke-dasharray:30 6 14 6 20 6 18 0}.footer-portal-ring--b{stroke:#6fe2ff;stroke-width:2;stroke-dasharray:3 3}.footer-portal-ring--c{stroke:#58dfff;stroke-width:2;stroke-dasharray:40 5 22 5 18 10}.footer-portal-ring--d{stroke:rgb(120 225 255/60%);stroke-width:1.4;stroke-dasharray:1.5 4}.footer-robot-slot{position:absolute;top:5.5cqw;left:70.4cqw;width:26cqw;height:20.8cqw}.footer-content{position:absolute;right:4.1cqw;bottom:3.6cqw;left:5.9cqw;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;width:auto;max-width:none;margin:0}.footer-brand{font-size:max(30px,4cqw);line-height:1}.footer-copyright{margin:0 0 .3cqw;color:#3c4a5c;font-size:max(12px,1.15cqw)}@media (prefers-reduced-motion:no-preference){.footer-rim-glow{animation:footer-rim-breathe 3.6s ease-in-out infinite}.footer-rim-pulse{animation:footer-rim-run 4.8s linear infinite}.footer-rim-pulse--2{animation-delay:-2.4s;animation-duration:6.2s}.footer-rim-spark{animation:footer-rim-run 4.8s linear infinite}.footer-portal-ring--a{animation:skills-ring-spin 6s linear infinite}.footer-portal-ring--b{animation:skills-ring-spin 10s linear infinite reverse}.footer-portal-ring--c{animation:skills-ring-spin 14s linear infinite}.footer-portal-ring--d{animation:skills-ring-spin 20s linear infinite reverse}.footer-portal-core{animation:footer-portal-core 2.6s ease-in-out infinite alternate}}@keyframes footer-rim-breathe{0%,to{opacity:.25}50%{opacity:.6}}@keyframes footer-rim-run{0%{stroke-dashoffset:12;opacity:0}8%{opacity:1}88%{opacity:1}to{stroke-dashoffset:-100;opacity:0}}@keyframes footer-portal-core{0%{opacity:.6}to{opacity:1}}@media (max-width:1100px){.site-footer{margin-top:0}}@media (max-width:767px){.site-footer{height:auto;min-height:0;padding:46cqw 0 22px}.footer-ledge{top:-10cqw;left:-25cqw;width:170cqw}.footer-props{top:1.9cqw;left:-3cqw;width:55cqw}.footer-pad{top:32.4cqw;left:auto;right:4cqw;width:24cqw;height:7.2cqw}.footer-robot-slot{top:7.1cqw;left:66.75cqw;width:35cqw;height:35cqw}.footer-content{position:relative;inset:auto;flex-direction:column;align-items:flex-start;gap:10px;padding-inline:var(--layout-gutter)}.footer-brand{font-size:36px}.footer-copyright{font-size:12px}}@media (prefers-reduced-motion:reduce){.footer-layer{transform:none}}