:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-hover:#f1f3f5;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-muted:#6c757d;--accent-primary:#a4754b;--accent-secondary:#c29c82;--accent-muted:#d6bc9f;--border-color:#e9ecef;--border-strong:#dee2e6;--border-subtle:#f1f3f5;--nav-height:72px;--nav-bg:#ffffffd9;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 6px -1px #00000014;--shadow-lg:0 24px 48px -12px #00000029;--border-radius:20px;--portrait-border:#e9ecef;--portrait-grad-top:#fff;--portrait-grad-bottom:#f8f9fa;--portrait-shadow:0 10px 30px -10px #0000001a;--portrait-border-hover:var(--accent-secondary);--portrait-shadow-hover:0 15px 35px -5px #a4754b26;--cta-bg:#8a5f3a;--cta-bg-hover:#744f2f;--cta-text:#fff;--cta-shadow:0 6px 18px -6px #8a5f3a73}[data-theme=dark]{--bg-primary:#0a0c10;--bg-secondary:#12161d;--bg-hover:#1b2029;--text-primary:#f0f1f4;--text-secondary:#b1b5bd;--text-muted:#848a94;--accent-primary:#c2965c;--accent-secondary:#e2bc82;--accent-muted:#4e4435;--border-color:#21262d;--border-strong:#30363d;--border-subtle:#161b22;--nav-bg:#0a0c10d9;--shadow-lg:0 24px 48px -12px #0000008c;--portrait-border:#30363d;--portrait-grad-top:#1b2029;--portrait-grad-bottom:#0a0c10;--portrait-shadow:0 10px 30px -10px #0000004d;--portrait-border-hover:var(--accent-primary);--portrait-shadow-hover:0 15px 35px -5px #c2965c26;--cta-bg:#c2965c;--cta-bg-hover:#e2bc82;--cta-text:#16130f;--cta-shadow:0 6px 18px -6px #c2965c59}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#fff;background-color:var(--bg-primary);color:#1a1a1a;color:var(--text-primary);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;line-height:1.6;overflow-wrap:break-word;word-break:keep-all}.mono{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer}ul{list-style:none}img{height:auto;max-width:100%}html{scroll-behavior:smooth}.text-highlight{color:#a4754b;color:var(--accent-primary)}.text-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#a4754b,#c29c82);background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media print{@page{size:A4;margin:10mm 9mm}:root{--bg-primary:#fff!important;--bg-secondary:#fff!important;--text-primary:#000!important;--text-secondary:#333!important;--text-muted:#555!important;--border-color:#ddd!important;--accent-primary:#000!important;--accent-secondary:#000!important}body{background:#fff!important;color:#000!important;font-size:10.5pt!important;line-height:1.35!important}.contact-buttons,.cta-button,.mobile-menu-btn,.nav-backdrop,.nav-drawer,.navbar,.placeholder-box,.project-actions,.project-back-link,.project-inline-link,.scroll-progress-container,.scroll-to-top{display:none!important}.reveal-base,.reveal-visible{opacity:1!important;transform:none!important}main{margin:0!important;padding:0!important}.hero-section{border-bottom:1px solid #f1f3f5!important;border-bottom:1px solid var(--border-subtle)!important;min-height:auto!important;padding:0 0 5mm!important}.hero-grid{gap:3mm!important;grid-template-columns:1fr!important}.hero-showcase{display:none!important}.hero-strength-list{display:flex!important;flex-wrap:wrap!important;gap:3mm!important}.project-metrics{gap:3mm!important;grid-template-columns:repeat(3,1fr)!important;margin-bottom:5mm!important}.metric-badge{border-radius:8px!important;box-shadow:none!important;min-height:auto!important;padding:2.5mm!important;transform:none!important}.metric-badge .metric-text{font-size:9.5pt!important}.metric-badge.has-value{padding-left:2mm!important}.metric-value{background:#000!important;border-radius:4px!important;color:#fff!important;font-size:8pt!important;height:auto!important;min-width:auto!important;padding:.5mm 1.5mm!important}.case-study-card{background:#fcfcfc!important;border:1px solid #ddd!important;break-inside:avoid;margin-bottom:5mm!important;padding:4mm!important;page-break-inside:avoid}.case-study-badge{background:#000!important;color:#fff!important;font-size:8pt!important;padding:.5mm 1.5mm!important}.case-study-title{font-size:12pt!important;margin-top:2mm!important}.case-study-content{background:#0000!important;border:none!important;font-style:normal!important;padding:2mm 0 0!important}.project-detail-content-grid,.project-story-grid{gap:4mm!important;grid-template-columns:1fr!important}.project-detail-header{gap:3mm!important;grid-template-columns:1fr!important}.section{break-inside:auto;min-height:auto!important;padding:4mm 0!important;page-break-inside:auto}.section-title{font-size:14pt!important;margin-bottom:3mm!important}.section-title:after{display:none!important}.structural-card{background:#0000!important;border:none!important;box-shadow:none!important;break-inside:avoid;margin-bottom:4mm!important;padding:0!important;page-break-inside:avoid}.structural-card:before,.timeline-marker{content:none!important;display:none!important}.timeline{padding-left:0!important}.timeline:before{display:none!important}.timeline-content{padding-left:0!important}.task-list{gap:1.5mm!important}.task-list li{font-size:10pt!important;line-height:1.3!important}.project-archive-grid{gap:5mm!important;grid-template-columns:1fr!important}.contact-section{max-width:100%!important;padding:4mm 0 0!important}.footer-content{margin-top:5mm!important}a{color:inherit!important;text-decoration:none!important}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3{letter-spacing:-.02em}.hero-section{align-items:center;display:flex;margin:0 auto;max-width:1360px;min-height:100vh;padding:calc(var(--nav-height) + 4rem) 2rem 4rem}.hero-grid{grid-gap:clamp(2.1rem,4.4vw,4.8rem);align-items:center;display:grid;gap:clamp(2.1rem,4.4vw,4.8rem);grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);width:100%}.hero-content{position:relative;z-index:1}.hero-overline{background:#a4754b14;border:1px solid #a4754b26;border-radius:6px;color:var(--accent-primary);display:inline-block;font-size:.88rem;font-weight:800;letter-spacing:.08em;margin-bottom:1.6rem;padding:.5rem 1rem;text-transform:uppercase}[data-theme=dark] .hero-overline{background:#c2965c1f;border:1px solid #c2965c33}.hero-heading{grid-gap:.7rem;display:grid;gap:.7rem}.hero-greeting{color:var(--text-secondary);font-size:1rem;font-weight:600}.hero-title{color:var(--text-primary);font-size:clamp(3.65rem,7.6vw,6.6rem);font-weight:800;letter-spacing:-.08em;line-height:.92;max-width:8ch}.hero-subtitle{color:var(--text-primary);font-size:clamp(1.34rem,2.15vw,1.96rem);font-weight:700;letter-spacing:-.04em;line-height:1.4;margin-top:1.85rem;max-width:18ch;white-space:pre-line}.hero-description{color:var(--text-secondary);font-size:1.01rem;line-height:1.78;margin-top:1.25rem;max-width:63ch}.hero-proof-list{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.65rem}.hero-proof-item{background:#ffffffa8;border:1px solid var(--border-subtle);border-radius:18px;min-height:100%;padding:.95rem 1rem}[data-theme=dark] .hero-proof-item{background:#12161db3}.hero-proof-index{color:var(--accent-primary);display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.16em;margin-bottom:.6rem}.hero-proof-item p{color:var(--text-secondary);font-size:.88rem;line-height:1.65}.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}.cta-button{align-items:center;border:1px solid var(--border-subtle);border-radius:999px;display:inline-flex;font-size:.84rem;font-weight:800;justify-content:center;letter-spacing:.02em;min-height:52px;padding:.92rem 1.35rem;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.cta-button:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.cta-button.primary{background:var(--cta-bg);border-color:#0000;box-shadow:var(--cta-shadow);color:var(--cta-text)}.cta-button.primary:hover{background:var(--cta-bg-hover)}.cta-button.secondary{background:#ffffff85;color:var(--text-primary)}.cta-button.secondary:hover{background:#ffffffdb;border-color:var(--border-strong)}.cta-button.ghost{background:#0000;color:var(--text-secondary)}.cta-button.ghost:hover{border-color:var(--accent-primary);color:var(--accent-primary)}[data-theme=dark] .cta-button.secondary{background:#12161dad}[data-theme=dark] .cta-button.secondary:hover{background:#12161de6}.hero-showcase{background:radial-gradient(circle at top,#a4754b1f,#0000 55%),linear-gradient(180deg,#fffffff0,#ffffffd1);display:flex;flex-direction:column;gap:1.6rem;justify-content:space-between;margin:0;min-height:490px}[data-theme=dark] .hero-showcase{background:radial-gradient(circle at top,#c2965c2e,#0000 55%),linear-gradient(180deg,#12161df5,#12161dd6)}.hero-portrait-shell{display:flex;justify-content:center}.hero-portrait-frame{background:linear-gradient(180deg,var(--portrait-grad-top),var(--portrait-grad-bottom));border:1px solid var(--portrait-border);border-radius:32px;box-shadow:var(--portrait-shadow);overflow:hidden;padding:.8rem;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;width:min(100%,320px)}.hero-portrait{aspect-ratio:4/5;border-radius:24px;display:block;filter:saturate(.98) contrast(1.04);object-fit:cover;object-position:center top;transform:scale(1.03);transform-origin:center top;transition:transform .28s ease,filter .28s ease;width:100%}.hero-showcase-copy{grid-gap:.9rem;display:grid;gap:.9rem}.hero-showcase-label{color:var(--text-muted);font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero-strength-list{display:flex;flex-wrap:wrap;gap:.7rem}.hero-strength-chip{align-items:center;background:#ffffffa8;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-primary);display:inline-flex;font-size:.78rem;font-weight:700;line-height:1.4;min-height:40px;padding:.56rem .76rem}[data-theme=dark] .hero-strength-chip{background:#0e1218d1}@media (hover:hover) and (pointer:fine){.hero-portrait-frame:hover{border-color:var(--portrait-border-hover);box-shadow:var(--portrait-shadow-hover);transform:translateY(-3px)}.hero-portrait-frame:hover .hero-portrait{filter:saturate(1.02) contrast(1.06);transform:scale(1.08)}}@media (max-width:1080px){.hero-section{min-height:auto;padding-bottom:3.2rem}.hero-grid{grid-template-columns:1fr}.hero-subtitle{max-width:24ch}.hero-proof-list{grid-template-columns:1fr}.hero-showcase{min-height:auto}}@media (max-width:768px){.hero-section{padding:calc(var(--nav-height) + 2rem) 1.25rem 2.85rem}.hero-title{font-size:clamp(3rem,16vw,4.25rem);max-width:none}.hero-subtitle{font-size:clamp(1.2rem,6vw,1.55rem);max-width:none}.hero-proof-item p{font-size:.92rem}.hero-description{font-size:1rem;line-height:1.72}.hero-cta{flex-direction:column}.cta-button{width:100%}.hero-showcase{padding:1.3rem}.hero-portrait-frame{max-width:228px}}.section{margin:0 auto;max-width:1360px;padding:6.5rem 2rem}.section-container{width:100%}.section-title{align-items:center;color:var(--text-primary);display:flex;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:800;gap:1rem;letter-spacing:-.06em;margin-bottom:2rem}.section-title span{color:var(--accent-primary);font-size:clamp(.95rem,1.6vw,1.1rem);font-weight:700;letter-spacing:.14em}.section-title:after{background:linear-gradient(90deg,var(--border-strong),#fff0);content:"";display:block;flex:1 1;height:1px}.section-subtitle{color:var(--text-muted);font-size:1rem;line-height:1.8;margin-bottom:2.4rem;max-width:68ch}.section-subtitle.mono{font-size:.92rem;letter-spacing:0}.section-subtitle-spacious{margin-bottom:3rem}.about-content{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:minmax(0,1fr) 260px}.about-text{max-width:76ch}.about-glance{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.15rem 1.25rem .6rem;position:-webkit-sticky;position:sticky;top:calc(var(--nav-height) + 24px)}.about-glance-title{color:var(--accent-primary);font-size:.68rem;letter-spacing:.14em;margin:0 0 .55rem;text-transform:uppercase}.about-glance-list{margin:0}.about-glance-row{align-items:baseline;border-bottom:1px solid var(--border-subtle);display:flex;gap:.8rem;justify-content:space-between;padding:.62rem 0}.about-glance-row:last-child{border-bottom:0}.about-glance-row dt{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.8rem;gap:.1rem}.about-glance-note{color:var(--text-muted);font-size:.68rem}.about-glance-row dd{font-feature-settings:"tnum";color:var(--text-primary);font-size:1.3rem;font-variant-numeric:tabular-nums;font-weight:800;margin:0;white-space:nowrap}.about-glance-row dd.about-glance-text{font-size:.92rem}@media (max-width:900px){.about-content{gap:2rem;grid-template-columns:1fr}.about-glance{max-width:420px;position:static}}.about-text p{color:var(--text-secondary);font-size:1.05rem;line-height:1.85;margin-bottom:1.35rem}.skill-group{border-top:1px solid var(--border-subtle);margin-top:2.4rem;padding-top:1.8rem}.skills-subtitle{color:var(--text-primary)!important;font-weight:800;margin-bottom:1rem!important}.skills-list{grid-gap:.8rem 1.2rem;display:grid;gap:.8rem 1.2rem;grid-template-columns:repeat(2,minmax(0,1fr))}.skills-list li{color:var(--text-secondary);font-size:.96rem;line-height:1.6;padding-left:1.15rem;position:relative}.skills-list li:before{color:var(--accent-primary);content:"→";font-weight:700;left:0;position:absolute;top:0}.structural-grid{grid-gap:1.4rem;display:grid;gap:1.4rem;grid-template-columns:repeat(2,minmax(0,1fr))}.structural-card{background:linear-gradient(180deg,#ffffffbd,#ffffff8a),var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-bottom:0;overflow:hidden;padding:1.9rem;position:relative;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease}[data-theme=dark] .structural-card{background:linear-gradient(180deg,#12161df0,#12161ddb),var(--bg-secondary)}.structural-card:before{background:linear-gradient(180deg,var(--accent-secondary),#fff0);content:"";inset:0 auto 0 0;opacity:.9;position:absolute;width:4px}.structural-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-4px)}.card-title{color:var(--text-primary);font-size:1.22rem;font-weight:800;letter-spacing:-.04em;margin-bottom:.85rem}.card-text{color:var(--text-secondary);line-height:1.8}.project-wrapper{padding:2.2rem}.project-top{grid-gap:1.25rem;align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr)}.project-header{grid-gap:.85rem;display:grid;gap:.85rem}.project-kicker{align-items:center;background:#ffffff94;border:1px solid var(--border-subtle);border-radius:999px;color:var(--accent-primary);display:inline-flex;font-size:.72rem;font-weight:800;letter-spacing:.14em;min-height:32px;padding:.35rem .75rem;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}[data-theme=dark] .project-kicker{background:#ffffff08}.project-title{color:var(--text-primary);font-size:clamp(1.5rem,2vw,2rem);font-weight:800;letter-spacing:-.05em}.project-context-card{background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:calc(var(--border-radius) - 10px);padding:1.15rem 1.2rem}.project-context-card p{color:var(--text-secondary);line-height:1.75}.project-content{grid-gap:1.4rem;display:grid;gap:1.4rem}.project-summary{color:var(--text-secondary);font-size:1.06rem;line-height:1.8;max-width:72ch}.project-metrics{display:flex;flex-wrap:wrap;gap:.75rem}.metric-badge{align-items:center;background:linear-gradient(135deg,#935f311f,#935f310a);border:1px solid #935f3138;border-radius:999px;box-shadow:0 2px 4px #935f310d;color:var(--text-primary);display:inline-flex;font-size:.82rem;font-weight:700;gap:.65rem;min-height:38px;padding:.48rem 1rem}[data-theme=dark] .metric-badge{background:linear-gradient(135deg,#c2965c26,#c2965c0d);border-color:#e2bc823d;box-shadow:0 2px 4px #0003}.metric-badge.has-value{padding-left:.45rem}.metric-value{align-items:center;background:var(--accent-primary);border-radius:999px;color:#fff;display:flex;font-size:.72rem;font-weight:800;height:1.8rem;justify-content:center;letter-spacing:.02em;min-width:2.2rem;padding:0 .6rem;text-transform:uppercase}[data-theme=dark] .metric-value{background:var(--accent-secondary);color:var(--bg-primary)}.project-story-grid{align-items:start;grid-template-columns:minmax(0,1.2fr) minmax(280px,.9fr)}.project-side-column,.project-story-grid,.project-story-stack{grid-gap:1rem;display:grid;gap:1rem}.project-story-card{background:#ffffff8f;border:1px solid var(--border-subtle);border-radius:calc(var(--border-radius) - 10px);overflow:hidden;padding:1.15rem 1.2rem;position:relative}[data-theme=dark] .project-story-card{background:#ffffff08}.project-story-card:before{background:linear-gradient(180deg,var(--accent-secondary),#fff0);content:"";inset:0 auto 0 0;position:absolute;width:3px}.project-story-text{color:var(--text-secondary);line-height:1.78}.project-side-card{height:100%}.project-actions{display:flex;justify-content:flex-start}.project-proof-list{grid-gap:.75rem;display:grid;gap:.75rem}.project-proof-list li{color:var(--text-secondary);line-height:1.72;padding-left:1rem;position:relative}.project-proof-list li:before{background:var(--accent-primary);border-radius:999px;content:"";height:6px;left:0;position:absolute;top:.65rem;width:6px}.project-archive-header{align-items:end;display:flex;justify-content:space-between;margin-bottom:1.2rem;margin-top:2.6rem}.project-archive-kicker{color:var(--accent-primary);font-size:.76rem;letter-spacing:.16em;margin-bottom:.45rem;text-transform:uppercase}.project-archive-title{color:var(--text-primary);font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:800;letter-spacing:-.04em;margin-bottom:.55rem}.project-archive-intro{color:var(--text-muted);line-height:1.75;max-width:68ch}.project-archive-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.project-core-header{margin-top:0}.project-core-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.project-core-card{grid-gap:1rem;align-content:start;display:grid;gap:1rem;padding:1.55rem}.project-core-block{grid-gap:.35rem;display:grid;gap:.35rem}.project-core-block p{color:var(--text-secondary);line-height:1.72}.project-archive-card{grid-gap:.95rem;display:grid;gap:.95rem;padding:1.55rem}.project-card-footer,.project-card-top{align-items:center;display:flex;gap:.9rem;justify-content:space-between}.project-status-badge{align-items:center;background:#935f3114;border:1px solid #935f3129;border-radius:999px;color:var(--accent-primary);display:inline-flex;font-size:.72rem;font-weight:800;justify-content:center;letter-spacing:.08em;min-height:32px;padding:.3rem .7rem;text-transform:uppercase}.project-status-badge.in_progress{background:#cf8f4a1f;border-color:#9a5d2238;color:#9a5d22}.project-status-badge.planning{background:#77503117;border-color:#7750312e;color:#775031}.project-status-badge.archive_preparing{background:#7d6f6714;border-color:var(--border-subtle);color:var(--text-muted)}.project-card-category,.project-card-period{color:var(--text-muted);font-size:.8rem;line-height:1.5}.project-card-category{font-weight:700;letter-spacing:.04em}.project-card-title{color:var(--text-primary);font-size:1.18rem;font-weight:800;letter-spacing:-.04em;line-height:1.32}.project-card-summary{color:var(--text-secondary);line-height:1.76}.project-tag-list{display:flex;flex-wrap:wrap;gap:.55rem}.project-tag{align-items:center;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:.76rem;font-weight:700;min-height:30px;padding:.28rem .68rem}.project-card-role{max-width:70%}.project-card-role p{color:var(--text-secondary);font-size:.95rem;line-height:1.68}.project-inline-link{color:var(--accent-primary);font-size:.9rem;font-weight:800;letter-spacing:-.02em}.project-inline-link:hover{color:var(--accent-secondary)}.project-detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-item{background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:calc(var(--border-radius) - 10px);padding:1.15rem 1.2rem}.detail-label{color:var(--text-muted);display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;margin-bottom:.7rem;text-transform:uppercase}.detail-item p{color:var(--text-secondary);line-height:1.75}.timeline{grid-gap:1.2rem;display:grid;gap:1.2rem;padding-left:2rem;position:relative}.timeline:before{background:linear-gradient(180deg,var(--accent-muted),#fff0);bottom:10px;content:"";left:9px;position:absolute;top:10px;width:2px}.timeline-item{position:relative}.timeline-marker{background:var(--bg-primary);border:3px solid var(--accent-primary);border-radius:50%;box-shadow:0 0 0 6px #935f3114;height:18px;left:-2rem;position:absolute;top:1.6rem;width:18px}[data-theme=dark] .timeline-marker{box-shadow:0 0 0 6px #c2965c14}.timeline-content h3{color:var(--text-primary);font-size:1.24rem;font-weight:800;letter-spacing:-.04em;margin-bottom:.35rem}.timeline-content h4{color:var(--accent-primary);font-size:1rem;font-weight:700;margin-bottom:.8rem}.timeline-content .date{color:var(--text-muted);display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.16em;margin-bottom:1rem;text-transform:uppercase}.task-list,.timeline-content .description{color:var(--text-secondary);line-height:1.75}.task-list{grid-gap:.75rem;display:grid;gap:.75rem}.task-list li{padding-left:1.15rem;position:relative}.task-list li:before{color:var(--accent-primary);content:"•";font-size:1.2rem;left:0;line-height:1.35;position:absolute;top:0}.reveal-base{opacity:0;transform:translateY(12px);transition:opacity .38s ease,transform .38s ease;will-change:opacity,transform}.reveal-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal-base{opacity:1;transform:none;transition:none}}@media (max-width:1080px){.project-archive-grid,.project-core-grid,.project-detail-grid,.project-story-grid,.project-top,.structural-grid{grid-template-columns:1fr}}@media (max-width:768px){.section{padding:5rem 1.25rem}.section-title{align-items:flex-start;flex-direction:column;gap:.55rem}.section-title:after{width:100%}.skills-list{grid-template-columns:1fr}.project-wrapper,.structural-card{padding:1.4rem}.detail-item p,.project-card-role p,.project-card-summary,.project-context-card p,.project-proof-list li,.project-story-text,.project-summary{font-size:.96rem}.project-card-footer,.project-card-top{align-items:flex-start;flex-direction:column}.project-card-role{max-width:100%}.timeline{padding-left:1.45rem}.timeline-marker{height:16px;left:-1.45rem;width:16px}}.competencies-subtitle{color:var(--text-secondary);font-size:1.125rem;line-height:1.6;margin-bottom:3rem;max-width:800px}.competencies-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(2,1fr)}.competency-card{display:flex;flex-direction:column;height:100%}.competency-title{border-bottom:1px solid var(--border-color);color:var(--accent-primary);font-size:1.25rem;margin-bottom:1.5rem;padding-bottom:.75rem}.competency-desc{color:var(--text-secondary);font-size:.9rem;font-style:italic;margin-bottom:1rem}.competency-list{list-style:none;margin:0;padding:0}.competency-list li{font-size:.95rem;line-height:1.5;margin-bottom:1rem}.competency-keyword,.competency-list li strong{color:var(--text-primary)}.competency-keyword{display:block;font-weight:700;margin-bottom:.25rem}.competency-text{color:var(--text-secondary);display:block}.framework-steps{display:flex;flex-direction:column;gap:.75rem}.framework-step-item{align-items:flex-start;display:flex;gap:1rem}.step-number{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--accent-primary);display:flex;flex-shrink:0;font-size:.75rem;height:24px;justify-content:center;width:24px}.framework-step-item p{font-size:.9rem;line-height:1.4;margin:0}@media (max-width:1024px){.competencies-grid{grid-template-columns:1fr}}.navbar{background:#0000;inset:0 0 auto;position:fixed;transition:background-color .22s ease,box-shadow .22s ease,border-color .22s ease;z-index:1000}.navbar.scrolled{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:var(--nav-bg);border-bottom:1px solid var(--border-subtle);box-shadow:0 18px 40px #16181e14}.nav-container{grid-gap:1.5rem;align-items:center;display:grid;gap:1.5rem;grid-template-columns:auto minmax(0,1fr) auto;margin:0 auto;max-width:1360px;min-height:var(--nav-height);padding:1rem 2rem .95rem}.nav-brand{display:flex;flex-direction:column;gap:.22rem;min-width:-webkit-max-content;min-width:max-content}.brand-name{color:var(--text-primary);font-size:1.08rem;font-weight:800;letter-spacing:-.04em;line-height:1}.brand-role{color:var(--text-muted);font-size:.65rem;letter-spacing:.18em;line-height:1;text-transform:uppercase}.nav-desktop-shell{gap:1.4rem;justify-content:space-between}.nav-desktop-shell,.nav-links{align-items:center;display:flex;min-width:0}.nav-links{gap:clamp(.7rem,1.25vw,1.3rem)}.nav-links li{flex:0 0 auto}.nav-links a{color:var(--text-secondary);display:inline-flex;font-size:.8rem;font-weight:700;letter-spacing:.02em;padding-bottom:.45rem;position:relative;transition:color .18s ease}.nav-links a:after{background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:999px;bottom:0;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left center;transition:transform .18s ease;width:100%}.nav-links a.active,.nav-links a:hover{color:var(--text-primary)}.nav-links a.active:after,.nav-links a:hover:after{transform:scaleX(1)}.nav-utilities{align-items:center;display:flex;flex-shrink:0;gap:.85rem}.lang-switcher{align-items:center;background:#ffffff8c;border:1px solid var(--border-subtle);border-radius:999px;box-shadow:inset 0 1px 0 #ffffffa6;color:var(--text-muted);display:inline-flex;gap:.45rem;padding:.32rem .75rem}[data-theme=dark] .lang-switcher{background:#12161dbf;box-shadow:inset 0 1px 0 #ffffff0a}.lang-option{background:#0000;border:0;color:inherit;cursor:pointer;font:inherit;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transition:color .18s ease}.lang-option.active,.lang-option:hover{color:var(--text-primary)}.lang-divider{color:var(--border-subtle);-webkit-user-select:none;user-select:none}.nav-action-group{align-items:center;display:inline-flex;gap:.55rem}.nav-action-btn{background:#ffffff7a;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:.01em;padding:.62rem .92rem;transition:transform .18s ease,color .18s ease,border-color .18s ease,background-color .18s ease}.nav-action-btn:hover{background:#ffffffd1;border-color:var(--border-strong);color:var(--text-primary);transform:translateY(-1px)}.nav-action-btn-accent{background:var(--accent-primary);border-color:#0000;color:#f9f5ef}.nav-action-btn-resume{background:#0000;border:1.5px solid var(--accent-primary);color:var(--accent-primary);font-weight:800;padding:.62rem 1.1rem}.nav-action-btn-resume:hover{background:var(--accent-primary);color:#fff}.nav-action-btn-accent:hover{background:var(--accent-secondary);color:#f9f5ef}[data-theme=dark] .nav-action-btn{background:#12161db8}[data-theme=dark] .nav-action-btn:hover{background:#1a1e26eb}.mobile-menu-btn{align-items:center;background:var(--nav-bg);border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-primary);cursor:pointer;display:none;height:46px;justify-content:center;padding:0;width:46px}.mobile-menu-btn span{background:currentColor;border-radius:999px;height:2px;position:absolute;transition:transform .18s ease,opacity .18s ease;width:20px}.mobile-menu-btn span:first-child{transform:translateY(-6px)}.mobile-menu-btn span:nth-child(3){transform:translateY(6px)}.mobile-menu-btn.open span:first-child{transform:rotate(45deg)}.mobile-menu-btn.open span:nth-child(2){opacity:0}.mobile-menu-btn.open span:nth-child(3){transform:rotate(-45deg)}.nav-backdrop{background:#080a0e7a;border:0;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .22s ease;z-index:1001}.nav-backdrop.open{opacity:1;pointer-events:auto}.nav-drawer{height:100dvh;padding:1.35rem;pointer-events:none;position:fixed;right:0;top:0;transform:translateX(102%);transition:transform .24s ease;width:min(420px,100vw);z-index:1002}.nav-drawer.open{pointer-events:auto;transform:translateX(0)}.nav-drawer-inner{background:linear-gradient(180deg,#fffffff0,#fffffffa),var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:28px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:2rem;height:100%;padding:1.4rem}[data-theme=dark] .nav-drawer-inner{background:linear-gradient(180deg,#12161df5,#12161dfc),var(--bg-secondary)}.nav-drawer-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.nav-drawer-kicker{color:var(--accent-primary);font-size:.68rem;letter-spacing:.18em;margin-bottom:.45rem;text-transform:uppercase}.nav-drawer-name{color:var(--text-primary);font-size:1.15rem;font-weight:800;letter-spacing:-.04em}.nav-drawer-close{background:#0000;border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-primary);cursor:pointer;flex-shrink:0;height:44px;padding:0;position:relative;width:44px}.nav-drawer-close span{background:currentColor;border-radius:999px;height:2px;inset:50% auto auto 50%;position:absolute;width:18px}.nav-drawer-close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}.nav-drawer-close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}.nav-drawer-links{grid-gap:.35rem;display:grid;gap:.35rem}.nav-drawer-links a{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);display:block;font-size:clamp(1.18rem,3vw,1.42rem);font-weight:700;letter-spacing:-.04em;padding:.95rem 0;position:relative;transition:color .18s ease,transform .18s ease}.nav-drawer-links a.active,.nav-drawer-links a:hover{color:var(--text-primary);transform:translateX(4px)}.nav-utilities.drawer{align-items:stretch;border-top:1px solid var(--border-subtle);flex-direction:column;gap:1rem;margin-top:auto;padding-top:1.3rem}.nav-utilities.drawer .lang-switcher{justify-content:center;padding:.7rem 1rem;width:100%}.nav-utilities.drawer .nav-action-group{flex-direction:column;width:100%}.nav-utilities.drawer .nav-action-btn{width:100%}.scroll-progress-container{background:#0000;height:2px;inset:auto 0 0;position:absolute}.scroll-progress-bar{background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));height:100%;transition:width .1s ease-out;width:0}@media (max-width:1280px){.nav-container{grid-template-columns:1fr auto}.nav-desktop-shell{display:none}.mobile-menu-btn{display:inline-flex;position:relative}}@media (max-width:768px){.nav-container{padding:.95rem 1.25rem .9rem}.brand-name{font-size:1rem}.brand-role{font-size:.58rem;letter-spacing:.14em}.nav-drawer{padding:0;width:100vw}.nav-drawer-inner{border-radius:0;min-height:100%;padding:1.15rem}}.contact-section{margin:0 auto;max-width:980px;padding:6.5rem 2rem 4.5rem;text-align:center}.contact-container{width:100%}.contact-overline{color:var(--text-muted);font-size:.82rem;font-weight:800;letter-spacing:.18em;margin-bottom:1rem;text-transform:uppercase}.contact-title{color:var(--text-primary);font-size:clamp(2.8rem,5vw,4.6rem);font-weight:800;letter-spacing:-.07em;margin-bottom:1.4rem}.contact-description{color:var(--text-secondary);font-size:1.08rem;line-height:1.82;margin:0 auto;max-width:48ch}.contact-buttons{display:flex;justify-content:center;margin-top:2rem}.footer-content{grid-gap:1rem;border-top:1px solid var(--border-subtle);display:grid;gap:1rem;margin-top:3rem;overflow-wrap:anywhere;padding-top:1.6rem}.social-links{display:flex;flex-wrap:wrap;gap:1.1rem;justify-content:center}.social-links a{color:var(--text-secondary);font-size:.9rem;font-weight:700;letter-spacing:.08em;position:relative;text-transform:uppercase;transition:color .18s ease}.social-links a:after{background:var(--accent-primary);border-radius:999px;bottom:-.35rem;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:center;transition:transform .18s ease;width:100%}.social-links a:hover{color:var(--text-primary)}.social-links a:hover:after{transform:scaleX(1)}.copyright{color:var(--text-muted);font-size:.84rem;letter-spacing:.02em;line-height:1.7}@media (max-width:768px){.contact-section{padding:5rem 1.25rem 3.6rem}.contact-title{font-size:clamp(2.2rem,12vw,3rem);letter-spacing:-.055em}.social-links{gap:.8rem 1rem}.social-links a{font-size:.82rem;letter-spacing:.05em}.copyright{font-size:.8rem;margin:0 auto;max-width:34ch}}.scroll-to-top{align-items:center;background:var(--nav-bg);border:1px solid var(--border-subtle);border-radius:50%;bottom:1.8rem;box-shadow:var(--shadow-md);color:var(--text-primary);cursor:pointer;display:flex;height:3.2rem;justify-content:center;opacity:0;position:fixed;right:1.8rem;transform:translateY(16px);transition:opacity .2s ease,transform .2s ease,background-color .2s ease,border-color .2s ease;visibility:hidden;width:3.2rem;z-index:990}.scroll-to-top.visible{opacity:1;transform:translateY(0);visibility:visible}.scroll-to-top:hover{background:var(--bg-hover);border-color:var(--border-strong)}.scroll-to-top svg{height:1.2rem;width:1.2rem}@media (max-width:768px){.scroll-to-top{bottom:1rem;height:2.85rem;right:1rem;width:2.85rem}}.project-detail-section{margin:0 auto;max-width:1360px;padding:calc(var(--nav-height) + 3rem) 2rem 6rem}.project-detail-shell{grid-gap:1.5rem;display:grid;gap:1.5rem}.project-back-link{align-items:center;color:var(--accent-primary);display:inline-flex;font-size:.92rem;font-weight:800;gap:.45rem;letter-spacing:-.02em;width:-webkit-fit-content;width:fit-content}.project-back-link:hover{color:var(--accent-secondary)}.project-back-link:before{content:"<"}.project-detail-hero{grid-gap:1.25rem;display:grid;gap:1.25rem;padding:2.2rem}.project-detail-header{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr)}.project-detail-copy{grid-gap:.85rem;display:grid;gap:.85rem}.project-detail-kicker{color:var(--accent-primary);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}.project-detail-meta-line{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.project-detail-period{color:var(--text-muted);font-size:.88rem}.project-detail-title{color:var(--text-primary);font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;letter-spacing:-.06em;line-height:1.02}.project-detail-summary{color:var(--text-secondary);font-size:1.03rem;line-height:1.82;max-width:72ch}.project-detail-side{grid-gap:1rem;display:grid;gap:1rem}.project-detail-links{display:flex;flex-wrap:wrap;gap:.8rem}.project-detail-content-grid{align-items:start;grid-template-columns:minmax(0,1.2fr) minmax(280px,.75fr)}.project-detail-aside,.project-detail-content-grid,.project-detail-main{grid-gap:1rem;display:grid;gap:1rem}.project-detail-card{grid-gap:.9rem;display:grid;gap:.9rem}.project-detail-body{color:var(--text-secondary);line-height:1.8}.detail-story-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.detail-story-item{grid-gap:.6rem;align-content:start;display:grid;gap:.6rem}.submission-detail-card{padding:1.35rem}.submission-detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.submission-detail-item{grid-gap:.55rem;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:.55rem;padding:1rem}.submission-detail-item p{color:var(--text-secondary);line-height:1.72}@media (max-width:768px){.detail-story-grid,.submission-detail-grid{gap:1.25rem;grid-template-columns:1fr}}.case-study-card{background:linear-gradient(135deg,#935f310d,#935f3105);border:1px solid #935f3133!important;position:relative}[data-theme=dark] .case-study-card{background:linear-gradient(135deg,#c2965c14,#c2965c08);border-color:#c2965c3d!important}.case-study-card:before{background:linear-gradient(180deg,var(--accent-primary),#fff0)!important;width:6px!important}.case-study-header{margin-bottom:.8rem}.case-study-badge{background:var(--accent-primary);border-radius:4px;color:#fff;display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.12em;margin-bottom:.6rem;padding:.25rem .6rem;text-transform:uppercase}[data-theme=dark] .case-study-badge{background:var(--accent-secondary);color:var(--bg-primary)}.case-study-title{color:var(--text-primary);font-size:1.55rem;font-weight:800;letter-spacing:-.04em;margin-bottom:.45rem}.case-study-summary{color:var(--accent-primary);font-size:1rem;font-weight:700;letter-spacing:-.02em}[data-theme=dark] .case-study-summary{color:var(--accent-secondary)}.case-study-content{background:#ffffff73;border-radius:8px;font-style:italic;line-height:1.85;margin-top:.5rem;padding:1.25rem}[data-theme=dark] .case-study-content{background:#00000040}.project-media-card{gap:1rem}.project-screenshot-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:1rem}.project-screenshot{margin:0}.project-screenshot img{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:block;width:100%}.project-screenshot figcaption{color:var(--text-secondary);font-size:.78rem;line-height:1.45;margin-top:.55rem;text-align:center}.project-video-frame{background:#000;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.project-video-frame video{aspect-ratio:16/9;background:#000;display:block;object-fit:contain;width:100%}.project-media-actions{display:flex;flex-wrap:wrap;gap:.8rem}@media (max-width:1080px){.project-detail-content-grid,.project-detail-header{grid-template-columns:1fr}}@media (max-width:768px){.project-detail-section{padding:calc(var(--nav-height) + 2rem) 1.25rem 5rem}.project-detail-hero{padding:1.4rem}}.project-section-visual{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-top:1.4rem;overflow-x:auto;padding:1.4rem 1.2rem}.project-section-visual .architecture-diagram{display:block;height:auto;min-width:660px;width:100%}.project-section-visual .section-image{border-radius:8px;display:block;width:100%}.ask-widget{align-items:flex-end;bottom:92px;display:flex;flex-direction:column;gap:12px;position:fixed;right:24px;z-index:1200}.ask-fab{align-items:center;background:var(--cta-bg);border:none;border-radius:999px;box-shadow:var(--cta-shadow);color:var(--cta-text);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:800;letter-spacing:.02em;min-height:48px;padding:.7rem 1.25rem;transition:transform .18s ease,background-color .18s ease}.ask-fab:hover{background:var(--cta-bg-hover);transform:translateY(-2px)}.ask-fab.open{font-size:1.1rem;line-height:1;padding:.7rem 1rem}.ask-panel{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:min(520px,calc(100vh - 120px));overflow:hidden;width:min(360px,calc(100vw - 32px))}.ask-panel-head{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:.8rem 1rem}.ask-panel-title{color:var(--accent-primary);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.ask-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.2rem;line-height:1;padding:.2rem .4rem}.ask-close:hover{color:var(--text-primary)}.ask-panel-body{display:flex;flex:1 1;flex-direction:column;gap:.6rem;min-height:180px;overflow-y:auto;padding:1rem}.ask-bubble{border-radius:12px;font-size:.85rem;line-height:1.6;max-width:88%;padding:.55rem .85rem;white-space:pre-wrap;word-break:keep-all}.ask-bubble.assistant{align-self:flex-start;background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary)}.ask-bubble.user{align-self:flex-end;background:var(--cta-bg);color:var(--cta-text)}.ask-typing{align-items:center;display:inline-flex;gap:4px}.ask-typing span{animation:ask-blink 1.2s ease-in-out infinite;background:var(--text-muted);border-radius:50%;height:6px;width:6px}.ask-typing span:nth-child(2){animation-delay:.2s}.ask-typing span:nth-child(3){animation-delay:.4s}@keyframes ask-blink{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.ask-typing span{animation:none}}.ask-suggestions{display:flex;flex-direction:column;gap:.45rem;margin-top:.3rem}.ask-suggestion{background:#0000;border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:.5rem .8rem;text-align:left;transition:border-color .15s ease,color .15s ease}.ask-suggestion:hover{border-color:var(--accent-primary);color:var(--text-primary)}.ask-panel-input{border-top:1px solid var(--border-subtle);display:flex;gap:.5rem;padding:.7rem .8rem}.ask-panel-input input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);flex:1 1;font-size:.85rem;min-width:0;padding:.5rem .9rem}.ask-panel-input input:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.ask-panel-input button{background:var(--cta-bg);border:none;border-radius:999px;color:var(--cta-text);cursor:pointer;font-size:.8rem;font-weight:700;padding:.5rem 1rem}.ask-panel-input button:disabled{cursor:default;opacity:.5}.ask-disclaimer{color:var(--text-muted);font-size:.66rem;margin:0;padding:0 1rem .7rem}@media (max-width:600px){.ask-widget{bottom:76px;right:16px}}@media print{.ask-widget{display:none!important}}
/*# sourceMappingURL=main.fd8e4808.css.map*/