/* ponytail: retain legacy admin/auth styling while public portfolio takes the Flux-inspired treatment; split bundles if admin also redesigns. */
:root{--bg:#f7f6f1;--surface:#fffefa;--surface-high:#fffefa;--text:#252922;--muted:#50594f;--accent:#3f6347;--primary:#45674c;--line:#d5d9d0;--control:#687568;--radius:14px;color-scheme:light}
*{box-sizing:border-box}html{scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(2.8rem,6.4vw,6rem);font-weight:700}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:1.35rem}p{margin-bottom:1.25rem}strong{font-weight:600}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}.muted{color:var(--muted)}.accent{color:var(--accent)}.preserve{white-space:pre-line}.section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:18px}.actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:13px 23px;border:1px solid var(--control);border-radius:10px;font-weight:600;font-size:.875rem;line-height:1.4;background:var(--surface);color:var(--text)}.primary{background:var(--primary);border-color:var(--primary);color:#fff}.primary:hover{background:#6d28d9}.neo{background:var(--surface);border-color:#454550}.neo:hover{background:#24242e}.danger{background:#2b1b25;color:#ffbdcc;border-color:#bd8494}.danger:hover{background:#492637}.small{min-height:44px;padding:10px 16px;gap:8px}.full-width{width:100%}.text-link{display:inline-flex;min-height:44px;align-items:center;color:var(--muted);background:none;border:0;padding:0;font-size:.875rem}.text-link:hover{color:var(--accent);text-decoration:underline}.glass{background:rgba(20,20,28,.92);border:1px solid #30303b}.wordmark{font-size:1.4rem;font-weight:700;letter-spacing:-.06em;min-height:44px;display:flex;align-items:center}.wordmark span{color:var(--accent);font-size:2rem;line-height:1}.public-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:26px}.public-nav{display:flex;gap:6px;padding:5px 12px}.public-nav a{padding:10px 18px;font-size:.875rem;color:#c5c5cf;min-height:44px;border-radius:8px}.public-nav a:hover{background:#ffffff0c;color:#fff}.admin-link{font-size:.8125rem;color:var(--muted);min-height:44px;display:flex;align-items:center;gap:12px}.demo-note{font-size:.75rem;color:var(--muted);padding-block:9px;border-bottom:1px solid var(--line);margin:0}.hero{display:grid;gap:40px;padding:50px 0 58px;align-items:center}.intro{font-size:1rem;line-height:1.7;margin-bottom:24px}.intro span{font-size:.875rem;color:var(--muted)}.hero h1{white-space:pre-line;max-width:780px;margin-bottom:24px}.hero-description{color:var(--muted);font-size:.9375rem;max-width:440px;margin-bottom:32px;line-height:1.8}.featured{position:relative;display:block;min-width:0;padding:20px;background:#181820;border-radius:24px;isolation:isolate}.type-art{min-height:340px;display:flex;flex-direction:column;justify-content:center;padding:20px 14px 94px;background:#1a1821;border:1px solid #37313f;border-radius:14px;position:relative;overflow:hidden}.type-art span{font-weight:700;font-size:clamp(3.5rem,7vw,5.7rem);letter-spacing:-.08em;line-height:.95;z-index:1;color:#f1eaff}.type-art span:nth-child(2){color:#a78bfa}.type-art span:nth-child(3){color:transparent;-webkit-text-stroke:1px #a78bfa}.type-art i{position:absolute;width:220px;height:220px;border:40px solid #9569c72b;border-radius:50%;right:-90px;top:-50px;transform:rotate(-25deg)}.featured-label{position:absolute;bottom:34px;left:34px;right:34px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 20px;border-radius:12px}.featured-label small{font-size:.75rem;color:#c5c5cf;display:block;margin-bottom:4px}.featured-label strong{font-size:1rem;display:block;overflow-wrap:anywhere;line-height:1.3}.round-arrow{width:44px;height:44px;border:1px solid var(--control);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem}.featured:hover .round-arrow,.project-card:hover .round-arrow{background:var(--accent);color:#fff}.hero-empty{padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:24px}.large-initial{font-size:10rem;line-height:1;color:var(--accent);font-weight:700;letter-spacing:-.1em}.hero-empty p{margin:20px 0 0}.hero-empty p span{color:var(--muted)}.section-divider{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-block:1px solid var(--line);padding-block:20px;color:var(--muted);font-size:.75rem}.work-section{padding-block:68px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:.875rem;margin:0}.project-grid{display:grid;gap:32px}.project-card{min-width:0}.project-cover{min-height:240px;padding:26px;position:relative;display:flex;flex-direction:column;justify-content:center;border-radius:var(--radius);border:1px solid #37313f;overflow:hidden;gap:22px}.cover-0{background:#211a2b;color:#f0eaff}.cover-1{background:#201e28;color:#f1efff}.cover-2{background:#211a2b;color:#e5dbff}.project-cover strong{font-size:clamp(2.1rem,4.5vw,3.5rem);letter-spacing:-.06em;line-height:1.04;max-width:85%;overflow-wrap:anywhere;position:relative;z-index:1}.cover-category{font-size:.9rem;color:#c4b5fd}.cover-caption{font-size:.8rem;position:absolute;bottom:18px;left:26px;color:#b5b5c0}.project-cover:after{content:'';position:absolute;right:10%;width:180px;height:180px;border:1px solid currentColor;border-radius:50%;opacity:.16}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 2px}.project-meta p{font-size:.85rem;color:var(--muted);margin-bottom:7px}.project-meta h3{margin:0;font-size:1.2rem;letter-spacing:-.03em;overflow-wrap:anywhere}.project-meta .round-arrow{width:40px;height:40px}.about-section{display:grid;gap:32px;border-top:1px solid var(--line);padding-block:64px}.bio{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.65;color:#dedee6;overflow-wrap:anywhere}.skills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.skills span{padding:8px 15px;background:var(--surface);border:1px solid #30303b;border-radius:6px;color:#dedee6;font-size:.8125rem}.contact-section{display:grid;gap:40px;background:var(--surface);border:1px solid var(--line);padding:40px 28px;border-radius:24px;margin-block:16px 50px}.contact-section h2{font-size:clamp(2.7rem,5.5vw,4.8rem);margin-bottom:28px}.contact-section .muted{font-size:.9rem;margin:16px 0 0;overflow-wrap:anywhere}.availability{font-size:.9rem;margin-top:16px;color:#c4b5fd}.contact-form{min-width:0}.contact-form .section-label{margin-bottom:24px}.contact-form .form-grid{gap:0 16px}.contact-form .field{margin-bottom:18px}.contact-form .button{margin-top:4px}.public-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-block:24px;color:var(--muted);font-size:.85rem}.public-footer a{display:flex;min-height:44px;align-items:center}.detail-page{padding-block:30px 80px}.detail-page>.section-label{margin-top:28px}.detail-page>h1{font-size:clamp(3rem,6vw,5rem);overflow-wrap:anywhere}.detail-cover{min-height:360px;margin-block:40px}.detail-copy{display:grid;gap:24px;margin-top:48px}.detail-copy h2{font-size:2rem}.detail-copy .button{margin-top:16px}
.admin-shell{min-height:100dvh}.sidebar{background:#14141c;padding:20px;border-bottom:1px solid var(--line)}.sidebar-caption{font-size:.75rem;color:var(--muted);margin:8px 0 20px}.sidebar nav{display:flex;flex-wrap:wrap;gap:8px}.sidebar nav a{display:flex;gap:10px;align-items:center;min-height:44px;padding:10px 12px;border-radius:8px;font-size:.8125rem;color:var(--muted)}.sidebar nav a[aria-current]{background:#261c36;color:#e7d9ff;border:1px solid #5a4777}.sidebar nav a:hover{background:#211c2b;color:#fff}.sidebar nav span{font-size:1.1rem;width:22px}.sidebar-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.account{display:flex;gap:12px;align-items:center;min-width:0}.initial{width:38px;height:38px;border-radius:10px;background:#261c36;color:#c4b5fd;display:flex;justify-content:center;align-items:center;font-weight:700;flex-shrink:0}.account strong{display:block;font-size:.8125rem;overflow-wrap:anywhere}.account small{display:block;color:var(--muted);font-size:.7rem}.admin-content{min-width:0}.admin-topbar{display:flex;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--line);font-size:.75rem}.workspace-label{display:none;color:var(--muted)}.admin-main{padding:30px 20px;max-width:1250px;margin:auto}.admin-heading{display:flex;flex-direction:column;gap:20px;margin:8px 0 32px}.admin-heading h1{font-size:clamp(2.4rem,4vw,3.5rem);margin-bottom:14px}.admin-heading p{margin-bottom:0}.admin-heading .section-label{margin-bottom:12px}.management-note{padding:24px;background:#181820;border:1px solid #30303b;border-radius:var(--radius);margin-bottom:40px}.management-note strong{font-size:1.1rem}.management-note p{color:var(--muted);font-size:.875rem;margin:6px 0 10px}.management-note .text-link{color:#c4b5fd}.list-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.list-heading h2{font-size:1.2rem;letter-spacing:-.025em;margin:0}.list-heading>span{font-size:.75rem}.admin-project-list{border:1px solid var(--line);border-radius:var(--radius);background:#14141c}.admin-project-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:22px;border-bottom:1px solid var(--line)}.admin-project-row:last-child{border:0}.project-monogram{width:52px;height:58px;background:#261c36;border:1px solid #4d3b68;color:#d4b9ef;display:flex;align-items:center;justify-content:center;border-radius:9px;font-size:1.8rem;font-weight:700;flex-shrink:0}.row-title{flex:1;min-width:120px}.row-title h3{font-size:1rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 6px;overflow-wrap:anywhere}.row-title p{font-size:.75rem;color:var(--muted);margin:0}.status{font-size:.7rem;color:#d0c8d9;background:#211e27;padding:5px 10px;border-radius:5px;border:1px solid #554f60}.status.published{color:#dcc3ff;background:#2b2039;border-color:#7b6195}.row-actions{display:flex;gap:12px;margin-left:auto}.empty-state{padding:44px 24px;border:1px dashed #514858;border-radius:var(--radius);grid-column:1/-1}.admin-project-list .empty-state{border:0}.empty-state h3{font-size:1.5rem;margin-bottom:12px}.empty-state p{color:var(--muted);font-size:.875rem;max-width:500px}.panel{background:var(--surface);border:1px solid #30303b;border-radius:20px;padding:24px}.editor-form{max-width:940px}.editor-form>.muted{font-size:.8125rem}.form-grid{display:grid;gap:0 24px}.field{margin-bottom:24px;min-width:0}.field label{display:block;margin-bottom:10px;font-size:.8125rem;font-weight:600}.field label span{color:var(--accent)}.field input,.field textarea,.field select{display:block;width:100%;border:1px solid var(--control);padding:13px 16px;background:#101016;color:var(--text);border-radius:10px;min-height:48px}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#aaaab6}.field small{display:block;font-size:.75rem;margin-top:8px}.field-error{color:#ffbdcc;font-size:.8125rem;margin:8px 0 0}.field [aria-invalid]{border-color:#ffbdcc}.form-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:16px;padding-top:24px;border-top:1px solid var(--line)}.notice{background:#201b2a;color:#e5d3ff;border:1px solid #5d4b7a;padding:16px 20px;border-radius:10px;margin-bottom:24px;font-size:.875rem}.error-summary{background:#301d2a;color:#ffcfdb;border-color:#bd8494}.error-summary ul{padding-left:20px;margin-bottom:0}.error-summary a{text-decoration:underline;display:inline-block;padding-block:6px}.admin-footer{font-size:.75rem;color:var(--muted);padding:20px 24px;border-top:1px solid var(--line)}dialog{background:var(--surface-high);color:var(--text);border:1px solid var(--control);border-radius:20px;padding:28px;width:min(480px,calc(100% - 40px))}dialog::backdrop{background:#09050bd9}dialog h2{font-size:2rem}dialog p{font-size:.875rem;overflow-wrap:anywhere}dialog .actions{justify-content:flex-end}#delete-description{color:var(--accent);font-weight:600}.login-shell{display:grid;gap:40px;padding-block:48px 80px;align-items:center}.login-intro h1{font-size:clamp(2.8rem,5.4vw,5rem)}.login-intro>.muted{max-width:380px;font-size:1rem}.login-panel{width:100%;max-width:460px}.login-panel h2{font-size:1.8rem;margin-bottom:10px}.login-panel>.muted{font-size:.875rem;margin-bottom:28px}.login-hint{color:var(--muted);font-size:.75rem;margin:24px 0 0}code{color:#e0c6ff}.error-page{padding-block:100px}.error-page h1{font-size:clamp(2.8rem,5vw,4.5rem);max-width:800px}.error-page .button{margin:12px 12px 0 0}.skip{position:fixed;top:10px;left:20px;z-index:10;background:var(--accent);color:#fff;padding:12px;transform:translateY(-180%)}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-progress{position:fixed;bottom:20px;left:20px;z-index:20;background:var(--surface-high);color:var(--text);padding:12px 20px;border:1px solid var(--control);border-radius:10px;margin:0}button:disabled{opacity:.7;cursor:wait}
.career-timeline{list-style:none;margin:0;padding:8px 0 8px 30px;position:relative}.career-timeline::before{content:'';position:absolute;left:8px;top:16px;bottom:16px;width:2px;background:var(--line)}.career-entry{position:relative;padding:0 0 34px 18px}.career-entry:last-child{padding-bottom:0}.career-marker{position:absolute;left:-28px;top:5px;width:18px;height:18px;border:3px solid var(--accent);border-radius:50%;background:var(--bg);transition:background-color .3s,transform .3s}.career-entry.is-active .career-marker{background:var(--accent);transform:scale(1.08)}.career-stage{display:inline-flex;align-items:center;min-height:28px;padding:3px 12px;border:1px solid var(--line);border-radius:999px;color:var(--accent);font-size:.75rem;font-weight:600}.career-content h3{margin:12px 0 4px}.career-period{margin:0 0 8px;color:var(--muted);font-size:.9rem}.career-content .bio{margin-bottom:0}.project-card,.project-cover{transition:transform .25s ease,box-shadow .25s ease}.project-card:hover{transform:translateY(-3px)}.project-card:hover .project-cover{transform:scale(1.015)}[data-reveal]{transition:opacity .6s ease,transform .6s ease}[data-reveal].is-pending{opacity:0;transform:translateY(22px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}.skills span{display:flex;align-items:center;min-height:88px;padding:20px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:600}
.portfolio-public{--bg:#0b0b10;--surface:#14141c;--surface-high:#1b1b25;--text:#f5f5f7;--muted:#b5b5c0;--accent:#8b5cf6;--primary:#7040c0;--line:#30303b;--control:#777784;--radius:18px;color-scheme:dark;background:var(--bg);color:var(--text);font-family:var(--font-sans,'Instrument Sans'),Arial,sans-serif;font-size:16px}.portfolio-public [hidden]{display:none!important}.portfolio-public :is(h1,h2,h3,p){text-wrap:balance}.portfolio-public :is(main,section,.hero-copy,.about-copy,.contact-copy){min-width:0}.portfolio-public .wrap{width:min(1200px,calc(100% - 40px))}.portfolio-public .public-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;background:rgba(11,11,16,.97);border:0;border-bottom:1px solid #ffffff14;padding-block:16px}.portfolio-public .wordmark{font-size:1.2rem;letter-spacing:-.045em;max-width:70%;overflow-wrap:anywhere;color:#fff}.portfolio-public .wordmark span,.portfolio-public .accent{color:var(--accent)}.portfolio-public .public-nav{padding:0;gap:6px}.portfolio-public .public-nav a{font-size:.9rem;font-weight:500;color:#c5c5cf;border-radius:8px;padding:10px 15px}.portfolio-public .public-nav a:hover,.portfolio-public .public-nav a[aria-current="location"]{background:#ffffff0c;color:#fff}.portfolio-public .menu-toggle{min-height:44px;min-width:64px;padding:8px 14px;border:1px solid #4b4b58;border-radius:8px;background:var(--surface);color:var(--text)}.portfolio-public .section-label{font-size:.85rem;text-transform:none;letter-spacing:0;color:#aaaab6;margin-bottom:16px}.portfolio-public .button{border-radius:8px;box-shadow:none;padding:14px 22px;min-height:50px;color:#fff;background:#181820;border:1px solid #454550}.portfolio-public .button:hover{background:#24242e;border-color:#777784}.portfolio-public .primary{background:#7040c0;border-color:#7040c0;color:white}.portfolio-public .primary:hover{background:#6d28d9;border-color:#6d28d9}.portfolio-public .hero-banner{margin-top:12px;padding:clamp(30px,6vw,86px);gap:clamp(32px,6vw,88px);border:0;border-radius:20px;background:var(--hero-banner,#121118);background-size:cover;background-position:center;min-height:560px}.portfolio-public .hero-banner::before{background:rgba(11,11,16,.72)}.portfolio-public .hero-copy{background:transparent;padding:0;border-radius:0;text-shadow:none;color:var(--text);max-width:720px}.portfolio-public .hero-identity{font-weight:600;margin-bottom:24px;font-size:1rem;color:#d7d7df}.portfolio-public .hero-identity span{display:block;color:#aaaab6;font-size:.9rem;font-weight:400;margin-top:4px}.portfolio-public .hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:1.02;font-weight:600;letter-spacing:-.065em;overflow-wrap:anywhere;margin-bottom:22px;max-width:13ch}.portfolio-public .hero-description{color:#c3c3ce;max-width:48ch;font-size:1.05rem;line-height:1.75}.portfolio-public .hero-copy .neo{background:transparent;border-color:#555560;color:#fff}.portfolio-public .hero-copy .neo:hover{background:#ffffff0c}.portfolio-public .hero-copy :focus-visible{outline-color:white}.portfolio-public .hero-location{font-size:.85rem;color:#aaaab6;margin:24px 0 0}.portfolio-public .profile-photo-slot{align-self:center;width:min(100%,310px)}.portfolio-public .profile-photo-frame{border:0;padding:0;background:transparent}.portfolio-public .profile-photo,.portfolio-public .profile-photo-placeholder{display:block;width:100%;aspect-ratio:4/5;min-height:0;border:0;border-radius:18px;object-fit:cover;background:#1b1b25}.portfolio-public .profile-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#eeeef3;text-align:center;padding:24px}.portfolio-public .profile-photo-placeholder .large-initial{margin:0;color:#a78bfa}.portfolio-public .profile-photo-placeholder small{max-width:24rem;color:#b5b5c0}.portfolio-public .portrait-caption{margin:12px 0 0;color:var(--text);font-size:.9rem;text-align:center}.portfolio-public .portrait-caption span{display:block;color:var(--muted);font-size:.8rem;margin-top:3px}.portfolio-public .social-links{justify-content:flex-start;gap:8px 28px;padding-block:20px;border:0}.portfolio-public .social-links a{font-size:.9rem;color:#d2d2dc}.portfolio-public .social-links a:hover,.portfolio-public .social-links a span{color:#a78bfa}.portfolio-public .work-section{padding-block:100px 72px}.portfolio-public .section-heading h2{font-size:clamp(2.2rem,4.5vw,4rem);font-weight:600;letter-spacing:-.06em}.portfolio-public .section-heading>p{max-width:30ch;line-height:1.7;color:#b5b5c0;font-size:1rem}.portfolio-public .project-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.portfolio-public .project-filters{display:flex;flex-wrap:wrap;gap:8px}.portfolio-public .project-filters button{min-height:44px;padding:10px 16px;border:1px solid #373741;border-radius:7px;background:transparent;color:#c8c8d1;font-size:.9rem}.portfolio-public .project-filters button:hover{background:#22222b;color:white}.portfolio-public .project-filters button[aria-pressed="true"]{background:#7040c0;border-color:#7040c0;color:#fff}.portfolio-public .project-count{margin:0;font-size:.85rem;color:#aaaab6}.portfolio-public .project-grid{gap:40px 24px}.portfolio-public .project-card{display:block;min-width:0;border:0;padding:0;transform:none}.portfolio-public .project-cover{min-height:300px;border-radius:14px;border:1px solid #ffffff12;padding:clamp(25px,4vw,52px);gap:24px;transition:transform .3s ease,background-color .3s ease;transform:none}.portfolio-public .cover-0{background:#211a2b;color:#f0eaff}.portfolio-public .cover-1{background:#201e28;color:#f1efff}.portfolio-public .cover-2{background:#211a2b;color:#e5dbff}.portfolio-public .project-cover:after{display:block;right:10%;width:210px;height:210px;border:1px solid currentColor;border-radius:50%;opacity:.14}.portfolio-public .project-cover strong{font-size:clamp(2.4rem,4.5vw,4rem);font-weight:600;max-width:90%;z-index:1}.portfolio-public .cover-category{text-transform:none;letter-spacing:0;font-size:.9rem;color:#c4b5fd}.portfolio-public .cover-caption{font-size:.8rem;bottom:24px;left:clamp(25px,4vw,52px);color:#b5b5c0}.portfolio-public .project-card:hover .project-cover,.portfolio-public .project-card:focus-visible .project-cover{transform:translateY(-4px);background-color:#22222c}.portfolio-public .project-meta{padding:18px 0 10px}.portfolio-public .project-meta p{font-size:.85rem;color:#aaaab6}.portfolio-public .project-meta h3{font-size:1.35rem;font-weight:600}.portfolio-public .project-meta .round-arrow{border-color:#454550;color:#dedee6}.portfolio-public .project-description{font-size:.95rem;color:#b5b5c0;line-height:1.7;margin-bottom:12px}.portfolio-public .project-tools{font-size:.85rem;color:#c4b5fd;margin:0;overflow-wrap:anywhere}.portfolio-public .skills-section{padding-block:56px 84px;border:0}.portfolio-public .skills{grid-template-columns:repeat(auto-fit,minmax(min(100%,195px),1fr));gap:12px;margin:0}.portfolio-public .skill-card{background:#14141c;border:1px solid #30303b;border-radius:10px}.portfolio-public .skill-card summary{min-height:108px;font-size:1.35rem;color:#f1f1f5}.portfolio-public .skill-card summary:hover{background:#1b1b25}.portfolio-public .skill-card p{color:#b5b5c0}.portfolio-public .skill-carousel .skills{scrollbar-color:#7040c0 #24242d}.portfolio-public .skill-carousel .skill-card{background:#14141c}.portfolio-public .skills .skill-name{color:#f1f1f5}.portfolio-public .carousel-controls button{background:#14141c;color:#f5f5f7;border-color:#454550}.portfolio-public .carousel-controls button:hover{background:#22222b}.portfolio-public .about-section{border:0;padding-block:90px 110px;gap:32px}.portfolio-public .about-section h2{font-weight:600;font-size:clamp(2.6rem,5vw,4.8rem)}.portfolio-public .about-bio{font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.8;margin-bottom:40px;max-width:58ch;color:#e4e4eb}.portfolio-public .career-timeline::before{background:#34343e}.portfolio-public .career-marker{background:var(--bg)}.portfolio-public .career-stage{border:0;padding:0;min-height:24px;border-radius:0;font-size:.85rem;color:#aaaab6}.portfolio-public .career-content h3{font-size:1.25rem;font-weight:600;letter-spacing:-.025em}.portfolio-public .bio{color:#c0c0ca;font-size:1rem;line-height:1.75}.portfolio-public .contact-section{border:1px solid #30303b;border-radius:16px;padding:clamp(28px,5vw,64px);gap:40px;background:#13131a;margin-block:20px 90px}.portfolio-public .contact-section h2{font-weight:600;font-size:clamp(2.7rem,5vw,4.6rem)}.portfolio-public .contact-section .muted{color:#aaaab6}.portfolio-public .availability{color:#c4b5fd}.portfolio-public .contact-form{padding:clamp(20px,3vw,32px);background:#191920;border:1px solid #30303b;border-radius:12px}.portfolio-public .contact-form .field :is(input,textarea){box-shadow:none;border-radius:7px;background:#0f0f15;border:1px solid #454550;color:#f5f5f7;font-size:1rem}.portfolio-public .field label{color:#e6e6ec;font-size:.9rem}.portfolio-public .field [aria-invalid]{border-color:#f87171}.portfolio-public .contact-form .button{width:100%}.portfolio-public .notice{background:#201b2a;color:#e8ddff;border-color:#5d4b7a}.portfolio-public .error-summary{background:#29191d;color:#ffdadd;border-color:#81434b}.portfolio-public .public-footer{padding-block:26px;border:0;color:#aaaab6;font-size:.85rem}.portfolio-public .public-footer a:hover{color:#fff}.portfolio-public .detail-page{max-width:1120px;padding-block:44px 100px}.portfolio-public .detail-page>.section-label{margin-top:36px}.portfolio-public .detail-page>h1{font-size:clamp(3rem,7vw,6rem);margin:16px 0 36px;max-width:14ch}.portfolio-public .detail-cover{min-height:clamp(300px,44vw,560px);margin-block:40px;border-radius:16px}.portfolio-public .detail-copy{border-top:1px solid #30303b;padding-top:48px}.portfolio-public .detail-copy h2{font-size:clamp(1.8rem,3vw,2.6rem)}.portfolio-public .detail-copy .bio{font-size:1.15rem;color:#e0e0e8}.portfolio-public .detail-copy .button{margin-top:16px}.portfolio-public :focus-visible{outline-color:#c4b5fd}
@media(max-width:640px){.public-header{display:flex;flex-wrap:wrap;gap:10px 16px;padding-block:18px}.public-nav{order:3;width:100%;justify-content:center}.public-nav a{flex:1;text-align:center;padding-inline:12px}.hero{padding-top:36px}.hero .actions{gap:12px}.hero .button{flex:1;padding-inline:14px;gap:10px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.section-divider span:last-child{display:none}.row-actions{width:100%;margin-top:4px}.row-actions .button{flex:1}.status{margin-left:auto}.sidebar nav a{padding-inline:10px}.sidebar nav span{display:none}.career-timeline{padding-left:26px}.career-entry{padding-left:14px}.career-marker{left:-24px}.portfolio-public .public-header{flex-wrap:wrap;gap:8px;padding-block:10px}.portfolio-public .public-nav{width:100%;justify-content:space-between;order:3}.portfolio-public .public-nav a{flex:1;text-align:center;padding-inline:8px}.portfolio-public .public-header.has-menu:not(.menu-open) .public-nav{display:none}.portfolio-public .hero-banner{grid-template-columns:1fr;min-height:auto;padding:34px 24px}.portfolio-public .hero-banner::before{background:rgba(11,11,16,.82)}.portfolio-public .hero h1{font-size:clamp(2.8rem,12vw,4.5rem)}.portfolio-public .hero .actions{flex-direction:column;align-items:stretch}.portfolio-public .section-heading{flex-direction:column;align-items:flex-start;gap:16px}.portfolio-public .project-cover{min-height:260px}.portfolio-public .profile-photo-slot{margin-block:4px 8px}.portfolio-public .contact-form{padding:20px 16px}.portfolio-public .contact-section .form-grid{grid-template-columns:1fr}.portfolio-public .public-footer{gap:8px}}
@media(min-width:640px){.wrap{width:min(1180px,calc(100% - 80px))}.hero{padding-block:64px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-cover{min-height:270px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-heading{flex-direction:row;align-items:center;justify-content:space-between}.admin-heading .button{flex-shrink:0}.panel{padding:32px}.admin-main{padding:40px 32px}.contact-section{padding:56px}.workspace-label{display:block}.admin-topbar{padding-inline:32px}}
@media(min-width:700px){.portfolio-public .hero-banner{grid-template-columns:minmax(0,1fr) 310px}.portfolio-public .hero .actions{align-items:stretch;gap:12px}.portfolio-public .hero .button{flex:0 1 auto}.portfolio-public .contact-section{grid-template-columns:1fr 1.1fr}.portfolio-public .detail-copy{grid-template-columns:1fr 1.6fr;gap:80px}.portfolio-public .menu-toggle{display:none}}
@media(min-width:960px){.hero{grid-template-columns:1.25fr 1fr;gap:68px;padding-block:74px 82px}.hero h1{font-size:clamp(4rem,5.7vw,5.3rem)}.featured{transform:rotate(3deg)}.type-art{min-height:400px}.work-section{padding-block:88px}.project-grid{gap:40px}.project-cover{min-height:320px}.about-section{grid-template-columns:1fr 1.3fr;gap:80px;padding-block:88px}.contact-section{grid-template-columns:1fr 1.1fr;padding:64px;margin-top:30px;gap:80px}.detail-copy{grid-template-columns:1fr 1.6fr;gap:80px}.admin-shell{display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{padding:34px 22px;display:flex;flex-direction:column;border-right:0;border-bottom:0}.sidebar nav{flex-direction:column;margin-top:24px}.sidebar nav a{padding:13px 14px}.sidebar-bottom{margin-top:auto;padding-top:60px;display:block}.sidebar-bottom form{margin-top:22px}.login-shell{grid-template-columns:1.2fr 1fr;gap:80px;padding-top:100px}.login-panel{justify-self:end}.admin-main{padding:44px 48px}.admin-topbar{padding-inline:48px}.admin-footer{padding-inline:48px}.portfolio-public .hero-banner{grid-template-columns:minmax(0,1fr) 340px}.portfolio-public .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-public .project-cover{min-height:360px}.portfolio-public .about-section{grid-template-columns:.8fr 1.4fr;gap:80px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}[data-reveal],[data-reveal].is-pending,[data-reveal].is-visible,.career-marker,.project-card,.project-cover{transition:none!important;transform:none!important;opacity:1!important}}
.portfolio-public .hero-banner{position:relative;isolation:isolate;background:#101016;overflow:hidden;border-radius:20px}.portfolio-public .hero-banner::before{content:none}.portfolio-public .micro-slats{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.portfolio-public .micro-slats canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.portfolio-public .hero-copy,.portfolio-public .profile-photo-slot{position:relative;z-index:1}
.portfolio-public .hero-banner{border-radius:20px}.portfolio-public .micro-slats canvas{position:absolute;inset:0}
html.lenis,html.lenis body{height:auto}html.lenis.lenis-smooth{scroll-behavior:auto!important}html.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}html.lenis.lenis-stopped{overflow:hidden}html.lenis.lenis-scrolling iframe{pointer-events:none}.portfolio-public .skill-carousel .skills{display:flex;flex-wrap:nowrap;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:6px;padding:6px 6px 16px;overscroll-behavior-x:contain;scrollbar-color:#7040c0 #24242d}.portfolio-public .skill-carousel .skill-card{flex:0 0 min(80%,260px);scroll-snap-align:start;background:#14141c}.portfolio-public .skill-carousel .skill-card summary{position:relative;flex-direction:column;justify-content:center;min-height:200px;gap:20px;padding:28px 24px}.portfolio-public .skill-carousel .skill-logo{width:64px;height:64px;object-fit:contain}.portfolio-public .skills .skill-name{display:block;min-height:0;padding:0;border:0;border-radius:0;background:transparent;font-size:1.25rem;text-align:center}.portfolio-public .skill-carousel{position:relative}.portfolio-public .carousel-controls{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px}.portfolio-public .carousel-controls.focus-only:not(:focus-within){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.portfolio-public .carousel-controls button{min-width:44px;min-height:44px;padding:10px 14px;background:#14141c;color:#f5f5f7;border:1px solid #454550;border-radius:7px;font-size:.85rem}.portfolio-public .carousel-controls button:hover{background:#22222b}.portfolio-public .carousel-controls button:disabled{cursor:default}.portfolio-public .skill-carousel .skills:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

@media(min-width:960px){.admin-shell{color:#252922;background:#f7f6f1}.admin-shell .sidebar{background:#eeeee8}.admin-shell .admin-project-list,.admin-shell .panel,.admin-shell .login-panel{background:#fffefa;color:#252922}.admin-shell .field input,.admin-shell .field textarea,.admin-shell .field select{background:#fffefa;color:#252922}.admin-shell .admin-topbar,.admin-shell .admin-footer{border-color:#d5d9d0;color:#50594f}}
.portfolio-public .glass-surface{position:sticky;overflow:hidden;isolation:isolate;background:rgba(17,18,22,.48);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,255,255,.08),0 8px 32px rgba(0,0,0,.22)}.portfolio-public .glass-filter-defs{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;opacity:0}.portfolio-public .glass-surface>.wordmark,.portfolio-public .glass-surface>.menu-toggle,.portfolio-public .glass-surface>nav{position:relative;z-index:1}.portfolio-public .glass-surface::before{position:absolute;inset:0;border-radius:inherit;content:'';pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.07),transparent 38%,rgba(255,255,255,.025))}
