*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.block{display:block}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--ink:#202941;--muted:#68758d;--blue:#a9d8f0;--blue-deep:#65b6df;--blue-soft:#e7f5fc;--pink:#f3abc6;--pink-deep:#db769e;--pink-soft:#ffedf4;--cream:#f8fbff;--white:#fff;--yellow:#f4dfa0;--line:#2029411f;--shadow:0 22px 60px #2f496b1a;--radius:26px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{color:var(--ink);background:var(--cream);margin:0;font-family:DM Sans,sans-serif;overflow-x:hidden}body,button,input,textarea{font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}button{color:inherit}::selection{background:var(--pink);color:var(--ink)}.progress{background:linear-gradient(90deg, var(--blue-deep), var(--pink-deep));z-index:120;width:0;height:3px;position:fixed;inset:0 auto auto 0}.cursor-flower{z-index:150;pointer-events:none;opacity:0;filter:drop-shadow(0 3px 5px #db769e40);width:27px;height:27px;transition:opacity .2s,transform .12s ease-out;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-flower svg{width:100%;height:100%;display:block}.cursor-flower.is-hover{transform:translate(-50%,-50%)rotate(18deg)scale(1.28)}@media (pointer:fine){body,a,button,input,textarea{cursor:none}}.nav-wrap{z-index:100;padding:0 22px;position:fixed;inset:12px 0 auto}.nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid #ffffffe6;border-radius:22px;justify-content:space-between;align-items:center;gap:20px;width:min(1160px,100%);min-height:68px;margin:auto;padding:10px 14px 10px 20px;display:flex;box-shadow:0 12px 40px #2e476717}.brand{letter-spacing:-.5px;white-space:nowrap;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:1rem;font-weight:800;display:inline-flex}.brand-mark{background:var(--pink-soft);width:36px;height:36px;color:var(--pink-deep);border-radius:13px;place-items:center;font-size:19px;display:grid;transform:rotate(-8deg)}.nav-links{color:#536078;align-items:center;gap:clamp(14px,2.2vw,28px);font-size:.84rem;font-weight:700;display:flex}.nav-links a{transition:color .2s,transform .2s}.nav-links a:hover{color:var(--pink-deep);transform:translateY(-2px)}.nav-hello{background:var(--ink);border:0;border-radius:999px;padding:11px 17px;box-shadow:0 5px #20294124;color:#fff!important}.menu-btn{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 12px;font-weight:800;display:none}main{overflow:hidden}.hero{grid-template-columns:1.08fr .92fr;align-items:center;gap:65px;width:min(1160px,100%);min-height:760px;margin:auto;padding:160px 28px 100px;display:grid;position:relative}.hero:before{content:"";filter:blur(1px);opacity:.95;background:radial-gradient(circle at 35% 35%,#e8f7ff 0,#d4effb 48%,#f3abc647 100%);border-radius:50%;width:570px;height:570px;position:absolute;top:115px;right:-70px}.hero:after{content:"";background:var(--pink-soft);filter:blur(2px);border-radius:50%;width:150px;height:150px;position:absolute;bottom:85px;left:0}.hero-copy,.hero-visual{z-index:1;position:relative}.eyebrow{color:#5b6881;letter-spacing:1.2px;text-transform:uppercase;background:#ffffffc7;border:1px solid #2029411a;border-radius:999px;align-items:center;gap:9px;padding:9px 14px;font-size:.72rem;font-weight:800;display:inline-flex}.eyebrow-dot{background:var(--pink-deep);width:7px;height:7px;box-shadow:0 0 0 4px var(--pink-soft);border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}.hero h1{letter-spacing:-5px;max-width:660px;margin:25px 0 20px;font-size:clamp(3.7rem,7vw,6.3rem);font-weight:800;line-height:.99}.hero h1 .hello{letter-spacing:-.8px;color:#75829a;font-size:.38em;font-weight:700;line-height:1.4;display:block}.hero h1 .name{color:var(--pink-deep);display:inline-block;position:relative}.hero h1 .name:after{content:"";z-index:-1;background:var(--blue);opacity:.72;border-radius:99px;height:17px;position:absolute;bottom:7px;left:1px;right:-5px;transform:rotate(-2deg)}.hero-desc{max-width:560px;color:var(--muted);margin-bottom:27px;font-size:1.04rem;line-height:1.9}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn{border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:9px;padding:13px 19px;font-size:.87rem;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--ink);color:#fff;box-shadow:0 7px #2029411f}.btn-primary:hover{box-shadow:0 10px 18px #20294126}.btn-soft{border-color:var(--line);color:var(--ink);background:#fff}.btn-soft:hover{background:var(--blue-soft)}.hero-meta{color:#7c879b;flex-wrap:wrap;align-items:center;gap:18px;margin-top:35px;font-size:.77rem;font-weight:700;display:flex}.hero-meta span{align-items:center;gap:7px;display:inline-flex}.hero-meta b{color:var(--ink);font-size:.84rem}.hero-visual{place-items:center;min-height:460px;display:grid}.portrait-halo{background:linear-gradient(135deg,#ffffffd9,#f3abc640);border:1px solid #ffffffe6;border-radius:50%;width:390px;height:390px;position:absolute;box-shadow:inset 0 0 60px #ffffff80}.portrait-card{aspect-ratio:.82;background:#ffffffe0;border:1px solid #fff;border-radius:26px;width:min(320px,75vw);padding:12px;position:relative;transform:rotate(3deg);box-shadow:0 28px 70px #2c486f30}.portrait-inner{background:linear-gradient(145deg,#d8effa,#fbe1ec);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:260px;display:flex;position:relative;overflow:hidden}.portrait-inner:before,.portrait-inner:after{content:"";border:1px solid #ffffffa6;border-radius:50%;position:absolute}.portrait-inner:before{width:240px;height:240px;top:-105px;right:-95px}.portrait-inner:after{width:185px;height:185px;bottom:-100px;left:-72px}.portrait-placeholder{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:12px;padding:18px;display:flex;position:relative}.initials{width:116px;height:116px;color:var(--pink-deep);background:#ffffffbf;border:1px solid #fff;border-radius:38px;place-items:center;font-family:Manrope;font-size:2.7rem;font-weight:800;display:grid;box-shadow:0 10px 30px #3c57761a}.portrait-placeholder strong{font-family:Manrope;font-size:.92rem}.portrait-placeholder small{color:#76839a;max-width:190px;line-height:1.55}.portrait-real{-o-object-fit:cover;object-fit:cover;z-index:2;width:100%;height:100%;display:none;position:absolute;inset:0}.portrait-caption{z-index:4;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#56637b;background:#ffffffe0;border-radius:12px;padding:9px 12px;font-size:.75rem;font-weight:800;position:absolute;bottom:12px;left:12px;right:12px}.portrait-controls{z-index:5;border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:6px;display:flex;position:absolute;bottom:-22px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #2c486f1f}.round-btn{background:var(--blue-soft);width:30px;height:30px;color:var(--ink);border:0;border-radius:50%;font-weight:900}.round-btn:hover{background:var(--pink-soft)}.portrait-count{color:#7a8599;text-align:center;min-width:32px;font-size:.7rem;font-weight:800}.upload-tag{z-index:6;border:1px solid var(--line);color:#617089;background:#fff;border-radius:12px;align-items:center;gap:7px;padding:10px 13px;font-size:.73rem;font-weight:800;display:inline-flex;position:absolute;top:20px;left:-58px;transform:rotate(-7deg);box-shadow:0 10px 25px #2c486f1a}.float-tag{z-index:5;background:var(--pink-soft);color:#a85e7e;border:1px solid #fff;border-radius:14px;padding:12px 15px;font-size:.78rem;font-weight:800;animation:4.5s ease-in-out infinite bob;position:absolute;bottom:63px;right:-30px;transform:rotate(7deg);box-shadow:0 10px 24px #2c486f14}.tiny-flower{color:var(--pink-deep);font-size:27px;animation:3.5s ease-in-out infinite twinkle;position:absolute}.flower-one{top:62px;right:8px}.flower-two{font-size:20px;animation-delay:-1.3s;bottom:55px;left:0}.strip{z-index:2;background:var(--ink);color:#f4f8ff;padding:17px 0;position:relative;overflow:hidden}.strip-track{white-space:nowrap;letter-spacing:1.3px;gap:36px;width:max-content;font-size:.78rem;font-weight:800;animation:33s linear infinite marquee;display:flex}.strip-track span{align-items:center;gap:15px;display:inline-flex}.strip-track i{color:var(--pink);font-size:1rem;font-style:normal}.section{padding:108px 26px}.section-inner{width:min(1080px,100%);margin:auto}.section-heading{text-align:center;max-width:650px;margin:0 auto 52px}.section-label{color:var(--pink-deep);letter-spacing:1.8px;text-transform:uppercase;font-size:.72rem;font-weight:800}.section-heading h2{letter-spacing:-2px;margin:13px 0 12px;font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.12}.section-heading p{color:var(--muted);margin-bottom:0;font-size:.96rem;line-height:1.8}.about-section{background:#fff;position:relative}.about-grid{grid-template-columns:.84fr 1.16fr;align-items:center;gap:65px;display:grid}.about-visual{background:linear-gradient(145deg, var(--blue-soft), #f9e9f0);border-radius:28px;place-items:center;min-height:340px;display:grid;position:relative;overflow:hidden}.about-visual:before{content:"";border:1px solid #ffffffe6;border-radius:50%;width:255px;height:255px;position:absolute}.about-visual:after{content:"";border:1px solid #ffffffbf;border-radius:50%;width:180px;height:180px;position:absolute}.about-monogram{z-index:1;width:145px;height:145px;color:var(--pink-deep);background:#ffffffd1;border-radius:42px;place-items:center;font:800 3.5rem Manrope;display:grid;transform:rotate(-7deg);box-shadow:0 18px 42px #415e7d1f}.note-chip{z-index:2;color:#68758d;background:#fff;border:1px solid #20294114;border-radius:12px;padding:10px 13px;font-size:.73rem;font-weight:800;position:absolute;box-shadow:0 8px 22px #364e6e17}.note-chip.a{top:24px;left:18px;transform:rotate(-6deg)}.note-chip.b{background:var(--pink-soft);color:#a85e7e;bottom:25px;right:16px;transform:rotate(5deg)}.about-copy h3{letter-spacing:-.7px;margin-bottom:14px;font-size:1.55rem}.about-copy p{color:var(--muted);margin-bottom:14px;font-size:.94rem;line-height:1.9}.fact-list{flex-wrap:wrap;gap:9px;margin-top:24px;display:flex}.fact{border:1px solid var(--line);color:#58657d;background:#fbfdff;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-size:.75rem;font-weight:800;display:inline-flex}.fact b{color:var(--pink-deep)}.skills-section{background:#f2f9fd}.skills-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.skill-card{background:#fff;border:1px solid #20294114;border-radius:21px;min-height:220px;padding:25px;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 28px #364e6e0d}.skill-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px #364e6e1a}.skill-icon{border-radius:15px;place-items:center;width:47px;height:47px;margin-bottom:17px;font-size:1.35rem;display:grid}.skill-icon.blue{background:var(--blue-soft)}.skill-icon.pink{background:var(--pink-soft)}.skill-icon.yellow{background:#fff7df}.skill-icon.lilac{background:#f0edff}.skill-icon.mint{background:#e9f6f0}.skill-card h3{letter-spacing:-.3px;margin-bottom:8px;font-size:1.02rem}.skill-card p{color:var(--muted);min-height:55px;margin-bottom:14px;font-size:.82rem;line-height:1.7}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{color:#69768b;background:#f6f8fb;border:1px solid #edf0f5;border-radius:8px;padding:6px 9px;font-size:.67rem;font-weight:800}.experience-section{background:#fff}.timeline{max-width:850px;margin:auto;position:relative}.timeline:before{content:"";background:linear-gradient(var(--blue), var(--pink));width:2px;position:absolute;top:20px;bottom:20px;left:27px}.timeline-item{grid-template-columns:56px 1fr;gap:22px;margin-bottom:22px;display:grid;position:relative}.timeline-icon{z-index:1;background:#fff;border:1px solid #2029411a;border-radius:18px;place-items:center;width:56px;height:56px;font-size:1.35rem;transition:transform .2s,background .2s;display:grid;position:relative;box-shadow:0 7px 18px #2d456514}.timeline-icon:hover{background:var(--pink-soft);transform:translateY(-3px)rotate(-5deg)}.timeline-card{background:#fbfdff;border:1px solid #20294117;border-radius:20px;padding:22px 25px;transition:box-shadow .2s,transform .2s}.timeline-card:hover{transform:translate(4px);box-shadow:0 12px 28px #364e6e12}.timeline-period{color:var(--pink-deep);text-transform:uppercase;letter-spacing:1px;font-size:.68rem;font-weight:800}.timeline-card h3{margin:7px 0 4px;font-size:1.08rem}.timeline-place{color:#718099;font-size:.82rem;font-weight:700}.timeline-card p{color:var(--muted);margin:10px 0 13px;font-size:.84rem;line-height:1.75}.text-btn{color:#b45f82;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:.77rem;font-weight:800;display:inline-flex}.text-btn:hover{color:var(--ink)}.education-section{background:linear-gradient(120deg,#eaf7fd,#fff1f6)}.education-grid{grid-template-columns:1fr 1fr;gap:17px;max-width:850px;margin:auto;display:grid}.education-card{background:#ffffffe0;border:1px solid #fff;border-radius:20px;align-items:center;gap:16px;padding:24px;display:flex;box-shadow:0 10px 25px #364e6e0f}.education-icon{background:var(--blue-soft);border-radius:16px;flex:0 0 52px;place-items:center;height:52px;font-size:1.35rem;display:grid}.education-period{color:var(--pink-deep);letter-spacing:.7px;font-size:.68rem;font-weight:800}.education-card h3{margin:5px 0;font-size:.98rem}.education-card p{color:var(--muted);margin:0;font-size:.78rem}.projects-section{background:#fbfdff}.filter-row{flex-wrap:wrap;justify-content:center;gap:8px;margin:-21px auto 32px;display:flex}.filter-btn{border:1px solid var(--line);color:#68758d;background:#fff;border-radius:999px;padding:9px 14px;font-size:.74rem;font-weight:800;transition:all .2s}.filter-btn.active,.filter-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.project-card{background:#fff;border:1px solid #20294117;border-radius:22px;transition:transform .25s,box-shadow .25s;overflow:hidden;box-shadow:0 10px 28px #364e6e0d}.project-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #364e6e1c}.project-cover{place-items:center;height:185px;display:grid;position:relative;overflow:hidden}.project-cover:before{content:"";border:1px solid #fff9;border-radius:50%;width:220px;height:220px;position:absolute;top:-120px;right:-50px}.project-cover:after{content:"";background:#ffffff2b;border-radius:50%;width:160px;height:160px;position:absolute;bottom:-90px;left:-55px}.project-cover.blue{background:linear-gradient(135deg,#bce4f5,#e6f5fb)}.project-cover.pink{background:linear-gradient(135deg,#f7c9da,#fff0f5)}.project-cover.lilac{background:linear-gradient(135deg,#dcd8f4,#f2efff)}.project-cover.yellow{background:linear-gradient(135deg,#f5e5b4,#fff8e6)}.project-cover.mint{background:linear-gradient(135deg,#c9eadc,#effaf4)}.cover-symbol{z-index:1;background:#ffffffc4;border:1px solid #ffffffd9;border-radius:25px;place-items:center;width:82px;height:82px;font-size:2.25rem;display:grid;transform:rotate(-7deg);box-shadow:0 15px 30px #324b6e1a}.project-index{z-index:2;color:#65728a;letter-spacing:.9px;background:#ffffffc7;border-radius:999px;padding:6px 10px;font-size:.64rem;font-weight:800;position:absolute;top:14px;left:15px}.project-category{z-index:2;color:#66738a;text-transform:uppercase;letter-spacing:.8px;font-size:.64rem;font-weight:800;position:absolute;bottom:13px;right:14px}.project-content{padding:22px}.project-content h3{letter-spacing:-.6px;margin:5px 0 9px;font-size:1.15rem}.project-content p{color:var(--muted);min-height:58px;margin-bottom:15px;font-size:.83rem;line-height:1.75}.project-bottom{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-more{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:7px;padding:8px 12px;font-size:.72rem;font-weight:800;display:inline-flex}.project-more:hover{background:var(--blue-soft)}.contact-section{background:var(--ink);padding:100px 26px;position:relative;overflow:hidden}.contact-section:before{content:"";background:#a9d8f01f;border-radius:50%;width:400px;height:400px;position:absolute;top:-250px;left:-100px}.contact-section:after{content:"";background:#f3abc61f;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-230px;right:-70px}.contact-card{z-index:1;color:#fff;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff12;border:1px solid #ffffff29;border-radius:30px;width:min(920px,100%);margin:auto;padding:60px 45px;position:relative}.contact-card .section-label{color:var(--pink)}.contact-card h2{letter-spacing:-2.5px;margin:14px 0;font-size:clamp(2.3rem,5vw,4rem);line-height:1.08}.contact-card>p{color:#c5cede;max-width:570px;margin:0 auto 27px;font-size:.9rem;line-height:1.8}.contact-form{text-align:left;grid-template-columns:1fr 1fr;gap:12px;max-width:640px;margin:0 auto;display:grid}.contact-form label{color:#e2e8f2;gap:7px;font-size:.73rem;font-weight:800;display:grid}.contact-form label.full{grid-column:1/-1}.contact-form input,.contact-form textarea{color:#fff;background:#ffffff17;border:1px solid #ffffff30;border-radius:12px;outline:none;width:100%;padding:13px 14px;font-size:.82rem}.contact-form input::-moz-placeholder{color:#aab5c7}.contact-form textarea::-moz-placeholder{color:#aab5c7}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#aab5c7}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px #f3abc61f}.contact-form textarea{resize:vertical;min-height:115px}.contact-form button{background:var(--pink);color:var(--ink);border:0;grid-column:1/-1;justify-self:center;margin-top:5px}.contact-note{color:#aab5c7!important;margin:13px auto 25px!important;font-size:.7rem!important}.contact-links{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.contact-link{color:#edf3fb;border:1px solid #fff3;border-radius:999px;padding:10px 14px;font-size:.75rem;font-weight:700}.contact-link:hover{background:#ffffff1a}footer{text-align:center;color:#8592a8;background:#192137;padding:25px;font-size:.72rem}footer span{color:var(--pink)}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(22px)}.reveal.visible{opacity:1;transform:translateY(0)}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1820339e;place-items:center;padding:22px;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.modal{background:#fbfdff;border:1px solid #fff;border-radius:24px;width:min(760px,100%);max-height:88vh;padding:25px;animation:.25s popIn;overflow-y:auto;box-shadow:0 25px 80px #00000038}.modal-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:17px;display:flex}.modal-kicker{color:var(--pink-deep);letter-spacing:1.4px;text-transform:uppercase;font-size:.66rem;font-weight:800}.modal-head h3{margin:5px 0;font-size:1.4rem}.modal-sub{color:var(--muted);font-size:.78rem;font-weight:700}.close-btn{border:1px solid var(--line);background:#fff;border-radius:11px;flex:none;width:36px;height:36px;font-size:1rem;font-weight:800}.modal-description{color:var(--muted);font-size:.87rem;line-height:1.8}.modal-highlights{flex-wrap:wrap;gap:8px;margin:16px 0 20px;display:flex}.highlight{background:var(--blue-soft);color:#536982;border-radius:9px;padding:8px 11px;font-size:.72rem;font-weight:800}.gallery-title{margin:22px 0 12px;font:800 .84rem Manrope}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.gallery-empty{text-align:center;color:#7a879b;background:#f7faff;border:1px dashed #cbd6e4;border-radius:15px;grid-column:1/-1;padding:24px;font-size:.78rem;line-height:1.7}.gallery-photo{border:1px solid var(--line);background:#fff;border-radius:13px;margin:0;padding:7px}.gallery-photo img{aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;border-radius:8px;width:100%;display:block}.gallery-photo figcaption{color:#69758b;overflow-wrap:anywhere;padding:7px 3px 2px;font-size:.68rem;font-weight:700}.modal-actions{flex-wrap:wrap;gap:9px;margin-top:16px;display:flex}.upload-inline{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:8px;padding:10px 13px;font-size:.75rem;font-weight:800;display:inline-flex}.upload-inline:hover{background:var(--pink-soft)}.modal-note{color:#8792a5;margin:13px 0 0;font-size:.68rem;line-height:1.6}.toast{z-index:300;background:var(--ink);color:#fff;opacity:0;pointer-events:none;border-radius:999px;padding:12px 16px;font-size:.76rem;font-weight:700;transition:all .25s;position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);box-shadow:0 10px 30px #0000002e}.toast.show{opacity:1;transform:translate(-50%)}@keyframes bob{0%,to{transform:translateY(0)rotate(7deg)}50%{transform:translateY(-9px)rotate(4deg)}}@keyframes twinkle{0%,to{opacity:.7;transform:scale(.85)rotate(-7deg)}50%{opacity:1;transform:scale(1.16)rotate(12deg)}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=850px){.hero{text-align:center;grid-template-columns:1fr;gap:20px;padding-top:145px}.hero-desc{margin-left:auto;margin-right:auto}.hero-actions,.hero-meta{justify-content:center}.hero-visual{min-height:440px}.hero:before{width:460px;height:460px;top:650px;right:50%;transform:translate(50%)}.about-grid{grid-template-columns:1fr;gap:32px}.about-visual{width:min(440px,100%);margin:auto}.skills-grid{grid-template-columns:repeat(2,1fr)}.nav-links{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff7;border-radius:18px;flex-direction:column;align-items:stretch;gap:15px;padding:18px;display:none;position:absolute;top:77px;left:22px;right:22px}.nav-links.open{display:flex}.nav-links a{padding:6px 8px}.menu-btn{display:block}}@media (width<=580px){.nav-wrap{padding:0 12px;inset:8px 0 auto}.nav{border-radius:17px;min-height:60px;padding:8px 10px 8px 14px}.brand{font-size:.88rem}.brand-mark{width:32px;height:32px}.nav-links{top:68px;left:12px;right:12px}.hero{min-height:auto;padding:125px 22px 75px}.hero h1{letter-spacing:-3.5px;font-size:4rem}.hero-desc{font-size:.93rem}.hero-visual{min-height:380px}.portrait-halo{width:310px;height:310px}.portrait-card{width:255px}.upload-tag{font-size:.66rem;top:24px;left:-30px}.float-tag{font-size:.68rem;bottom:50px;right:-12px}.section{padding:78px 20px}.section-heading{margin-bottom:35px}.section-heading h2{letter-spacing:-1.2px}.skills-grid,.projects-grid,.education-grid{grid-template-columns:1fr}.skill-card,.skill-card p{min-height:auto}.timeline{margin-left:0}.timeline:before{left:21px}.timeline-item{grid-template-columns:44px 1fr;gap:12px}.timeline-icon{border-radius:14px;width:44px;height:44px;font-size:1.1rem}.timeline-card{padding:17px}.contact-section{padding:75px 18px}.contact-card{padding:45px 19px}.contact-form{grid-template-columns:1fr}.contact-form label.full,.contact-form button{grid-column:auto}.contact-card h2{letter-spacing:-1.4px}.gallery-grid{grid-template-columns:1fr}.modal{padding:19px}.cursor-flower{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.add-photo-shortcut{z-index:7;border:1px solid var(--line);color:#68758d;white-space:nowrap;background:#fff;border-radius:999px;padding:8px 13px;font-size:.68rem;font-weight:800;position:absolute;bottom:-13px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #2c486f1a}.add-photo-shortcut:hover{background:var(--pink-soft);color:#a85e7e}
