:root{--ink:#18211c;--ink-soft:#55605a;--ink-faint:#7b857f;--paper:#f6f7f2;--surface:#ffffff;--surface-soft:#eef1ea;--line:#dfe4dc;--line-strong:#c9d0c7;--accent:#2f6b4f;--accent-dark:#1f4f3a;--accent-soft:#dcece2;--lime:#d9ef72;--danger:#b14c42;--danger-soft:#fbe9e7;--warning:#8c6518;--warning-soft:#fff4d9;--shadow-sm:0 1px 2px rgba(24,33,28,0.06);--shadow-md:0 20px 60px rgba(26,44,34,0.1);--radius-sm:10px;--radius-md:18px;--radius-lg:28px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Noto Sans KR Variable,Noto Sans KR,Pretendard,Pretendard Variable,Apple SD Gothic Neo,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{color:inherit;font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit;text-decoration:none}img,svg{display:block}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid rgba(47,107,79,.32);outline-offset:3px}.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;border-radius:8px;background:var(--ink);color:white;padding:10px 16px;transition:top .16s ease}.skip-link:focus{top:16px}.public-site{container:portfolio/inline-size;min-height:100vh;overflow:clip}.site-header{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgba(246,247,242,.88);border-bottom:1px solid rgba(201,208,199,.7);display:grid;grid-gap:28px;gap:28px;grid-template-columns:minmax(220px,1fr) auto minmax(120px,1fr);height:76px;left:0;padding:0 max(28px,calc((100cqw - 1280px) / 2));position:fixed;right:0;top:0;z-index:100}.brand{gap:11px;justify-self:start}.brand,.brand>span{align-items:center;display:flex}.brand>span{background:var(--ink);border-radius:50%;color:white;font-size:10px;font-weight:800;height:36px;justify-content:center;letter-spacing:.08em;width:36px}.brand>div{display:flex;flex-direction:column;line-height:1.15}.brand strong{font-size:13px;font-weight:800;letter-spacing:.11em}.brand small{color:var(--ink-faint);font-size:10px;margin-top:4px}.desktop-nav{gap:25px}.desktop-nav,.desktop-nav a{align-items:center;display:flex;height:100%}.desktop-nav a{color:var(--ink-soft);font-size:12px;font-weight:650;letter-spacing:-.01em;position:relative;transition:color .16s ease}.desktop-nav a:after{background:var(--accent);bottom:-1px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%) scaleX(0);transition:transform .16s ease;width:100%}.desktop-nav a.active,.desktop-nav a:hover{color:var(--ink)}.desktop-nav a.active:after{transform:translateX(-50%) scaleX(1)}.header-contact{align-items:center;background:var(--ink);border-radius:999px;color:white;display:flex;font-size:12px;font-weight:750;gap:7px;justify-self:end;padding:10px 15px;transition:background .16s ease,transform .16s ease}.header-contact:hover{background:var(--accent);transform:translateY(-1px)}.mobile-menu-button,.mobile-nav{display:none}.hero{display:grid;grid-gap:52px 72px;gap:52px 72px;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);margin:0 auto;max-width:1280px;min-height:min(880px,100vh);overflow:hidden;padding:172px 48px 76px;position:relative}.hero-grid{background-image:linear-gradient(rgba(24,33,28,.045) 1px,transparent 0),linear-gradient(90deg,rgba(24,33,28,.045) 1px,transparent 0);background-size:52px 52px;inset:76px 0 0 54%;-webkit-mask-image:linear-gradient(to bottom right,transparent 5%,black,transparent 85%);mask-image:linear-gradient(to bottom right,transparent 5%,black,transparent 85%);opacity:.72;position:absolute;pointer-events:none}.hero:before{background:var(--lime);border-radius:999px;content:"";filter:blur(1px);height:330px;opacity:.42;position:absolute;right:-178px;top:92px;transform:rotate(-18deg);width:430px}.hero-copy{align-self:center;max-width:770px;position:relative;z-index:1}.hero-kicker{align-items:center;color:var(--accent);display:flex;font-size:12px;font-weight:800;gap:10px;letter-spacing:.08em;margin:0 0 22px;text-transform:uppercase}.hero-kicker span{background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px var(--accent-soft);height:7px;width:7px}.hero h1{font-size:clamp(42px,4.6cqw,64px);font-weight:790;letter-spacing:-.065em;line-height:1.06;margin:0;max-width:820px;overflow-wrap:break-word;text-wrap:pretty;white-space:pre-line;word-break:keep-all}.hero-summary{color:var(--ink-soft);font-size:clamp(16px,1.55cqw,19px);line-height:1.85;margin:30px 0 0;max-width:670px;word-break:keep-all}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.button{align-items:center;border-radius:999px;display:inline-flex;font-size:14px;font-weight:750;gap:9px;justify-content:center;min-height:48px;padding:0 21px;transition:transform .16s ease,background .16s ease,color .16s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:white}.button-primary:hover{background:var(--accent-dark)}.button-secondary{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong)}.button-secondary:hover{background:var(--surface-soft)}.hero-card{align-self:center;background:var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:white;justify-self:end;max-width:370px;min-width:330px;overflow:hidden;padding:22px;position:relative;transform:rotate(1.2deg);width:100%;z-index:1}.hero-card:after{border:1px solid rgba(255,255,255,.1);border-radius:50%;content:"";height:240px;position:absolute;right:-130px;top:-130px;width:240px}.monogram{align-items:flex-end;background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,0)),var(--accent);border-radius:18px;display:flex;height:180px;justify-content:space-between;overflow:hidden;padding:24px;position:relative}.monogram:before{background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 0);background-size:24px 24px;content:"";inset:0;position:absolute}.monogram span{font-size:68px;font-weight:850;letter-spacing:-.08em;line-height:.8;position:relative}.monogram svg{color:var(--lime);position:relative}.monogram.has-photo{align-items:stretch;aspect-ratio:3/4;background:#223128;border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 24px rgba(8,15,11,.24);height:auto;margin:0;padding:0;width:108px}.monogram.has-photo:before{background:linear-gradient(0deg,rgba(24,33,28,.34),transparent 48%),linear-gradient(90deg,rgba(24,33,28,.12),transparent 55%);background-size:auto;pointer-events:none;z-index:2}.monogram.has-photo>.profile-photo{height:100%;object-fit:cover;object-position:center 32%;position:relative;width:100%;z-index:1}.hero-card-identity.has-photo{align-items:center;border-bottom:1px solid rgba(255,255,255,.12);display:grid;grid-gap:18px;gap:18px;grid-template-columns:108px minmax(0,1fr);padding:4px 4px 21px}.hero-card-identity.has-photo .hero-card-name{border-bottom:0;min-width:0;padding:0}.hero-card-name{border-bottom:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;padding:23px 4px 19px}.hero-card-name small{color:var(--lime);font-size:9px;font-weight:750;letter-spacing:.12em;line-height:1.4;margin-bottom:9px;overflow-wrap:anywhere;text-transform:uppercase}.hero-card-name strong{font-size:24px;letter-spacing:-.04em}.hero-card-name span{color:rgba(255,255,255,.62);font-size:13px;margin-top:2px}.hero-card dl{display:grid;grid-gap:11px;gap:11px;margin:18px 4px}.hero-card dl>div{display:grid;grid-gap:8px;gap:8px;grid-template-columns:90px 1fr}.hero-card dt{align-items:center;color:rgba(255,255,255,.48);display:flex;font-size:11px;gap:7px}.hero-card dd{font-size:12px;margin:0;overflow-wrap:anywhere;text-align:right}.hero-card dd a:hover{color:var(--lime)}.hero-links{display:grid;grid-gap:1px;gap:1px;grid-template-columns:repeat(2,1fr);margin-top:14px}.hero-links a{align-items:center;background:rgba(255,255,255,.08);display:flex;font-size:12px;font-weight:700;gap:7px;justify-content:center;min-height:44px;transition:background .16s ease}.hero-links a:first-child{border-radius:11px 0 0 11px}.hero-links a:last-child{border-radius:0 11px 11px 0}.hero-links a:hover{background:rgba(255,255,255,.15)}.hero-stats{align-items:center;border-bottom:1px solid var(--line-strong);border-top:1px solid var(--line-strong);display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));min-height:104px;position:relative;z-index:1}.hero-stats>div{align-items:baseline;display:flex;gap:11px;justify-content:center}.hero-stats>div+div{border-left:1px solid var(--line)}.hero-stats strong{font-size:32px;letter-spacing:-.05em}.hero-stats span{color:var(--ink-faint);font-size:12px;font-weight:650;text-transform:uppercase}.portfolio-content{background:var(--surface)}.portfolio-section{border-bottom:1px solid var(--line);margin:0 auto;max-width:1184px;padding:128px 48px}.section-heading{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(180px,.32fr) 1fr;margin-bottom:64px}.section-eyebrow{color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.13em;margin:8px 0 0}.section-heading h2{font-size:clamp(34px,4.4cqw,52px);font-weight:760;letter-spacing:-.055em;line-height:1.05;margin:0}.profile-intro-panel{border-left:3px solid var(--accent);margin-left:calc(32% + 6px);max-width:760px;padding:4px 0 4px 28px}.profile-intro-label{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em;margin:0 0 15px}.profile-intro-copy{display:grid;grid-gap:13px;gap:13px}.profile-intro-copy p{color:var(--ink-soft);font-size:clamp(15px,1.35cqw,17px);font-weight:440;letter-spacing:-.018em;line-height:1.9;margin:0;text-wrap:pretty;word-break:keep-all}.profile-intro-copy p:first-child{color:var(--ink);font-weight:520}.profile-content-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:74px}.content-block,.credential-card,.skill-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:28px}.content-block-title{align-items:center;display:flex;gap:10px;margin-bottom:26px}.content-block-title svg{color:var(--accent)}.content-block-title h3{font-size:16px;letter-spacing:-.02em;margin:0}.education-list{display:grid;grid-gap:0;gap:0}.education-item{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;padding:20px 0}.education-item:first-child{padding-top:0}.education-item:last-child{padding-bottom:0}.education-item+.education-item{border-top:1px solid var(--line)}.credential-item h4,.education-item h4{font-size:15px;letter-spacing:-.025em;margin:0}.credential-item p,.education-item p{color:var(--ink-soft);font-size:13px;margin:4px 0 0}.supporting-text{color:var(--ink-faint);display:block;font-size:11px;margin-top:8px}.credential-item time,.education-item time{color:var(--ink-faint);flex:0 0 auto;font-size:11px;margin-top:2px}.detail-list{display:grid;margin:0}.detail-row{display:grid;grid-gap:14px;gap:14px;grid-template-columns:90px 1fr;padding:14px 0}.detail-row:first-child{padding-top:0}.detail-row:last-child{padding-bottom:0}.detail-row+.detail-row{border-top:1px solid var(--line)}.detail-row dt{color:var(--ink-faint);font-size:12px}.detail-row dd{font-size:13px;font-weight:600;margin:0;text-align:right}.skill-panel{margin-top:20px}.skill-groups{display:grid;grid-gap:22px;gap:22px}.skill-group{align-items:flex-start;display:grid;grid-gap:20px;gap:20px;grid-template-columns:140px 1fr}.skill-group>span{color:var(--ink-soft);font-size:12px;font-weight:700;padding-top:8px}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag{background:var(--surface-soft);border:1px solid transparent;border-radius:999px;color:var(--ink);display:inline-flex;font-size:11px;font-weight:680;line-height:1;padding:8px 11px}.tag-subtle{background:transparent;border-color:var(--line);color:var(--ink-soft)}.timeline-list{margin-left:calc(32% + 6px);position:relative}.timeline-list:before{background:var(--line-strong);bottom:0;content:"";left:4px;position:absolute;top:7px;width:1px}.timeline-item{display:grid;grid-gap:28px;gap:28px;grid-template-columns:110px 1fr;padding:0 0 72px 42px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-marker{background:var(--accent);border:4px solid var(--surface);border-radius:50%;box-shadow:0 0 0 1px var(--accent);height:11px;left:-1px;position:absolute;top:6px;width:11px}.timeline-meta{display:flex;flex-direction:column;gap:5px}.timeline-meta time{color:var(--ink);font-size:11px;font-weight:750}.timeline-meta>span{color:var(--ink-faint);font-size:11px}.timeline-title-row{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.timeline-title-row h3{font-size:21px;letter-spacing:-.04em;line-height:1.2;margin:0}.timeline-title-row p{color:var(--accent);font-size:13px;font-weight:700;margin:5px 0 0}.status-badge{background:var(--accent-soft);border-radius:999px;color:var(--accent-dark);font-size:10px;font-weight:800;padding:6px 9px}.body-copy{color:var(--ink-soft);font-size:14px;line-height:1.8;margin:23px 0;word-break:keep-all}.achievement-list{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:0 0 24px;padding:0}.achievement-list li{align-items:flex-start;display:flex;font-size:13px;gap:9px;line-height:1.65}.achievement-list svg{color:var(--accent);flex:0 0 auto;margin-top:4px}.empty-public-state{align-items:center;background:var(--surface-soft);border-radius:var(--radius-md);color:var(--ink-soft);display:flex;gap:12px;margin-left:calc(32% + 6px);padding:24px}.credential-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:calc(32% + 6px)}.credential-grid-single{grid-template-columns:minmax(0,1fr)}.credential-list{display:grid}.credential-item{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;padding:18px 0}.credential-item:first-child{padding-top:0}.credential-item:last-child{padding-bottom:0}.credential-item+.credential-item{border-top:1px solid var(--line)}.award-list{border-top:1px solid var(--line-strong);margin-left:calc(32% + 6px)}.award-row{align-items:start;border-bottom:1px solid var(--line);display:grid;grid-gap:20px;gap:20px;grid-template-columns:42px minmax(0,1fr) 160px;padding:30px 0}.award-number{color:var(--accent);font-size:11px;font-weight:800}.award-row h3{font-size:18px;letter-spacing:-.03em;margin:-5px 0 7px}.award-row p{color:var(--ink-soft);font-size:13px;line-height:1.7;margin:0}.award-meta{display:flex;flex-direction:column;text-align:right}.award-meta span{font-size:11px;font-weight:650}.award-meta time{color:var(--ink-faint);font-size:11px;margin-top:4px}.activity-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr);margin-left:calc(32% + 6px)}.activity-card{background:var(--surface-soft);border-radius:var(--radius-md);min-height:0;padding:28px;transition:background .18s ease,transform .18s ease}.activity-card:hover{background:var(--accent-soft);transform:translateY(-3px)}.activity-topline{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.activity-topline-labels{align-items:center;display:flex;flex-wrap:wrap;gap:7px;min-width:0}.activity-category{background:var(--accent-soft);border-radius:999px;color:var(--accent-dark);font-size:9px;font-weight:800;padding:3px 8px}.activity-organization{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.04em}.activity-topline time{color:var(--ink-faint);font-size:10px}.activity-card h3{font-size:19px;letter-spacing:-.04em;margin:30px 0 12px}.activity-card>p{color:var(--ink-soft);font-size:13px;line-height:1.75;margin:0}.activity-card ul{display:grid;grid-gap:6px;gap:6px;list-style:none;margin:24px 0 0;padding:0}.activity-card li{color:var(--ink);font-size:12px;font-weight:620;padding-left:14px;position:relative}.activity-card li:before{background:var(--accent);border-radius:50%;content:"";height:4px;left:0;position:absolute;top:9px;width:4px}.essay-section blockquote{font-size:clamp(20px,2.7cqw,30px);font-weight:590;letter-spacing:-.045em;line-height:1.55;margin:0 0 60px calc(32% + 6px);padding:0;quotes:none;word-break:keep-all}.essay-list{border-top:1px solid var(--line-strong);margin-left:calc(32% + 6px)}.essay-item{border-bottom:1px solid var(--line)}.essay-item summary{align-items:center;cursor:pointer;display:grid;grid-gap:18px;gap:18px;grid-template-columns:38px 1fr auto;list-style:none;padding:27px 0}.essay-item summary::-webkit-details-marker{display:none}.essay-item summary span{color:var(--accent);font-size:11px;font-weight:800}.essay-item summary strong{font-size:16px;letter-spacing:-.025em}.essay-item summary svg{color:var(--ink-faint);transition:transform .2s ease}.essay-item[open] summary svg{transform:rotate(180deg)}.essay-item>p{color:var(--ink-soft);font-size:14px;line-height:2;margin:0;max-width:760px;padding:0 0 30px 56px;white-space:pre-line;word-break:keep-all}.project-section{border-bottom:0}.project-list{display:grid;grid-gap:18px;gap:18px}.project-card{background:var(--surface-soft);border:1px solid transparent;border-radius:var(--radius-lg);display:grid;grid-gap:26px;gap:26px;grid-template-columns:76px minmax(0,1fr);padding:38px;transition:border-color .18s ease,transform .18s ease}.project-card:hover{border-color:var(--line-strong);transform:translateY(-3px)}.project-card-featured{background:var(--ink);color:white;padding-bottom:44px;padding-top:44px}.project-index{display:flex;flex-direction:column;gap:10px}.project-index>span{color:var(--ink-faint);font-size:12px;font-weight:750}.project-index em{color:var(--lime);font-size:8px;font-style:normal;font-weight:850;letter-spacing:.14em;writing-mode:vertical-rl}.project-heading-row{align-items:flex-start;display:flex;gap:24px;justify-content:space-between}.project-heading-row h3{font-size:clamp(25px,3.4cqw,38px);letter-spacing:-.055em;line-height:1.1;margin:0}.project-heading-row p{color:var(--ink-soft);font-size:14px;margin:10px 0 0}.project-card-featured .project-heading-row p,.project-card-featured .project-index>span{color:rgba(255,255,255,.55)}.project-links{display:flex;flex:0 0 auto;gap:8px}.project-links a{align-items:center;border:1px solid var(--line-strong);border-radius:999px;display:flex;font-size:11px;font-weight:700;gap:7px;padding:9px 12px;transition:background .16s ease,color .16s ease}.project-card-featured .project-links a{border-color:rgba(255,255,255,.2)}.project-links a:hover{background:var(--accent);border-color:var(--accent);color:white}.project-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px}.project-meta span{color:var(--ink-faint);font-size:11px;font-weight:650;padding-right:18px;position:relative}.project-meta span:not(:last-child):after{background:var(--line-strong);border-radius:50%;content:"";height:3px;position:absolute;right:0;top:8px;width:3px}.project-card-featured .project-meta span{color:rgba(255,255,255,.47)}.project-card-featured .project-meta span:not(:last-child):after{background:rgba(255,255,255,.3)}.project-description{color:var(--ink-soft);font-size:14px;line-height:1.85;margin:28px 0;max-width:850px;word-break:keep-all}.project-card-featured .project-description{color:rgba(255,255,255,.68)}.project-image-gallery{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 0 26px}.project-image{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;display:flex;margin:0;overflow:hidden}.project-image img{aspect-ratio:16/9;height:100%;object-fit:contain;width:100%}.project-card-featured .project-image{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}.project-detail-grid{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-gap:32px;gap:32px;grid-template-columns:repeat(2,minmax(0,1fr));margin:26px 0;padding:26px 0}.project-card-featured .project-detail-grid{border-color:rgba(255,255,255,.12)}.project-detail-grid h4{align-items:center;color:var(--accent);display:flex;font-size:11px;gap:7px;margin:0 0 12px}.project-card-featured .project-detail-grid h4{color:var(--lime)}.project-detail-grid li,.project-detail-grid p{color:var(--ink-soft);font-size:12px;line-height:1.75}.project-card-featured .project-detail-grid li,.project-card-featured .project-detail-grid p{color:rgba(255,255,255,.68)}.project-detail-grid p{margin:0}.project-problem{white-space:pre-wrap}.project-detail-grid ul{display:grid;grid-gap:5px;gap:5px;list-style:none;margin:0;padding:0}.project-detail-grid li{padding-left:12px;position:relative}.project-detail-grid li:before{content:"—";left:0;position:absolute}.project-contribution-list span,.project-contribution-list strong{display:block}.project-contribution-list strong{color:var(--ink);font-size:12px;margin-bottom:2px}.project-card-featured .project-contribution-list strong{color:rgba(255,255,255,.9)}.project-contribution-list span{white-space:pre-wrap}.project-results{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}.project-results span{background:var(--accent-soft);border-radius:8px;color:var(--accent-dark);font-size:11px;font-weight:750;padding:8px 10px}.project-card-featured .project-results span{background:rgba(217,239,114,.12);color:var(--lime)}.project-card-featured .tag{background:rgba(255,255,255,.09);color:rgba(255,255,255,.8)}.contact-section{align-items:end;background:var(--accent);color:white;display:grid;grid-gap:80px;gap:80px;grid-template-columns:1fr minmax(300px,.65fr);margin:0 auto;max-width:1280px;padding:100px max(48px,calc((100% - 1088px) / 2))}.contact-section .section-eyebrow{color:var(--lime)}.contact-section h2{font-size:clamp(32px,3.8cqw,50px);letter-spacing:-.055em;line-height:1.2;margin:20px 0 0}.contact-section>a{align-items:center;border-bottom:1px solid rgba(255,255,255,.45);display:flex;gap:20px;justify-content:space-between;padding:18px 0;transition:border-color .16s ease}.contact-section>a:hover{border-color:var(--lime)}.contact-section>a span{align-items:center;display:flex;font-size:14px;gap:10px}.site-footer{align-items:center;display:grid;font-size:11px;grid-gap:24px;gap:24px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1184px;min-height:110px;padding:30px 48px}.site-footer>div{display:flex;flex-direction:column}.site-footer strong{font-size:11px;letter-spacing:.1em}.site-footer p,.site-footer span{color:var(--ink-faint);margin:2px 0 0}.site-footer p{text-align:center}.site-footer>a{align-items:center;display:flex;font-weight:700;gap:7px;justify-self:end}.footer-arrow{transform:rotate(180deg)}@container portfolio (max-width: 1080px){.site-header{gap:16px;grid-template-columns:auto 1fr auto;padding:0 28px}.desktop-nav{gap:17px;justify-content:center}.desktop-nav a{font-size:11px}.hero{gap:44px;padding-left:36px;padding-right:36px}.hero h1{font-size:clamp(42px,5.4cqw,60px)}.portfolio-section{padding-left:36px;padding-right:36px}.section-heading{grid-template-columns:minmax(150px,.32fr) 1fr}.activity-grid,.award-list,.credential-grid,.empty-public-state,.essay-list,.essay-section blockquote,.profile-intro-panel,.timeline-list{margin-left:calc(32% + 5px)}}@media (max-width:900px){html{scroll-padding-top:70px}}@container portfolio (max-width: 900px){.site-header{height:68px;grid-template-columns:1fr auto;padding:0 20px}.desktop-nav,.header-contact{display:none}.mobile-menu-button{align-items:center;background:transparent;cursor:pointer;display:flex;height:42px;justify-content:center;width:42px}.mobile-nav{background:var(--surface);box-shadow:var(--shadow-md);display:grid;left:0;padding:14px 20px 22px;position:absolute;right:0;top:68px}.mobile-nav,.mobile-nav a{border-bottom:1px solid var(--line)}.mobile-nav a{align-items:center;display:flex;font-size:16px;font-weight:700;gap:16px;padding:13px 4px}.mobile-nav a span{color:var(--accent);font-size:10px;width:22px}.hero{grid-template-columns:1fr;padding-top:132px}.hero:before{right:-240px}.hero-copy{max-width:720px}.hero-card{justify-self:stretch;max-width:none;min-width:0;transform:none}.hero-card.has-photo{justify-self:center;max-width:390px}.monogram{height:160px}.hero-stats{grid-column:1}.activity-grid,.award-list,.credential-grid,.empty-public-state,.essay-list,.essay-section blockquote,.profile-intro-panel,.timeline-list{margin-left:0}.profile-content-grid{margin-top:48px}.contact-section{align-items:start;grid-template-columns:1fr;padding-left:40px;padding-right:40px}}@container portfolio (max-width: 680px){.brand small{display:none}.hero{gap:34px;min-height:auto;padding:116px 20px 48px}.hero h1{font-size:clamp(39px,11cqw,52px);letter-spacing:-.07em}.hero-summary{font-size:15px;line-height:1.75}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.hero-card{border-radius:22px}.hero-stats{min-height:84px}.hero-stats strong{font-size:25px}.hero-stats span{font-size:8px}.hero-stats>div{align-items:center;flex-direction:column;gap:0}.portfolio-section{padding:88px 20px}.section-heading{gap:12px;grid-template-columns:1fr;margin-bottom:42px}.section-eyebrow{margin-top:0}.section-heading h2{font-size:42px}.profile-intro-panel{padding-left:18px}.profile-intro-copy p{font-size:15px;line-height:1.85}.activity-grid,.credential-grid,.profile-content-grid{grid-template-columns:1fr}.content-block,.credential-card,.skill-panel{padding:22px}.education-item{flex-direction:column;gap:7px}.detail-row{gap:12px;grid-template-columns:72px 1fr}.skill-group{gap:8px;grid-template-columns:1fr}.timeline-item{gap:17px;grid-template-columns:1fr;padding-left:32px}.timeline-title-row{flex-direction:column;gap:10px}.award-row{gap:11px;grid-template-columns:34px 1fr}.award-meta{grid-column:2;text-align:left}.activity-card{min-height:0;padding:23px}.essay-section blockquote{font-size:23px;margin-bottom:48px}.essay-item summary{gap:10px;grid-template-columns:30px 1fr auto}.essay-item summary strong{font-size:14px}.essay-item>p{padding-left:40px}.project-card,.project-card-featured{gap:15px;grid-template-columns:1fr;padding:25px 21px}.project-index{align-items:center;flex-direction:row}.project-index em{writing-mode:initial}.project-heading-row{flex-direction:column}.project-detail-grid,.project-image-gallery{grid-template-columns:1fr}.project-meta{gap:8px 12px}.contact-section{gap:45px;padding:75px 20px}.contact-section h2{font-size:38px}.contact-section>a span{font-size:12px}.site-footer{grid-template-columns:1fr auto;padding:30px 20px}.site-footer p{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.admin-loading{align-items:center;background:#f4f6f3;color:var(--ink-soft);display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:100vh}.admin-loading svg{color:var(--accent)}.admin-loading p{font-size:13px;margin:0}.admin-login-page{background:#f2f4f0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);min-height:100vh}.admin-login-visual{background:radial-gradient(circle at 90% 10%,rgba(217,239,114,.23),transparent 32%),var(--ink);color:white;display:flex;flex-direction:column;min-height:100vh;overflow:hidden;padding:42px clamp(42px,6vw,88px);position:relative}.admin-login-visual:before{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 0);background-size:42px 42px;content:"";inset:0;-webkit-mask-image:linear-gradient(to bottom right,black,transparent 76%);mask-image:linear-gradient(to bottom right,black,transparent 76%);pointer-events:none;position:absolute}.admin-login-brand{align-items:center;display:flex;gap:12px;position:relative;width:-moz-fit-content;width:fit-content}.admin-login-brand span{align-items:center;background:var(--lime);border-radius:9px;color:var(--ink);display:flex;font-size:11px;font-weight:900;height:36px;justify-content:center;width:36px}.admin-login-brand strong{font-size:13px;letter-spacing:.15em}.admin-login-copy{margin:auto 0;max-width:680px;position:relative;z-index:1}.admin-login-copy>p{align-items:center;color:var(--lime);display:flex;font-size:10px;font-weight:850;gap:9px;letter-spacing:.14em}.admin-login-copy h1{font-size:clamp(48px,5.5vw,78px);letter-spacing:-.065em;line-height:1.13;margin:24px 0}.admin-login-copy>span{color:rgba(255,255,255,.56);font-size:15px;line-height:1.8}.admin-login-preview{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:18px 18px 0 0;bottom:-105px;height:220px;padding:18px 20px;position:absolute;right:clamp(34px,6vw,92px);transform:rotate(-4deg);width:min(330px,40vw)}.admin-login-preview>div{display:flex;gap:5px;margin-bottom:24px}.admin-login-preview>div span{background:rgba(255,255,255,.25);border-radius:50%;height:5px;width:5px}.admin-login-preview strong{display:block;font-size:25px;letter-spacing:-.04em;margin-bottom:18px}.admin-login-preview>i{background:rgba(255,255,255,.1);border-radius:4px;display:block;height:8px;margin-top:8px;width:80%}.admin-login-preview>i:last-child{width:50%}.admin-login-panel{align-items:center;display:flex;justify-content:center;padding:48px}.admin-login-form{max-width:390px;width:100%}.admin-login-icon{align-items:center;background:var(--accent-soft);border-radius:14px;color:var(--accent);display:flex;height:52px;justify-content:center;margin-bottom:28px;width:52px}.admin-login-eyebrow{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.15em;margin:0 0 8px}.admin-login-form h2{font-size:34px;letter-spacing:-.045em;line-height:1.2;margin:0}.admin-login-description{color:var(--ink-faint);display:block;font-size:13px;margin:10px 0 34px}.admin-login-field{display:flex;flex-direction:column;gap:8px;margin-top:18px}.admin-login-field>span{font-size:12px;font-weight:720}.admin-login-field input{background:var(--surface);border:1px solid var(--line-strong);border-radius:11px;font-size:14px;min-height:50px;outline:0;padding:0 15px;transition:border-color .16s ease,box-shadow .16s ease}.admin-login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,79,.1)}.admin-login-submit{align-items:center;background:var(--accent);border-radius:11px;color:white;cursor:pointer;display:flex;font-size:13px;font-weight:750;gap:9px;justify-content:center;margin-top:24px;min-height:52px;transition:background .16s ease,transform .16s ease;width:100%}.admin-login-submit:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px)}.admin-login-submit:disabled{cursor:not-allowed;opacity:.5}.admin-back-link{align-items:center;color:var(--ink-faint);display:flex;font-size:11px;gap:6px;justify-content:center;margin-top:22px}.admin-back-link:hover{color:var(--accent)}.admin-alert{border-radius:9px;font-size:12px;line-height:1.55;margin:18px 0;padding:11px 13px}.admin-alert-error{background:var(--danger-soft);color:var(--danger)}.admin-alert-warning{background:var(--warning-soft);color:var(--warning)}.admin-shell{background:#f3f5f2;min-height:100vh}.admin-sidebar{background:var(--ink);bottom:0;color:white;display:flex;flex-direction:column;left:0;position:fixed;top:0;width:244px;z-index:210}.admin-sidebar-brand{align-items:center;border-bottom:1px solid rgba(255,255,255,.09);display:flex;gap:11px;min-height:76px;padding:0 20px}.admin-sidebar-brand>span{align-items:center;background:var(--lime);border-radius:8px;color:var(--ink);display:flex;font-size:10px;font-weight:900;height:34px;justify-content:center;width:34px}.admin-sidebar-brand>div{display:flex;flex-direction:column;line-height:1.2}.admin-sidebar-brand strong{font-size:12px;letter-spacing:.13em}.admin-sidebar-brand small{color:rgba(255,255,255,.38);font-size:8px;letter-spacing:.08em;margin-top:3px}.admin-sidebar-brand>button{background:transparent;color:white;display:none;margin-left:auto}.admin-navigation{flex:1 1;overflow-y:auto;padding:22px 13px}.admin-navigation>p{color:rgba(255,255,255,.3);font-size:8px;font-weight:800;letter-spacing:.16em;margin:19px 12px 8px}.admin-navigation>p:first-child{margin-top:0}.admin-navigation>button{align-items:center;background:transparent;border-radius:8px;color:rgba(255,255,255,.62);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:11px;min-height:40px;padding:0 12px;text-align:left;transition:background .15s ease,color .15s ease;width:100%}.admin-navigation>button:hover{background:rgba(255,255,255,.06);color:white}.admin-navigation>button.active{background:var(--accent);color:white}.admin-nav-status{color:rgba(255,255,255,.43);margin-left:auto}.admin-sidebar-footer{align-items:center;border-top:1px solid rgba(255,255,255,.09);display:flex;min-height:76px;padding:0 14px}.admin-account{align-items:center;display:flex;gap:10px;min-width:0}.admin-account>span{align-items:center;background:rgba(255,255,255,.1);border-radius:50%;color:var(--lime);display:flex;flex:0 0 auto;font-size:11px;font-weight:800;height:34px;justify-content:center;width:34px}.admin-account>div{display:flex;flex-direction:column;line-height:1.25;min-width:0}.admin-account strong{font-size:10px}.admin-account small{color:rgba(255,255,255,.34);font-size:8px;margin-top:3px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sidebar-footer>button{align-items:center;background:transparent;color:rgba(255,255,255,.42);cursor:pointer;display:flex;height:38px;justify-content:center;margin-left:auto;transition:color .15s ease;width:38px}.admin-sidebar-footer>button:hover{color:white}.admin-workspace{margin-left:244px;min-height:100vh}.admin-topbar{align-items:center;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;height:76px;justify-content:space-between;padding:0 30px;position:-webkit-sticky;position:sticky;top:0;z-index:80}.admin-breadcrumb{align-items:center;color:var(--ink-faint);display:flex;font-size:10px;gap:7px}.admin-breadcrumb i{font-style:normal}.admin-breadcrumb strong{color:var(--ink);font-weight:700}.admin-mobile-nav-button{align-items:center;background:transparent;cursor:pointer;display:none;height:42px;justify-content:center;width:42px}.admin-topbar-actions{align-items:center;display:flex;gap:10px}.save-status{align-items:center;color:var(--ink-faint);display:flex;font-size:9px;gap:7px;margin-right:6px}.save-status i{background:#6fad75;border-radius:50%;height:6px;width:6px}.save-status.dirty{color:var(--warning)}.save-status.dirty i{background:#d59f31}.admin-export-button,.admin-save-button,.admin-topbar-actions>a{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:11px;font-weight:700;gap:7px;justify-content:center;min-height:38px;padding:0 13px}.admin-topbar-actions>a{background:var(--surface);border:1px solid var(--line-strong)}.admin-topbar-actions>a:hover{background:var(--surface-soft)}.admin-export-button{background:var(--ink);color:white}.admin-export-button:hover:not(:disabled){background:var(--accent-dark)}.admin-export-button:disabled{cursor:not-allowed;opacity:.45}.admin-save-button{background:var(--accent);color:white}.admin-save-button:hover:not(:disabled){background:var(--accent-dark)}.admin-save-button:disabled{cursor:not-allowed;opacity:.45}.admin-main{margin:0 auto;max-width:1120px;padding:50px 38px 100px}.admin-editor{margin:0 auto;max-width:1040px}.admin-editor-header{margin-bottom:38px}.admin-editor-header>p,.admin-overview-hero>div>p{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:.15em;margin:0 0 10px}.admin-editor-header h1{font-size:38px;letter-spacing:-.055em;line-height:1.2;margin:0}.admin-editor-header>span{color:var(--ink-faint);display:block;font-size:13px;line-height:1.8;margin-top:12px;max-width:720px;word-break:keep-all}.admin-form-section{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);margin-top:18px;padding:24px}.admin-form-section-heading{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;margin:-2px 0 22px;padding-bottom:18px}.admin-form-section-heading h2{font-size:16px;letter-spacing:-.025em;margin:0}.admin-form-section-heading p{color:var(--ink-faint);font-size:11px;line-height:1.6;margin:5px 0 0}.admin-form-grid{display:grid;grid-gap:17px 16px;gap:17px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-field{display:flex;flex-direction:column;gap:7px;min-width:0}.admin-field-full{grid-column:1/-1}.admin-field-label{align-items:center;display:flex;font-size:11px;font-weight:720;gap:7px}.admin-field-label em{background:var(--accent-soft);border-radius:4px;color:var(--accent);font-size:8px;font-style:normal;padding:2px 4px}.admin-field small{color:var(--ink-faint);font-size:9px;line-height:1.5}.admin-input,.admin-textarea{background:#fcfdfb;border:1px solid var(--line-strong);border-radius:7px;font-size:11px;outline:0;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;width:100%}.admin-input{height:39px;padding:0 11px}.admin-textarea{line-height:1.7;min-height:78px;padding:10px 11px;resize:vertical}.admin-input:focus,.admin-textarea:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,79,.08)}.admin-input::placeholder,.admin-textarea::placeholder{color:#a1aaa4}.admin-inline-fields{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr auto 1fr}.admin-date-select{display:grid;grid-gap:6px;gap:6px;grid-template-columns:minmax(86px,1.25fr) minmax(68px,.9fr) minmax(68px,.9fr);min-width:0}.admin-date-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(45deg,transparent 50%,var(--ink-faint) 50%) calc(100% - 13px) 16px /4px 4px no-repeat,linear-gradient(135deg,var(--ink-faint) 50%,transparent 50%) calc(100% - 9px) 16px /4px 4px no-repeat,#fcfdfb;border:1px solid var(--line-strong);border-radius:7px;cursor:pointer;font-size:10px;height:39px;min-width:0;outline:0;padding:0 25px 0 9px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.admin-date-select select:focus{background-color:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,79,.08)}.admin-date-select select:disabled{background-color:var(--surface-soft);color:var(--ink-faint);cursor:not-allowed;opacity:.62}.admin-date-range{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.admin-date-range>span{color:var(--ink-faint);font-size:10px}.admin-photo-upload{align-items:center;background:#f8faf7;border:1px dashed var(--line-strong);border-radius:11px;display:grid;grid-gap:20px;gap:20px;grid-template-columns:96px minmax(0,1fr);padding:16px}.admin-photo-preview{align-items:center;aspect-ratio:3/4;background:linear-gradient(135deg,rgba(47,107,79,.12),rgba(217,239,114,.28)),var(--surface-soft);border:1px solid var(--line);border-radius:11px;color:var(--accent);display:flex;justify-content:center;overflow:hidden;width:96px}.admin-photo-preview.has-image{background:var(--ink)}.admin-photo-preview img{height:100%;object-fit:cover;object-position:center 32%;width:100%}.admin-photo-upload-copy{min-width:0}.admin-photo-upload-copy>strong{display:block;font-size:12px;letter-spacing:-.02em}.admin-photo-upload-copy>p{color:var(--ink-faint);font-size:9px;line-height:1.65;margin:5px 0 11px;max-width:520px}.admin-photo-actions{display:flex;flex-wrap:wrap;gap:7px}.admin-photo-actions button{align-items:center;background:var(--ink);border-radius:7px;color:white;cursor:pointer;display:inline-flex;font-size:10px;font-weight:700;gap:6px;min-height:34px;padding:0 11px}.admin-photo-actions button:hover:not(:disabled){background:var(--accent-dark)}.admin-photo-actions button:disabled{cursor:wait;opacity:.62}.admin-photo-actions .admin-photo-remove{background:transparent;border:1px solid var(--line-strong);color:var(--danger)}.admin-photo-actions .admin-photo-remove:hover:not(:disabled){background:var(--danger-soft)}.admin-photo-error{color:var(--danger);display:block;font-size:9px;margin-top:8px}.admin-photo-upload+.admin-form-grid{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.admin-project-image-upload{background:#f8faf7;border:1px dashed var(--line-strong);border-radius:11px;overflow:hidden;padding:13px}.admin-project-image-list{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.admin-project-image-item{background:var(--surface);border:1px solid var(--line);border-radius:9px;min-width:0;overflow:hidden}.admin-project-image-preview{align-items:center;aspect-ratio:16/9;background:linear-gradient(135deg,rgba(47,107,79,.08),rgba(217,239,114,.18)),var(--surface-soft);border:1px solid var(--line);border-radius:8px;color:var(--accent);display:flex;justify-content:center;max-height:360px;overflow:hidden;width:100%}.admin-project-image-preview.has-image{background:var(--surface)}.admin-project-image-item .admin-project-image-preview{border:0;border-radius:0;max-height:none}.admin-project-image-preview img{height:100%;object-fit:contain;width:100%}.admin-project-image-preview>div{align-items:center;display:flex;flex-direction:column;font-size:10px;font-weight:700;gap:8px}.admin-project-image-item-footer{align-items:center;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:space-between;min-height:43px;padding:4px 6px 4px 11px}.admin-project-image-item-footer>span{color:var(--ink-soft);font-size:9px;font-weight:750}.admin-project-image-copy,.admin-project-image-item-footer>div{align-items:center;display:flex}.admin-project-image-copy{gap:20px;justify-content:space-between;padding:13px 2px 1px}.admin-project-image-copy>div:first-child{min-width:0}.admin-project-image-copy strong{display:block;font-size:11px}.admin-project-image-copy p{color:var(--ink-faint);font-size:9px;line-height:1.55;margin:3px 0 0}.admin-project-image-upload>.admin-photo-error{margin:8px 2px 0}.admin-inline-fields>span{color:var(--ink-faint);font-size:10px}.admin-item-list{display:grid;grid-gap:14px;gap:14px}.admin-contribution-list{display:grid;grid-gap:10px;gap:10px}.admin-contribution-list>.admin-add-button{justify-self:start}.admin-item-card{background:#fcfdfb;border:1px solid var(--line);border-radius:10px;overflow:hidden}.admin-item-card-heading{align-items:center;background:var(--surface-soft);border-bottom:1px solid var(--line);display:flex;min-height:52px;padding:0 14px}.admin-item-card-heading>svg{color:var(--line-strong);margin-right:10px}.admin-item-order-index{color:var(--accent);flex:0 0 28px;font-size:9px;font-weight:850;letter-spacing:.06em}.admin-item-card-title{display:flex;flex-direction:column;line-height:1.3;margin-right:auto;min-width:0}.admin-item-card-title h3{font-size:11px;margin:0}.admin-item-card-title span{color:var(--ink-faint);font-size:9px;margin-top:2px;max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item-card>.admin-form-grid{padding:18px}.admin-icon-button{align-items:center;background:transparent;border-radius:6px;cursor:pointer;display:flex;height:34px;justify-content:center;width:34px}.admin-order-actions{align-items:center;display:flex;flex:0 0 auto;gap:2px}.admin-order-actions .admin-icon-button{color:var(--ink-faint)}.admin-order-actions .admin-icon-button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-dark)}.admin-order-actions .admin-icon-button:disabled{cursor:not-allowed;opacity:.28}.admin-delete-button{color:var(--ink-faint);margin-left:4px}.admin-delete-button:hover{background:var(--danger-soft);color:var(--danger)}.admin-add-button{align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:7px;cursor:pointer;display:flex;flex:0 0 auto;font-size:10px;font-weight:700;gap:6px;min-height:34px;padding:0 11px;transition:background .15s ease,border-color .15s ease}.admin-add-button:hover{border-color:#b6d1bf}.admin-add-button:hover,.admin-check-field{background:var(--accent-soft);color:var(--accent-dark)}.admin-check-field{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:11px;font-weight:700;gap:9px;min-height:40px;padding:0 12px}.admin-check-field input{accent-color:var(--accent);height:15px;width:15px}.admin-compact-list,.admin-compact-row{display:grid;grid-gap:9px;gap:9px}.admin-compact-row{grid-template-columns:minmax(100px,.32fr) 1fr auto 34px}.admin-tip-box{align-items:flex-start;background:var(--accent-soft);border:1px solid #c8dfd0;border-radius:12px;color:var(--accent-dark);display:flex;flex-direction:column;gap:4px;margin-bottom:22px;padding:16px 18px}.admin-tip-box strong{font-size:11px}.admin-tip-box span{font-size:10px;line-height:1.7}.admin-overview-hero{align-items:center;background:radial-gradient(circle at 87% 15%,rgba(217,239,114,.18),transparent 25%),var(--ink);border-radius:18px;color:white;display:flex;justify-content:space-between;min-height:260px;overflow:hidden;padding:38px 42px;position:relative}.admin-overview-hero:before{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 0);background-size:32px 32px;content:"";inset:0 0 0 55%;-webkit-mask-image:linear-gradient(90deg,transparent,black);mask-image:linear-gradient(90deg,transparent,black);position:absolute}.admin-overview-hero>div:first-child{position:relative;z-index:1}.admin-overview-hero>div>p{color:var(--lime)}.admin-overview-hero h1{font-size:clamp(27px,3.5vw,41px);letter-spacing:-.05em;line-height:1.35;margin:0}.admin-overview-hero>div>span{color:rgba(255,255,255,.43);display:block;font-size:10px;margin-top:18px}.admin-overview-mark{align-items:flex-end;background:var(--accent);border-radius:18px;display:flex;height:162px;justify-content:space-between;margin-left:30px;padding:20px;position:relative;transform:rotate(4deg);width:170px;z-index:1}.admin-overview-mark span{font-size:44px;font-weight:850;letter-spacing:-.08em}.admin-overview-mark svg{color:var(--lime)}.storage-banner{align-items:flex-start;background:#e7f2eb;border:1px solid #cce1d3;border-radius:12px;color:var(--accent);display:flex;gap:12px;margin-top:18px;padding:15px 18px}.storage-banner-warning{background:var(--warning-soft);border-color:#eddba9;color:var(--warning)}.storage-banner>svg{flex:0 0 auto;margin-top:2px}.storage-banner>div{display:flex;flex-direction:column}.storage-banner strong{font-size:11px}.storage-banner span{font-size:10px;line-height:1.6;margin-top:3px}.admin-stat-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.admin-stat-grid article{background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:130px;overflow:hidden;padding:20px;position:relative}.admin-stat-grid article>span{color:var(--ink-faint);font-size:9px;font-weight:650}.admin-stat-grid strong{font-size:30px;letter-spacing:-.045em;margin-top:auto}.admin-stat-grid strong small{color:var(--ink-faint);font-size:12px;font-weight:500}.admin-stat-grid i{border-radius:50%;height:34px;position:absolute;right:-11px;top:-10px;width:34px}.stat-green{background:var(--accent)}.stat-lime{background:var(--lime)}.stat-sand{background:#e9c68a}.stat-blue{background:#94b8c8}.overview-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-top:18px;padding:28px}.overview-panel-heading{align-items:flex-start;display:flex;gap:22px;justify-content:space-between;margin-bottom:25px}.overview-panel-heading p{color:var(--accent);font-size:8px;font-weight:850;letter-spacing:.13em;margin:0 0 6px}.overview-panel-heading h2{font-size:18px;letter-spacing:-.03em;margin:0}.overview-panel-heading span{color:var(--ink-faint);display:block;font-size:10px;margin-top:5px}.overview-panel-heading>a{align-items:center;border:1px solid var(--line-strong);border-radius:7px;display:flex;flex:0 0 auto;font-size:10px;font-weight:700;gap:7px;min-height:35px;padding:0 11px}.overview-panel-heading>a:hover{background:var(--surface-soft)}.section-order-list{display:grid;grid-gap:7px;gap:7px}.section-order-item{align-items:center;background:#fafbf9;border:1px solid var(--line);border-radius:9px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto 35px minmax(0,1fr) auto auto;min-height:58px;padding:0 12px;transition:border-color .15s ease,opacity .15s ease,transform .15s ease}.section-order-item:hover{border-color:#b8c3bb}.section-order-item.dragging{border-color:var(--accent);opacity:.5;transform:scale(.99)}.section-drag-handle{color:#a5ada8;cursor:-webkit-grab;cursor:grab}.section-order-number{color:var(--accent);font-size:9px;font-weight:800}.section-order-title{align-items:flex-start;background:transparent;cursor:pointer;display:flex;flex-direction:column;min-width:0;text-align:left}.section-order-title strong{font-size:11px}.section-order-title small{color:var(--ink-faint);font-size:8px;margin-top:1px}.section-order-title:hover strong{color:var(--accent)}.admin-toggle{cursor:pointer}.admin-toggle input{height:0;opacity:0;position:absolute;width:0}.admin-toggle>span{align-items:center;background:var(--accent-soft);border-radius:999px;color:var(--accent);display:flex;height:28px;justify-content:center;width:38px}.admin-toggle input:not(:checked)+span{background:#e8eae7;color:#8c948f}.admin-toggle input:focus-visible+span{outline:3px solid rgba(47,107,79,.25)}.section-order-actions{display:flex;gap:3px}.section-order-actions button{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:5px;cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.section-order-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.section-order-actions button:disabled{cursor:not-allowed;opacity:.3}.overview-tools{align-items:center;display:flex;gap:20px;justify-content:space-between}.overview-tools .overview-panel-heading{margin:0}.overview-tool-actions{display:flex;flex:0 0 auto;gap:8px}.overview-tool-actions button{align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:7px;cursor:pointer;display:flex;font-size:10px;font-weight:700;gap:6px;min-height:36px;padding:0 11px}.overview-tool-actions button:hover{background:var(--surface-soft)}.admin-toast{align-items:center;border-radius:10px;bottom:24px;box-shadow:0 14px 40px rgba(24,33,28,.2);color:white;display:flex;font-size:11px;font-weight:650;gap:9px;left:50%;max-width:min(430px,calc(100vw - 32px));min-height:46px;padding:0 16px;position:fixed;transform:translateX(-50%);z-index:400}.admin-toast-success{background:var(--accent-dark)}.admin-toast-error{background:var(--danger)}.admin-sidebar-backdrop{display:none}@media (max-width:1000px){.admin-sidebar{transform:translateX(-100%);transition:transform .18s ease}.admin-sidebar.open{box-shadow:20px 0 60px rgba(10,19,14,.25);transform:translateX(0)}.admin-sidebar-brand>button{align-items:center;cursor:pointer;display:flex;height:38px;justify-content:center;width:38px}.admin-sidebar-backdrop{background:rgba(15,24,19,.48);display:block;inset:0;position:fixed;z-index:200}.admin-workspace{margin-left:0}.admin-mobile-nav-button{display:flex}.admin-topbar{gap:12px;padding-left:18px}.admin-breadcrumb{margin-right:auto}}@media (max-width:800px){.admin-login-page{grid-template-columns:1fr}.admin-login-visual{display:none}.admin-login-panel{min-height:100vh;padding:32px 22px}.admin-topbar-actions>a,.save-status{display:none}.admin-main{padding:35px 22px 90px}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-tools{align-items:stretch;flex-direction:column}}@media (max-width:600px){.admin-topbar{height:66px;padding:0 12px}.admin-breadcrumb>i,.admin-breadcrumb>span{display:none}.admin-save-button{min-height:36px;padding:0 10px}.admin-export-button{min-height:36px;padding:0;width:36px}.admin-export-button span{display:none}.admin-main{padding:28px 14px 80px}.admin-editor-header{margin:0 5px 34px}.admin-editor-header h1{font-size:34px}.admin-form-section,.overview-panel{border-radius:12px;padding:19px}.admin-form-section-heading{align-items:stretch;flex-direction:column;gap:12px}.admin-add-button{justify-content:center;width:100%}.admin-form-grid{grid-template-columns:1fr}.admin-check-field,.admin-field-full{grid-column:1}.admin-item-card>.admin-form-grid{padding:17px}.admin-date-select select,.admin-input,.admin-textarea{font-size:16px}.admin-date-range{align-items:stretch;gap:7px;grid-template-columns:1fr}.admin-date-range>span{line-height:1;padding-left:2px}.admin-photo-upload{align-items:start;gap:14px;grid-template-columns:82px minmax(0,1fr);padding:13px}.admin-photo-preview{width:82px}.admin-project-image-copy{align-items:stretch;flex-direction:column;gap:10px}.admin-project-image-list{grid-template-columns:1fr}.admin-compact-row{grid-template-columns:1fr auto 34px}.admin-compact-row>:first-child,.admin-compact-row>:nth-child(2){grid-column:1}.admin-compact-row>.admin-order-actions{align-self:center;grid-column:2;grid-row:1/3}.admin-compact-row>.admin-delete-button{grid-column:3;grid-row:1/3;height:100%}.admin-overview-hero{min-height:270px;padding:29px 24px}.admin-overview-hero h1{font-size:29px}.admin-overview-mark{bottom:-70px;height:140px;opacity:.33;position:absolute;right:-18px;width:145px}.admin-stat-grid{gap:8px}.admin-stat-grid article{min-height:110px;padding:16px}.overview-panel-heading{align-items:stretch;flex-direction:column}.overview-panel-heading>a{justify-content:center}.section-order-item{gap:7px;grid-template-columns:auto 26px minmax(0,1fr) auto;padding:8px 9px}.section-drag-handle{display:none}.section-order-actions{grid-column:4;grid-row:2}.overview-tool-actions{flex-direction:column}.overview-tool-actions button{justify-content:center;width:100%}}.print-page{overflow-x:auto}.print-mode{background:var(--paper);margin:0 auto;min-height:0;position:relative;width:281mm}.print-mode .site-header{position:absolute}.print-mode .hero{min-height:194mm;padding-bottom:48px;padding-top:124px}.print-toolbar{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgba(24,33,28,.94);border:1px solid rgba(255,255,255,.13);border-radius:16px;bottom:20px;box-shadow:0 18px 60px rgba(8,15,11,.28);color:white;display:flex;gap:24px;justify-content:space-between;left:50%;max-width:calc(100vw - 32px);min-height:72px;padding:12px 14px 12px 20px;position:fixed;transform:translateX(-50%);width:720px;z-index:1000}.print-toolbar-copy{display:flex;flex-direction:column;min-width:0}.print-toolbar-copy strong{font-size:13px}.print-toolbar-copy span{color:rgba(255,255,255,.6);font-size:10px;margin-top:2px}.print-toolbar-actions{align-items:center;display:flex;flex:0 0 auto;gap:8px}.print-toolbar-actions a,.print-toolbar-actions button{align-items:center;border-radius:9px;cursor:pointer;display:flex;font-size:11px;font-weight:750;gap:7px;justify-content:center;min-height:42px;padding:0 13px}.print-toolbar-actions a{border:1px solid rgba(255,255,255,.2)}.print-toolbar-actions button{background:var(--lime);color:var(--ink)}.print-toolbar-actions button:disabled{cursor:wait;opacity:.65}@media (max-width:620px){.print-toolbar{align-items:stretch;bottom:10px;flex-direction:column;gap:10px;max-width:calc(100vw - 20px);padding:14px}.print-toolbar-copy{padding:0 2px}.print-toolbar-actions>*{flex:1 1}}@page portfolio{size:A4 landscape;margin:8mm}@media print{body,html{scroll-behavior:auto}.print-page{overflow:visible;page:portfolio}.print-mode{overflow:visible;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-mode .skip-link,.print-toolbar{display:none!important}.print-mode *,.print-mode :after,.print-mode :before{animation:none!important;transition:none!important}.print-mode .hero{page-break-after:always;break-after:page;page-break-inside:avoid;break-inside:avoid}.print-mode .portfolio-section{padding-block:48px}.print-mode .contact-section,.print-mode .portfolio-section-wrapper+.portfolio-section-wrapper{page-break-before:always;break-before:page}.print-mode .project-section{padding-block:32px}.print-mode .project-section>.section-heading{margin-bottom:28px}.print-mode .project-list{display:block}.print-mode .project-card+.project-card{page-break-before:always;break-before:page;margin-top:0}.print-mode .project-card{transform:none}.print-mode .project-detail-grid{page-break-before:always;break-before:page}.print-mode .content-block-title,.print-mode .essay-item summary,.print-mode .project-contribution-list strong,.print-mode .project-detail-grid h4,.print-mode .project-heading-row,.print-mode .section-heading{page-break-after:avoid;break-after:avoid;page-break-inside:avoid;break-inside:avoid}.print-mode .activity-card,.print-mode .award-row,.print-mode .contact-section,.print-mode .content-block,.print-mode .credential-item,.print-mode .education-item,.print-mode .hero-card,.print-mode .hero-stats,.print-mode .project-contribution-list>li,.print-mode .project-detail-grid,.print-mode .project-image,.print-mode .project-main>.tag-list,.print-mode .project-results,.print-mode .site-footer,.print-mode .skill-group,.print-mode .skill-panel{page-break-inside:avoid;break-inside:avoid}.print-mode li,.print-mode p{orphans:3;widows:3}}