@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@500;600;700&family=Lato:wght@300;400;700&display=swap");:root{--fg:#0d1b24;--muted:#2d3f4a;--line:rgba(20,42,53,0.2);--surface:rgba(247,250,248,0.82);--accent:#1d5f9c;--accent-soft:rgba(29,95,156,0.18)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;height:100%}body{font-family:Lato,sans-serif;background:radial-gradient(circle at 14% 10%,rgba(11,138,132,.12),transparent 36%),radial-gradient(circle at 85% 85%,rgba(6,74,138,.12),transparent 38%),linear-gradient(140deg,#f6f8f6,#eef4f2 55%,#f7f9f8);color:var(--fg);overflow:hidden}a{color:inherit;text-decoration:none}.rp-root{width:100%;height:100dvh;position:relative;overflow:hidden;background:transparent}.rp-fixed{position:fixed;inset:0;z-index:30;pointer-events:none}.rp-scene{position:absolute;inset:0}.rp-menu{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;pointer-events:auto;padding:12px 28px;border-bottom:1px solid rgba(15,31,42,.14);border-radius:0;background:rgba(255,255,255,.76);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20}.rp-menu__brand{font-family:IBM Plex Sans,sans-serif;font-weight:700;letter-spacing:.12em;color:#0a232f}.rp-menu__nav{display:flex;gap:.95rem}.rp-menu__nav a{font-family:IBM Plex Sans,sans-serif;text-transform:uppercase;font-size:.77rem;letter-spacing:.08em;opacity:.55;transition:opacity .25s ease,color .25s ease}.rp-menu__nav a.is-active,.rp-menu__nav a:hover{opacity:1;color:var(--accent)}.rp-scroll-text{position:absolute;bottom:34px;left:36px;font-family:IBM Plex Sans,sans-serif;font-size:clamp(.66rem,.86vw,.82rem);text-transform:uppercase;letter-spacing:.16em;color:#1f5054;opacity:.88;padding:.34rem .72rem;border-radius:999px;border:1px solid rgba(23,69,76,.24);background:rgba(255,255,255,.68)}.rp-progress{position:absolute;top:0;right:0;width:14px;height:100%}.rp-progress__track{position:absolute;inset:0;background:rgba(11,45,60,.12)}.rp-progress__bar{position:absolute;bottom:0;width:100%;min-height:8%;background:linear-gradient(180deg,#4e8fff,#1d5f9c);transition:height .25s linear}.rp-atmo{position:absolute;inset:0;overflow:hidden}.rp-atmo__blob{position:absolute;border-radius:999px;filter:blur(20px);animation:drift 18s ease-in-out infinite}.rp-atmo__blob--1{width:min(42vw,540px);height:min(42vw,540px);top:-12%;left:-10%;background:radial-gradient(circle,rgba(22,157,143,.24) 0,rgba(22,157,143,.06) 60%,transparent 100%)}.rp-atmo__blob--2{width:min(36vw,420px);height:min(36vw,420px);right:-8%;top:18%;background:radial-gradient(circle,rgba(41,89,173,.2) 0,rgba(41,89,173,.05) 60%,transparent 100%);animation-delay:2.2s}.rp-atmo__blob--3{width:min(40vw,520px);height:min(40vw,520px);left:28%;bottom:-22%;background:radial-gradient(circle,rgba(28,123,168,.18) 0,rgba(28,123,168,.03) 64%,transparent 100%);animation-delay:4.1s}@keyframes drift{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(10px,-16px,0) scale(1.06)}}.rp-scroll-container{position:relative;z-index:12;width:100%;height:100dvh;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.rp-scroll-container::-webkit-scrollbar{width:0;height:0}.story-stage{position:relative;width:100%}.content-stage{min-height:auto;display:flex;align-items:center;justify-content:center;padding:64px 24px 28px}.project-stage{min-height:auto;padding:62px 0 30px}.project-shell{width:min(1460px,98vw);margin:0 auto;border:1px solid rgba(23,82,128,.16);border-radius:22px;background:rgba(238,246,255,.62);padding:clamp(1rem,2vw,1.4rem)}.story-sticky{position:-webkit-sticky;position:sticky;top:0;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:92px 24px 44px}.story-card{width:min(860px,94vw);border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:clamp(1.4rem,2.5vw,2.4rem);border-radius:16px;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.04)}.story-kicker{font-family:IBM Plex Sans,sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:#24656d;margin-bottom:.85rem}.about-card{text-align:center}.about-card h1{font-family:IBM Plex Sans,sans-serif;text-transform:uppercase;font-size:clamp(2rem,6.6vw,5.1rem);line-height:.93;margin-bottom:.65rem;color:#083142}.about-card h2{font-size:clamp(1rem,2.2vw,1.5rem);color:#2f4f5f;font-style:italic;margin-bottom:1rem}.about-card p{max-width:60ch;margin:0 auto;line-height:1.58;color:#335261}.story-link{margin-top:1.3rem;display:inline-block;font-family:IBM Plex Sans,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;border:1px solid rgba(19,81,88,.32);border-radius:999px;padding:.56rem .9rem;color:#0b5c6a;background:rgba(255,255,255,.62)}.story-link:hover{background:var(--accent-soft)}.about-metrics{margin-top:1.2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.62rem;gap:.62rem}.about-metric{border:1px solid rgba(11,71,78,.2);background:rgba(255,255,255,.58);border-radius:14px;padding:.75rem .62rem}.about-metric h3{font-family:IBM Plex Sans,sans-serif;font-size:clamp(1rem,2.1vw,1.34rem);color:#0f5663;margin-bottom:.24rem}.about-metric p{font-size:.74rem;color:#3c5d68;line-height:1.35}.sequence-shell{min-height:min(76vh,640px);display:grid;grid-template-rows:auto 1fr auto}.section-container{width:min(900px,94vw);margin:0 auto}.section-heading{font-family:IBM Plex Sans,sans-serif;font-size:clamp(.75rem,1.2vw,.85rem);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem}.exp-list{list-style:none;display:flex;flex-direction:column;gap:1.25rem}.exp-card{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:12px;padding:1.5rem 1.75rem;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:box-shadow .2s ease,border-color .2s ease}.exp-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.06);border-color:rgba(29,95,156,.2)}.exp-card__header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.exp-card__date{font-size:.8rem;font-weight:500;color:var(--muted)}.exp-card__company{font-family:IBM Plex Sans,sans-serif;font-size:clamp(1.1rem,2.2vw,1.4rem);font-weight:600;color:var(--fg)}.exp-card__role{font-size:.9rem;color:var(--accent);font-weight:500;margin-bottom:.75rem}.exp-card__summary{font-size:.95rem;line-height:1.6;color:#355261;margin-bottom:.75rem}.exp-card__details{margin:0;padding-left:1.25rem;font-size:.9rem;line-height:1.55;color:#3d5563}.exp-card__details li{margin-bottom:.25rem}.exp-card__details li:last-child{margin-bottom:0}.section-container--wide{width:min(1200px,94vw)}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem}@media (min-width:768px){.project-gallery{grid-template-columns:repeat(4,1fr);gap:1.25rem}}.project-tile{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:box-shadow .2s ease,transform .2s ease;display:flex;flex-direction:column}.project-tile:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}.project-tile--feature{grid-column:1/-1}@media (min-width:768px){.project-tile--feature{grid-column:span 2;grid-row:span 2}.project-tile--feature .project-tile__media{aspect-ratio:16/9}.project-tile--feature .project-tile__content{padding:1.5rem 1.75rem}.project-tile--feature .project-tile__title{font-size:1.5rem}.project-tile--feature .project-tile__desc{font-size:1rem}}.project-tile__media{aspect-ratio:16/10;overflow:hidden;background:rgba(242,249,255,.5);position:relative}.project-tile__media--video{background:#0d1b24}.project-tile__media img,.project-tile__media video{display:block;width:100%;height:100%;object-fit:cover}.project-tile__video{pointer-events:none}.project-tile__media--video:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5) 0,transparent 40%);pointer-events:none}.project-tile__stack{position:absolute;bottom:.75rem;left:.75rem;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.95);background:rgba(0,0,0,.5);padding:.35rem .6rem;border-radius:6px}.project-tile__content{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.project-tile__title{font-family:IBM Plex Sans,sans-serif;font-size:clamp(1rem,1.8vw,1.2rem);font-weight:600;color:var(--fg)}.project-tile__desc{font-size:.85rem;line-height:1.5;color:#3d5563;flex:1 1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-tile--feature .project-tile__desc{-webkit-line-clamp:4}.project-tile__cta{font-size:.85rem;font-weight:500;color:var(--accent);margin-top:.25rem;transition:color .2s ease}.project-tile__cta:hover{color:#144d84}.project-tile__cta--muted{color:var(--muted);cursor:default}.skill-gallery{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}@media (min-width:640px){.skill-gallery{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.skill-gallery{grid-template-columns:repeat(3,1fr);gap:1.25rem}}.skill-tile{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:12px;padding:1.5rem 1.75rem;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:box-shadow .2s ease,transform .2s ease}.skill-tile:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px)}.skill-tile--feature{grid-column:1/-1}@media (min-width:640px){.skill-tile--feature{grid-column:span 2}}@media (min-width:900px){.skill-tile--feature{grid-column:span 1}}.skill-tile__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.skill-tile__number{font-family:IBM Plex Sans,sans-serif;font-size:.85rem;font-weight:700;color:var(--accent);opacity:.9}.skill-tile__title{font-family:IBM Plex Sans,sans-serif;font-size:1.15rem;font-weight:600;color:var(--fg)}.skill-tile__desc{font-size:.9rem;line-height:1.55;color:#3d5563;margin-bottom:1rem}.skill-tile__tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tile__tag{font-size:.75rem;font-weight:500;padding:.35rem .65rem;background:rgba(29,95,156,.08);color:var(--accent);border-radius:6px;border:1px solid rgba(29,95,156,.15)}.sequence-stack{position:relative;min-height:360px}.sequence-card{position:absolute;inset:0;border:1px solid var(--line);background:rgba(251,254,252,.95);padding:clamp(1.1rem,2.2vw,1.9rem);transition:opacity .45s ease,transform .45s ease;border-radius:20px;box-shadow:0 14px 32px rgba(12,48,63,.1)}.sequence-date{font-size:.72rem;letter-spacing:.1em;color:#2f7281;margin-bottom:.72rem}.sequence-card h3,.sequence-date{font-family:IBM Plex Sans,sans-serif;text-transform:uppercase}.sequence-card h3{font-size:clamp(1.6rem,4.1vw,3.2rem);line-height:.97;margin-bottom:.5rem}.sequence-card h4{color:var(--muted);font-style:italic;margin-bottom:.9rem}.sequence-card p{color:#355261;line-height:1.58}.sequence-dots{margin-top:.95rem;display:flex;justify-content:center;gap:.56rem}.sequence-dots span{width:7px;height:7px;border-radius:999px;background:rgba(0,0,0,.24);transition:transform .25s ease}.sequence-dots span.active{transform:scale(1.42);background:#0c6f89}.focus-stage .story-sticky{padding-top:100px}.focus-shell{width:min(1100px,96vw);min-height:auto;border-color:rgba(11,58,67,.24)}.focus-card{background:rgba(250,255,252,.96)}.focus-card h3{font-size:clamp(1.45rem,3.4vw,2.55rem);margin-bottom:.75rem}.contact-stage{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:96px 24px 36px}.contact-card h2{font-family:IBM Plex Sans,sans-serif;text-transform:uppercase;font-size:clamp(1.5rem,3.5vw,3rem);line-height:1.02;margin-bottom:1.05rem}.contact-lead{color:#355261;line-height:1.56;max-width:58ch;margin-bottom:1rem}.contact-links{display:grid;grid-gap:.62rem;gap:.62rem}.contact-links a{width:-moz-fit-content;width:fit-content;color:#2a4c5d;border:1px solid rgba(12,63,75,.2);border-radius:999px;padding:.34rem .62rem;background:rgba(255,255,255,.55)}.contact-links a:hover{border-color:#1f7380;color:#0f6573;background:var(--accent-soft)}.rp-intro{position:fixed;inset:0;z-index:30;background:radial-gradient(circle at 20% 12%,rgba(16,124,142,.14),transparent 36%),radial-gradient(circle at 80% 84%,rgba(16,91,130,.1),transparent 36%),linear-gradient(130deg,#f8fbf9,#eff6f3 60%,#f9fcfb);display:flex;align-items:center;justify-content:center;transition:opacity .7s ease,visibility .7s ease}.rp-intro.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.rp-intro__container{display:flex;flex-direction:column;align-items:center;text-align:center}.rp-intro__subtitle,.rp-intro__title{font-family:IBM Plex Sans,sans-serif;text-transform:uppercase;letter-spacing:.14em}.rp-intro__title{font-size:clamp(1.6rem,3.7vw,2.8rem);color:#0f3e4f}.rp-intro__subtitle{font-size:clamp(.92rem,1.7vw,1.45rem)}.rp-intro__hint{margin-top:.35rem;font-family:IBM Plex Sans,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:#1c5b62;opacity:.7;transition:opacity .35s ease}.rp-intro__hint.is-hidden{opacity:0}.rp-intro__cta{opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .45s ease,transform .45s ease}.rp-intro__cta.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.rp-intro__logo{margin:1.55rem 0;width:min(560px,80vw);display:flex;align-items:center;justify-content:center;gap:clamp(.8rem,2vw,1.5rem)}.rp-intro__ring{width:clamp(82px,12vw,136px);aspect-ratio:1/1;border-radius:50%;border:1.3px solid #23717a;display:grid;place-items:center;animation:introPulse 2.8s ease-in-out infinite}.rp-intro__ring:nth-child(2){animation-delay:.25s}.rp-intro__ring:nth-child(3){animation-delay:.5s}.rp-intro__ring-inner{width:56%;aspect-ratio:1/1;border-radius:50%;border:1px solid #3c8e97;animation:introInner 2.8s ease-in-out infinite;display:grid;place-items:center;text-align:center;padding:.22rem;font-family:IBM Plex Sans,sans-serif;font-size:clamp(.34rem,.65vw,.54rem);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#1f5b67;line-height:1.05}@keyframes introPulse{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.06);opacity:1}}@keyframes introInner{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(.94);opacity:.9}}.rp-intro__enter{margin-top:.95rem;width:clamp(170px,18vw,250px);aspect-ratio:1/1;border-radius:50%;border:1px solid #1c6f79;background:rgba(255,255,255,.62);cursor:pointer;position:relative}.rp-intro__enter:before{content:"";position:absolute;inset:15%;border-radius:50%;border:1px solid #278794}.rp-intro__enter span{font-family:IBM Plex Sans,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#0d5b68}@media (max-width:900px){.rp-menu{top:0;left:0;right:0;flex-direction:column;align-items:flex-start;gap:.45rem;border-radius:0;padding:10px 12px}.rp-menu__nav{gap:.62rem;flex-wrap:wrap}.contact-stage,.content-stage,.project-stage,.story-sticky{padding:78px 12px 18px}.project-shell{width:100%}.sequence-stack{min-height:390px}.rp-progress{width:12px}.focus-shell{width:min(980px,96vw)}.rp-scroll-text{left:12px;bottom:12px}.about-metrics,.project-gallery{grid-template-columns:1fr}.project-tile--feature{grid-column:1/-1;grid-row:auto}.skill-gallery{grid-template-columns:1fr}.skill-tile--feature{grid-column:1/-1}}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Outfit Fallback;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_ed3508{font-family:Outfit,Outfit Fallback;font-style:normal}.__variable_ed3508{--font-outfit:"Outfit","Outfit Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,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 Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}