*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:130%;scroll-behavior:smooth}:root{--font-sans:Aptos,"Segoe UI",system-ui,"Helvetica Neue",Arial,sans-serif;--bg-canvas:#04050a;--bg-deep:#080b14;--black:var(--bg-canvas);--deep:var(--bg-deep);--accent:#4a90d9;--accent-dim:rgba(74,144,217,.35);--accent-glow:rgba(74,144,217,.12);--txt-hi:#ffffff;--txt-mid:#f2f4f8;--txt-lo:#cfd6e4;--nav-h:74px;--pg-ease:.22s cubic-bezier(.4,0,.2,1);--card-bg:rgba(255,255,255,.025);--card-border:rgba(74,144,217,.12);--card-label-border:rgba(74,144,217,.18);--bar-track-bg:rgba(255,255,255,.07);--input-bg:rgba(255,255,255,.04);--input-border:rgba(74,144,217,.18);--border-ui:rgba(74,144,217,.2);--backdrop-blur:14px}html[data-theme=light]{--bg-canvas:#eef1f8;--bg-deep:#e4e9f3;--accent:#2563eb;--accent-dim:rgba(37,99,235,.35);--accent-glow:rgba(37,99,235,.12);--txt-hi:#0f172a;--txt-mid:#475569;--txt-lo:#94a3b8;--card-bg:rgba(241,248,255,.42);--card-border:rgba(255,255,255,.48);--card-label-border:rgba(255,255,255,.38);--bar-track-bg:rgba(15,23,42,.08);--input-bg:rgba(255,255,255,.95);--input-border:rgba(37,99,235,.22);--border-ui:rgba(37,99,235,.2);--backdrop-blur:8px}html,body{height:100%;overflow:hidden;font-family:var(--font-sans);background:var(--bg-canvas);color:var(--txt-hi)}html[data-theme=light] body{background:transparent}#space-canvas{position:fixed;inset:0;z-index:0;pointer-events:none}html[data-theme=light] #space-canvas{opacity:0;visibility:hidden;pointer-events:none}.light-sky-bg{display:none;position:fixed;inset:0;z-index:0;pointer-events:none;background:transparent url(../media/alicandircom-theme.jpg) center/cover no-repeat}html[data-theme=light] .light-sky-bg{display:block}html[data-theme=light] .twinkle-layer,html[data-theme=light] .twinkle-layer-lg,html[data-theme=light] .planet-wrap,html[data-theme=light] .hero-saturn{display:none!important}html[data-theme=light] #page-home .cv-info h1,html[data-theme=light] #page-home .cv-info .role,html[data-theme=light] #page-home .cv-info>p{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55)}html[data-theme=light] #page-home .badge{color:#fff}html[data-theme=light] #page-home .badge:hover{color:#ffffffe0}html[data-theme=light] #page-home .badge-icon{color:#fff;border-color:#ffffff80}html[data-theme=light] #page-contact .eyebrow{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55)}html[data-theme=light] #page-contact h1,html[data-theme=light] #page-contact>p{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55)}html[data-theme=light] #page-contact .form-group label,html[data-theme=light] #page-contact .btn-send{color:#fff}html[data-theme=light] #page-contact .btn-send:hover,html[data-theme=light] #page-contact .btn-send:focus{color:#fff}html[data-theme=light] #page-contact .social-link{color:#fff}html[data-theme=light] #page-contact .social-link:hover{color:#bae6fdf2}html[data-theme=light] #page-contact .social-icon{color:#fff;border-color:#ffffff73}.light-sat-layer{display:none;position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}html[data-theme=light] .light-sat-layer{display:block}@keyframes light-sat-fly{0%{transform:translate(calc(-100% - 10vw)) scale(.5);opacity:0}1%{opacity:1}33.333%{transform:translate(110vw) scale(.5);opacity:1}33.334%{opacity:0}to{transform:translate(110vw) scale(.5);opacity:0}}html[data-theme=light] .light-sat{position:absolute;left:0;width:auto;height:clamp(72px,14vh,160px);transform-origin:center center;animation:light-sat-fly 120s linear infinite;will-change:transform}html[data-theme=light] .light-sat:nth-child(1){top:calc(var(--nav-h) + 2vh);animation-delay:0s}html[data-theme=light] .light-sat:nth-child(2){top:calc(var(--nav-h) + 5vh);animation-delay:-20s}html[data-theme=light] .light-sat:nth-child(3){top:calc(var(--nav-h) + 8vh);animation-delay:-40s}html[data-theme=light] .light-sat:nth-child(4){top:calc(var(--nav-h) + 3vh);animation-delay:-60s}html[data-theme=light] .light-sat:nth-child(5){top:calc(var(--nav-h) + 10vh);animation-delay:-80s}html[data-theme=light] .light-sat:nth-child(6){top:calc(var(--nav-h) + 6vh);animation-delay:-100s}@keyframes star-twinkle{0%,to{opacity:.32}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.twinkle-star,.twinkle-star-lg{animation:none!important;opacity:.45!important}html[data-theme=light] .light-sat-layer .light-sat{animation:none!important;opacity:0!important}header .nav-brand .site-wordmark:after{animation:none!important;content:none}}.twinkle-layer,.twinkle-layer-lg{position:fixed;inset:0;z-index:2;pointer-events:none}.twinkle-star{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--twinkle,#e8f0ff);animation:star-twinkle 2.8s ease-in-out infinite;opacity:.85}.twinkle-star-lg{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--twinkle,#e8f0ff);animation:star-twinkle 2.8s ease-in-out infinite;opacity:.85}.twinkle-layer-lg .twinkle-star-lg:nth-child(1){top:16%;left:46%;animation-duration:3.2s;animation-delay:.2s}.twinkle-layer-lg .twinkle-star-lg:nth-child(2){top:28%;left:18%;animation-duration:2.7s;animation-delay:.75s}.twinkle-layer-lg .twinkle-star-lg:nth-child(3){top:6%;left:76%;animation-duration:3.5s;animation-delay:.45s}.twinkle-layer-lg .twinkle-star-lg:nth-child(4){top:56%;left:52%;animation-duration:2.5s;animation-delay:.05s}.twinkle-layer-lg .twinkle-star-lg:nth-child(5){top:64%;left:82%;animation-duration:3.6s;animation-delay:.95s}.twinkle-layer-lg .twinkle-star-lg:nth-child(6){bottom:32%;left:48%;animation-duration:2.9s;animation-delay:.55s}.twinkle-layer-lg .twinkle-star-lg:nth-child(7){bottom:38%;left:12%;animation-duration:3.3s;animation-delay:.3s}.twinkle-layer-lg .twinkle-star-lg:nth-child(8){bottom:18%;left:62%;animation-duration:2.6s;animation-delay:.85s}.twinkle-layer-lg .twinkle-star-lg:nth-child(9){top:42%;left:88%;animation-duration:3.1s;animation-delay:.15s}.twinkle-layer-lg .twinkle-star-lg:nth-child(10){bottom:8%;left:28%;animation-duration:3.4s;animation-delay:1s}.twinkle-star:nth-child(1){top:7%;left:38%;animation-duration:2.6s;animation-delay:0s}.twinkle-star:nth-child(2){top:5%;left:50%;animation-duration:3.1s;animation-delay:.4s}.twinkle-star:nth-child(3){top:9%;left:62%;animation-duration:2.9s;animation-delay:.8s}.twinkle-star:nth-child(4){top:46%;left:22%;animation-duration:3.4s;animation-delay:.2s}.twinkle-star:nth-child(5){top:48%;left:48%;animation-duration:2.5s;animation-delay:.6s}.twinkle-star:nth-child(6){top:44%;left:74%;animation-duration:3.2s;animation-delay:1s}.twinkle-star:nth-child(7){bottom:12%;left:32%;animation-duration:2.7s;animation-delay:.3s}.twinkle-star:nth-child(8){bottom:10%;left:50%;animation-duration:3.3s;animation-delay:.7s}.twinkle-star:nth-child(9){bottom:14%;left:66%;animation-duration:2.8s;animation-delay:1.1s}.twinkle-star:nth-child(10){top:12%;left:28%;animation-duration:3s;animation-delay:.15s}.twinkle-star:nth-child(11){top:15%;left:72%;animation-duration:2.7s;animation-delay:.9s}.twinkle-star:nth-child(12){top:3%;left:44%;animation-duration:3.5s;animation-delay:.5s}.twinkle-star:nth-child(13){top:20%;left:55%;animation-duration:2.5s;animation-delay:.2s}.twinkle-star:nth-child(14){top:8%;left:18%;animation-duration:3.2s;animation-delay:1s}.twinkle-star:nth-child(15){top:11%;left:85%;animation-duration:2.8s;animation-delay:.35s}.twinkle-star:nth-child(16){top:38%;left:35%;animation-duration:3.6s;animation-delay:.55s}.twinkle-star:nth-child(17){top:42%;left:58%;animation-duration:2.4s;animation-delay:.85s}.twinkle-star:nth-child(18){top:52%;left:12%;animation-duration:3.1s;animation-delay:.1s}.twinkle-star:nth-child(19){top:55%;left:88%;animation-duration:2.9s;animation-delay:.65s}.twinkle-star:nth-child(20){top:40%;left:65%;animation-duration:3.3s;animation-delay:.25s}.twinkle-star:nth-child(21){top:50%;left:38%;animation-duration:2.6s;animation-delay:.95s}.twinkle-star:nth-child(22){top:33%;left:8%;animation-duration:3.7s;animation-delay:.45s}.twinkle-star:nth-child(23){top:58%;left:42%;animation-duration:2.5s;animation-delay:.75s}.twinkle-star:nth-child(24){top:62%;left:28%;animation-duration:3s;animation-delay:.05s}.twinkle-star:nth-child(25){top:35%;left:92%;animation-duration:3.4s;animation-delay:1.15s}.twinkle-star:nth-child(26){bottom:18%;left:18%;animation-duration:2.8s;animation-delay:.4s}.twinkle-star:nth-child(27){bottom:22%;left:44%;animation-duration:3.2s;animation-delay:.6s}.twinkle-star:nth-child(28){bottom:8%;left:72%;animation-duration:2.7s;animation-delay:.2s}.twinkle-star:nth-child(29){bottom:25%;left:58%;animation-duration:3.5s;animation-delay:.9s}.twinkle-star:nth-child(30){bottom:15%;left:8%;animation-duration:2.4s;animation-delay:.35s}.twinkle-star:nth-child(31){bottom:6%;left:38%;animation-duration:3.1s;animation-delay:.55s}.twinkle-star:nth-child(32){bottom:20%;left:88%;animation-duration:2.9s;animation-delay:.15s}.twinkle-star:nth-child(33){top:25%;left:12%;animation-duration:3.6s;animation-delay:.8s}.twinkle-star:nth-child(34){top:30%;left:78%;animation-duration:2.5s;animation-delay:.5s}.twinkle-star:nth-child(35){top:18%;left:95%;animation-duration:3s;animation-delay:.25s}.twinkle-star:nth-child(36){bottom:28%;left:25%;animation-duration:3.3s;animation-delay:1.05s}@keyframes wordmark-shine-sweep{0%{left:-150%;opacity:0}2%{opacity:1}15%{left:150%;opacity:0}to{left:150%;opacity:0}}.site-wordmark{font-family:var(--font-sans);font-weight:700;cursor:pointer}.site-wordmark__text{display:inline-block;text-transform:uppercase;color:var(--txt-hi);font-size:clamp(.75rem,2.6vw,1.28rem);letter-spacing:.045em;line-height:1.15}.nav-brand{display:flex;align-items:center;min-width:0}.planet-wrap{position:fixed;z-index:1;pointer-events:none;will-change:transform}.planet-wrap svg,.planet-wrap img{display:block}.p-neptune{bottom:10vh;left:3vw;width:clamp(36px,5.5vw,72px);opacity:.5;animation:drift-b 170s ease-in-out infinite}.p-pluto{top:52vh;right:1.5vw;width:clamp(14px,2vw,30px);opacity:.38;animation:drift-c 210s ease-in-out infinite}@keyframes drift-a{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-10px,9px) rotate(1.2deg)}50%{transform:translate(-4px,18px) rotate(0)}75%{transform:translate(7px,8px) rotate(-1deg)}}@keyframes drift-b{0%,to{transform:translate(0)}30%{transform:translate(14px,-9px)}65%{transform:translate(6px,11px)}}@keyframes drift-c{0%,to{transform:translate(0)}50%{transform:translate(-18px,-7px)}}header{--shine-interval:10s;--shine-duration:1.5s;position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,5vw,3.5rem);background:transparent;border-bottom:none;overflow:visible}header .nav-btn{color:var(--txt-mid);background:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.92)) drop-shadow(0 0 10px rgba(4,8,22,.5));transition:color .2s ease,filter .2s ease}html[data-theme=light] header .nav-btn{color:#fff}header .nav-btn:hover{color:var(--txt-hi);filter:drop-shadow(0 1px 2px rgba(0,0,0,.92)) drop-shadow(0 0 14px rgba(255,255,255,.28)) drop-shadow(0 0 24px rgba(200,210,225,.22))}header .nav-btn.active{color:var(--accent);filter:drop-shadow(0 1px 2px rgba(0,0,0,.92)) drop-shadow(0 0 14px rgba(255,255,255,.28)) drop-shadow(0 0 24px rgba(200,210,225,.22))}header .nav-brand .site-wordmark{position:relative;display:inline-block;overflow:hidden;isolation:isolate}header .nav-brand .site-wordmark:after{content:"";position:absolute;top:0;left:-150%;width:60%;height:100%;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.05) 30%,rgba(255,255,255,.85) 48%,rgba(255,255,255,1) 50%,rgba(255,255,255,.85) 52%,rgba(255,255,255,.05) 70%,transparent 100%);transform:skew(-25deg);pointer-events:none;mix-blend-mode:overlay;z-index:2;-webkit-animation:wordmark-shine-sweep var(--shine-interval) linear infinite;animation:wordmark-shine-sweep var(--shine-interval) linear infinite}html[data-theme=light] header .nav-brand .site-wordmark:after{mix-blend-mode:soft-light}header .nav-brand .site-wordmark__text{position:relative;z-index:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.92)) drop-shadow(0 0 10px rgba(4,8,22,.5))}html[data-theme=light] header .nav-btn:hover,html[data-theme=light] header .nav-btn.active{filter:drop-shadow(0 1px 3px rgba(15,23,42,.45)) drop-shadow(0 0 12px rgba(255,255,255,.5)) drop-shadow(0 0 22px rgba(200,210,225,.32))}html[data-theme=light] header .nav-brand .site-wordmark__text{color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55)) drop-shadow(0 0 12px rgba(255,255,255,.35)) drop-shadow(0 0 18px rgba(15,23,42,.2))}.header-right{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;justify-content:flex-end;position:relative;overflow:visible}.header-theme-stack{position:relative;flex-shrink:0;display:flex;flex-direction:column;align-items:center;align-self:center}.header-saturn-wrap{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:calc(.12rem + clamp(.75rem,4vh,2rem));width:clamp(58px,14.4vw,112px);pointer-events:none;z-index:2}@media(min-width:961px){.header-saturn-wrap{margin-top:calc(.12rem + 5cm)}}.header-theme-stack .hero-saturn{margin-top:0;max-width:100%;width:100%}html:not([data-theme=light]) .header-theme-stack{margin-top:3px}nav{display:flex;gap:.25rem;align-items:center}.nav-menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;border-radius:10px;flex-shrink:0;padding:0;cursor:pointer;border:1px solid var(--border-ui);background:transparent;color:var(--txt-mid);transition:color .2s,border-color .2s;filter:drop-shadow(0 1px 2px rgba(0,0,0,.75))}html[data-theme=light] .nav-menu-toggle{color:#fff;border-color:#ffffff73;filter:none}.nav-menu-toggle:hover{color:var(--accent);border-color:var(--accent-dim)}.nav-menu-toggle__bar{display:block;width:18px;height:2px;border-radius:1px;background:currentColor}.nav-backdrop{display:none;position:fixed;left:0;right:0;top:var(--nav-h);bottom:0;z-index:98;background:#02040c85;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}html[data-theme=light] .nav-backdrop{background:#0f172a57}.header--nav-open .nav-backdrop{display:block}@media(max-width:960px){html[data-theme=light] header .nav-brand .site-wordmark__text{color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55)) drop-shadow(0 0 12px rgba(255,255,255,.35)) drop-shadow(0 0 18px rgba(15,23,42,.2))}html:not([data-theme=light]) .header-theme-stack{margin-top:0}.nav-menu-toggle{display:flex}#primary-nav{position:fixed;left:0;right:0;top:var(--nav-h);z-index:99;flex-direction:column;align-items:stretch;gap:0;padding:.35rem 1rem 1rem;max-height:0;overflow:hidden;opacity:0;pointer-events:none;background:transparent;border-bottom:none;transition:max-height .28s ease,opacity .22s ease}.header--nav-open #primary-nav{max-height:min(55vh,380px);opacity:1;pointer-events:auto}#primary-nav .nav-btn{width:100%;text-align:left;padding:.72rem .85rem;font-size:.78rem;border-radius:6px}#primary-nav .nav-btn:after{display:none}.header-saturn-wrap{position:fixed;top:calc(var(--nav-h) / 2);left:50%;margin-top:0;transform:translate(-50%,-50%);z-index:101}}@media(max-width:960px)and (prefers-reduced-motion:reduce){#primary-nav{transition:none}}.theme-toggle{width:38px;height:38px;border-radius:10px;border:1px solid var(--border-ui);background:transparent;color:var(--txt-mid);cursor:pointer;display:grid;place-items:center;flex-shrink:0;padding:0;transition:color .2s,border-color .2s;filter:drop-shadow(0 1px 2px rgba(0,0,0,.75))}html[data-theme=light] .theme-toggle{color:#fff;border-color:#ffffff73;filter:none}html[data-theme=light] .theme-toggle:hover,html[data-theme=light] .theme-toggle:focus-visible{color:var(--accent);border-color:var(--accent-dim)}.theme-toggle:hover{color:var(--accent);border-color:var(--accent-dim)}.theme-toggle svg{width:18px;height:18px;display:block;fill:currentColor}.nav-btn{font-family:var(--font-sans);font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-mid);background:none;border:none;cursor:pointer;padding:.5rem .9rem;border-radius:4px;position:relative;transition:color .2s ease}.nav-btn:after{content:"";position:absolute;bottom:5px;left:60%;right:60%;height:1px;background:var(--accent);transition:left .2s ease,right .2s ease}.nav-btn:hover{color:var(--txt-hi)}.nav-btn:hover:after,.nav-btn.active:after{left:.9rem;right:.9rem}.nav-btn.active{color:var(--accent)}#app{position:fixed;inset:var(--nav-h) 0 0 0;z-index:10;overflow:hidden}.page{position:absolute;inset:0;overflow-y:auto;padding:clamp(1.5rem,4vh,3rem) clamp(1rem,7vw,5rem);opacity:0;transform:translateY(12px) scale(.985);pointer-events:none;transition:opacity var(--pg-ease),transform var(--pg-ease);scrollbar-width:thin;scrollbar-color:var(--accent-dim) transparent}.page::-webkit-scrollbar{width:3px}.page::-webkit-scrollbar-track{background:transparent}.page::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:2px}.page.active{opacity:1;transform:none;pointer-events:auto}.page.exit{opacity:0;transform:translateY(-6px) scale(1.008)}.eyebrow{font-family:var(--font-sans);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);opacity:.8;margin-bottom:.45rem}h1{font-family:var(--font-sans);font-size:clamp(1.7rem,3.8vw,2.9rem);font-weight:900;line-height:1.1;color:var(--txt-hi);margin-bottom:.25rem}h2{font-family:var(--font-sans);font-size:clamp(.95rem,2vw,1.35rem);font-weight:600;letter-spacing:.06em;color:var(--accent);margin-bottom:1.4rem}h3.label{font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.1em;color:var(--txt-hi);margin-bottom:.4rem}p{font-size:.92rem;line-height:1.75;color:var(--txt-mid);max-width:62ch}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--accent-dim),transparent);margin:1.8rem 0}.end{height:3.5rem}.card{padding:1.4rem 1.6rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px}.card h3.label{border-bottom:1px solid var(--card-label-border);padding-bottom:.5rem;margin-bottom:1rem}html[data-theme=light] .card,html[data-theme=light] .proj-card,html[data-theme=light] #page-contact .form-group input,html[data-theme=light] #page-contact .form-group textarea{border-radius:10px;backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);box-shadow:0 12px 40px #0f172a24,0 2px 8px #0f172a0f,inset 0 1px #ffffff8c}html[data-theme=light] #page-contact .form-group input,html[data-theme=light] #page-contact .form-group textarea{background:var(--card-bg);border:1px solid var(--card-border);color:#0a0a0a}html[data-theme=light] #page-contact .form-group input::placeholder,html[data-theme=light] #page-contact .form-group textarea::placeholder{color:#0f172a80}@media(prefers-reduced-motion:reduce){html[data-theme=light] .card,html[data-theme=light] .proj-card,html[data-theme=light] #page-contact .form-group input,html[data-theme=light] #page-contact .form-group textarea{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}.cv-hero{margin-bottom:2.5rem}.cv-hero-main{display:grid;grid-template-columns:minmax(0,min(100%,320px)) 1fr;gap:2rem;align-items:start;min-width:0}.hero-saturn{margin-top:0;max-width:clamp(58px,14.4vw,112px);pointer-events:none;opacity:.72;animation:drift-a 130s ease-in-out infinite}.hero-saturn picture{display:block;width:100%}.hero-saturn img{display:block;width:100%;height:auto}@media(max-width:960px){.cv-hero-main{grid-template-columns:1fr;gap:1.25rem}.cv-photo{width:min(100%,224px);max-width:min(100%,224px);justify-self:center}}.cv-photo{flex-shrink:0;display:block;min-width:0;width:min(100%,320px);max-width:min(100%,320px);height:auto;border:2px solid rgba(255,255,255,.55);border-radius:10px;box-shadow:0 4px 24px #00000047,0 0 0 1px #ffffff1f;align-self:start;object-fit:contain}.cv-info{min-width:0}#page-home .cv-info p{max-width:none}.cv-info .role{font-size:.92rem;color:var(--accent);font-weight:300;letter-spacing:.04em;margin-bottom:.9rem}.badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.badge{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--txt-mid);text-decoration:none;transition:color .25s}.badge:hover{color:var(--accent)}.badge-icon{width:28px;height:28px;border-radius:50%;border:1px solid rgba(74,144,217,.28);display:grid;place-items:center;font-size:.65rem}html[data-theme=light] .badge-icon{border-color:#2563eb47}.cv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}@media(max-width:680px){.cv-grid{grid-template-columns:1fr}}.cv-entry{margin-bottom:1.1rem}.cv-entry:last-child{margin-bottom:0}.cv-entry-title{font-weight:600;font-size:.88rem;color:var(--txt-hi);margin-bottom:2px}.cv-entry-where{font-size:.76rem;color:var(--accent);opacity:.82;margin-bottom:3px}.cv-entry-desc{font-size:.8rem;color:var(--txt-mid);line-height:1.55}html[data-theme=light] #page-home .card h3.label{color:#0a0a0a;border-bottom-color:#0a0a0a26}html[data-theme=light] #page-home .card .cv-entry-title,html[data-theme=light] #page-home .card .cv-entry-where,html[data-theme=light] #page-home .card .cv-entry-desc,html[data-theme=light] #page-home .card .bar-meta{color:#0a0a0a}html[data-theme=light] #page-home .card .cv-entry-where{opacity:1}html[data-theme=light] #page-home .card .divider{background:linear-gradient(90deg,transparent,rgba(10,10,10,.22),transparent)}html[data-theme=light] #page-projects .eyebrow,html[data-theme=light] #page-projects h1,html[data-theme=light] #page-projects>p{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55)}html[data-theme=light] #page-projects .proj-card .proj-tag,html[data-theme=light] #page-projects .proj-card h3.label,html[data-theme=light] #page-projects .proj-card p,html[data-theme=light] #page-projects .proj-card .proj-link{color:#fff}html[data-theme=light] #page-projects .proj-card .proj-link{border-bottom-color:#ffffff6b}html[data-theme=light] #page-projects .proj-card .proj-link:hover,html[data-theme=light] #page-projects .proj-card .proj-link:focus-visible{color:#ffffffeb;border-bottom-color:#ffffffa6}html[data-theme=light] #page-skills .eyebrow,html[data-theme=light] #page-skills h1,html[data-theme=light] #page-skills>p{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55)}html[data-theme=light] #page-skills .card h3.label{color:#fff;border-bottom-color:#ffffff59}html[data-theme=light] #page-skills .card .bar-meta{color:#fff}html:not([data-theme=light]) .card h3.label,html:not([data-theme=light]) .card .cv-entry-title,html:not([data-theme=light]) .card .cv-entry-where,html:not([data-theme=light]) .card .cv-entry-desc,html:not([data-theme=light]) .card .bar-meta{color:#fff}html:not([data-theme=light]) .card .cv-entry-where{opacity:1}html:not([data-theme=light]) .proj-card h3.label,html:not([data-theme=light]) .proj-card .proj-tag,html:not([data-theme=light]) .proj-card p,html:not([data-theme=light]) .proj-card .proj-link{color:#fff}html:not([data-theme=light]) .proj-card .proj-link{border-bottom-color:#ffffff6b}.bar-row{margin-bottom:.75rem}.bar-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--txt-mid);margin-bottom:4px}.bar-track{height:2px;background:var(--bar-track-bg);border-radius:2px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),rgba(100,210,255,.85));border-radius:2px;transform-origin:left;animation:grow 1.3s ease-out forwards}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.3rem;margin-top:1.5rem}.proj-card{padding:1.4rem 1.5rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;transition:border-color .3s,transform .3s}.proj-card:hover{border-color:#4a90d952;transform:translateY(-3px)}html[data-theme=light] .proj-card:hover{border-color:#ffffff9e;box-shadow:0 14px 44px #0f172a29,0 2px 10px #0f172a12,inset 0 1px #ffffffa6}.proj-tag{display:inline-block;font-family:var(--font-sans);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:#4a90d91a;padding:2px 8px;border-radius:3px;margin-bottom:.7rem}html[data-theme=light] .proj-tag{background:#2563eb1a}.proj-card h3.label{font-size:.88rem}.proj-card p{font-size:.8rem;margin-top:.45rem;max-width:none}.proj-links{display:flex;gap:.8rem;margin-top:1rem}.proj-link{font-family:var(--font-sans);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-mid);text-decoration:none;border-bottom:1px solid var(--txt-lo);padding-bottom:1px;transition:color .25s,border-color .25s}.proj-link:hover{color:var(--accent);border-color:var(--accent)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:1.3rem;margin-top:1.5rem}.form-wrap{max-width:520px;display:flex;flex-direction:column;gap:.9rem;margin-top:1.4rem}.form-group label{display:block;font-family:var(--font-sans);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-lo);margin-bottom:.35rem}.form-group input,.form-group textarea{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;padding:.7rem .9rem;font-family:var(--font-sans);font-size:.88rem;color:var(--txt-hi);outline:none;transition:border-color .22s}.form-group input:focus,.form-group textarea:focus{border-color:#4a90d98c}html[data-theme=light] .form-group input:focus,html[data-theme=light] .form-group textarea:focus{border-color:#2563eb8c}.form-group textarea{resize:vertical;min-height:110px}.btn-send{align-self:flex-start;font-family:var(--font-sans);font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--txt-hi);background:#4a90d924;border:1px solid var(--accent-dim);padding:.7rem 2rem;border-radius:4px;cursor:pointer;transition:background .25s,border-color .25s}.btn-send:hover{background:#4a90d942;border-color:#4a90d9a6}html[data-theme=light] .btn-send{background:#2563eb1f}html[data-theme=light] .btn-send:hover{background:#2563eb33}.social-links{display:flex;flex-direction:column;gap:.8rem;margin-top:.5rem}.social-link{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--txt-mid);text-decoration:none;transition:color .25s}.social-link:hover{color:var(--accent)}.social-icon{width:30px;height:30px;border-radius:50%;border:1px solid rgba(74,144,217,.25);display:grid;place-items:center;font-size:.65rem;font-family:var(--font-sans);flex-shrink:0}.social-icon svg{width:16px;height:16px;display:block;fill:currentColor}html[data-theme=light] .social-icon{border-color:#2563eb40}@media(max-width:520px){.nav-btn{padding:.5rem .6rem}.site-wordmark__text{font-size:clamp(.66rem,4.4vw,.97rem);letter-spacing:.035em}}
