#portfolio{--bg: #f7f3ec;--bg-paper: #fbf8f2;--surface: #ffffff;--surface-hover: #f1ede4;--text-primary: #16323a;--text-secondary: #4f6970;--text-muted: #8b9a9f;--teal-deep: #0f4c5c;--teal: #1d6b7d;--teal-soft: #6d9aa4;--teal-haze: #d8e4e7;--amber: #c47c2c;--amber-soft: #e6b85a;--amber-wash: #f5e7c6;--border: #e3dccd;--border-strong: #c8c0ad;--rule: rgba(15, 76, 92, .18);--primary: var(--teal-deep);--shadow-sm: 0 1px 3px rgba(15, 32, 39, .06);--shadow-md: 0 6px 24px rgba(15, 32, 39, .08);--pf-font-display: "Fraunces Variable", Georgia, serif;--pf-font-body: "IBM Plex Sans Variable", system-ui, sans-serif;--pf-font-mono: "IBM Plex Mono", ui-monospace, monospace;color:var(--text-primary);font-family:var(--pf-font-body);font-size:16px;line-height:1.65}:root[data-theme=dark] #portfolio{--bg: #0d181c;--bg-paper: #142428;--surface: #1a2c31;--surface-hover: #213840;--text-primary: #ecdfc4;--text-secondary: #b1c2c7;--text-muted: #7e9197;--teal-deep: #6dbacc;--teal: #8acdda;--teal-soft: #4a7a85;--teal-haze: #1d3941;--amber: #e8b568;--amber-soft: #f0c887;--amber-wash: #2a2117;--border: #2a3e44;--border-strong: #3d5560;--rule: rgba(232, 181, 104, .25);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 8px 28px rgba(0, 0, 0, .4)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) #portfolio{--bg: #0d181c;--bg-paper: #142428;--surface: #1a2c31;--surface-hover: #213840;--text-primary: #ecdfc4;--text-secondary: #b1c2c7;--text-muted: #7e9197;--teal-deep: #6dbacc;--teal: #8acdda;--teal-soft: #4a7a85;--teal-haze: #1d3941;--amber: #e8b568;--amber-soft: #f0c887;--amber-wash: #2a2117;--border: #2a3e44;--border-strong: #3d5560;--rule: rgba(232, 181, 104, .25);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 8px 28px rgba(0, 0, 0, .4)}}#portfolio .container{max-width:940px;margin:0 auto;padding:4rem 2.5rem 3rem;position:relative}#portfolio .hero{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;padding-bottom:2.5rem;border-bottom:1px solid var(--rule);margin-bottom:3.5rem}#portfolio .hero-eyebrow{font-family:var(--pf-font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--amber);margin-bottom:1rem;font-weight:500}#portfolio .hero h1{font-family:var(--pf-font-display);font-weight:500;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1;margin:0 0 .6rem;letter-spacing:-.02em;color:var(--text-primary);font-variation-settings:"opsz" 144,"SOFT" 30}#portfolio .hero h1 em{font-style:italic;font-weight:400;color:var(--teal-deep);font-variation-settings:"opsz" 144,"SOFT" 100}#portfolio .hero-sub{font-family:var(--pf-font-display);font-style:italic;font-weight:300;font-size:clamp(1.1rem,1.7vw,1.3rem);color:var(--text-secondary);margin:0;max-width:32rem;font-variation-settings:"opsz" 36}#portfolio .areas-block{padding-left:2rem;border-left:1px solid var(--rule);min-width:220px;max-width:280px}#portfolio .areas-block .lbl{font-family:var(--pf-font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--amber);margin-bottom:.9rem;font-weight:500}#portfolio .areas-list{display:flex;flex-direction:column;gap:.4rem}#portfolio .area-row{display:flex;align-items:baseline;gap:.7rem;font-family:var(--pf-font-display);font-size:.96rem;color:var(--text-primary);line-height:1.2;font-variation-settings:"opsz" 36}#portfolio .area-row .dot{width:6px;height:6px;border-radius:50%;background:var(--teal-deep);flex-shrink:0;transform:translateY(-2px)}#portfolio .area-row:nth-child(2n) .dot{background:var(--amber)}#portfolio .section{margin:4rem 0}#portfolio .section-eyebrow{font-family:var(--pf-font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--amber);margin-bottom:.6rem;display:flex;align-items:center;gap:.8rem;font-weight:500}#portfolio .section-eyebrow:before{content:"";display:inline-block;width:10px;height:10px;background:var(--amber);border-radius:50%;flex-shrink:0}#portfolio .section-eyebrow:after{content:"";flex:1;height:1px;background:var(--rule)}#portfolio .section h2{font-family:var(--pf-font-display);font-weight:500;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15;margin:0 0 1.5rem;letter-spacing:-.015em;color:var(--text-primary);font-variation-settings:"opsz" 72,"SOFT" 50}#portfolio .summary{font-family:var(--pf-font-display);font-weight:300;font-size:1.32rem;line-height:1.55;color:var(--text-primary);margin:0;font-variation-settings:"opsz" 36,"SOFT" 60}#portfolio .summary .drop{font-family:var(--pf-font-display);font-weight:600;font-size:4.2rem;float:left;line-height:.85;margin:.3rem .7rem 0 0;color:var(--teal-deep);font-variation-settings:"opsz" 144,"SOFT" 0}#portfolio .achievement{background:var(--bg-paper);border:1px solid var(--border);border-radius:4px;padding:2rem 2.2rem;margin-bottom:1.4rem;box-shadow:var(--shadow-sm);position:relative;transition:transform .25s,box-shadow .25s,border-color .25s}#portfolio .achievement:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--teal-soft)}#portfolio .achievement-num{position:absolute;top:-.6rem;left:1.4rem;background:var(--bg);padding:0 .7rem;font-family:var(--pf-font-mono);font-size:.7rem;color:var(--amber);letter-spacing:.15em;text-transform:uppercase;font-weight:500}#portfolio .achievement h3{font-family:var(--pf-font-display);font-weight:500;font-size:1.4rem;line-height:1.25;margin:0 0 1.4rem;color:var(--text-primary);letter-spacing:-.01em;font-variation-settings:"opsz" 60,"SOFT" 40;padding-right:1rem}#portfolio .achievement-grid{display:grid;grid-template-columns:80px 1fr;gap:.7rem 1.4rem;font-size:.95rem}#portfolio .achievement-grid dt{font-family:var(--pf-font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--teal);font-weight:600;padding-top:.32rem;align-self:start}#portfolio .achievement-grid dd{margin:0;color:var(--text-primary);line-height:1.55}#portfolio .ai-section{background:linear-gradient(180deg,var(--bg) 0%,var(--amber-wash) 100%);border-radius:4px;padding:2.5rem 2.4rem 3rem;border:1px solid var(--border);margin-top:2rem}:root[data-theme=dark] #portfolio .ai-section{background:linear-gradient(180deg,var(--bg-paper) 0%,rgba(232,181,104,.08) 100%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) #portfolio .ai-section{background:linear-gradient(180deg,var(--bg-paper) 0%,rgba(232,181,104,.08) 100%)}}#portfolio .ai-intro{font-family:var(--pf-font-display);font-style:italic;font-weight:300;font-size:1.12rem;line-height:1.55;color:var(--text-primary);margin:0 0 2.2rem;max-width:44rem;font-variation-settings:"opsz" 36,"SOFT" 60;border-left:2px solid var(--amber);padding-left:1.2rem}#portfolio .principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem 2rem}#portfolio .principle{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;align-items:baseline}#portfolio .principle-num{font-family:var(--pf-font-display);font-weight:600;font-size:2rem;line-height:.9;color:var(--amber);font-variation-settings:"opsz" 144;grid-row:span 2;align-self:start;padding-top:.4rem;min-width:1.8rem}#portfolio .principle-title{font-family:var(--pf-font-display);font-weight:500;font-size:1.05rem;line-height:1.25;margin:0;color:var(--text-primary);font-variation-settings:"opsz" 60,"SOFT" 30}#portfolio .principle-body{font-size:.88rem;line-height:1.55;color:var(--text-secondary);margin:0;grid-column:2}#portfolio .skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:1.5rem}#portfolio .skill-card{background:var(--bg-paper);border-top:2px solid var(--teal-deep);padding:1.3rem 1.4rem 1.5rem;border-radius:0 0 4px 4px;box-shadow:var(--shadow-sm)}#portfolio .skill-card:nth-child(2n){border-top-color:var(--amber)}#portfolio .skill-card h4{font-family:var(--pf-font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary);margin:0 0 1rem;font-weight:600}#portfolio .skill-card ul{margin:0;padding:0;list-style:none}#portfolio .skill-card li{padding:.35rem 0;font-size:.92rem;color:var(--text-primary);border-bottom:1px dotted var(--border)}#portfolio .skill-card li:last-child{border-bottom:none}#portfolio .timeline{position:relative;margin-top:2rem;padding-left:4rem}#portfolio .timeline:before{content:"";position:absolute;left:1.85rem;top:.6rem;bottom:.6rem;width:1px;background:linear-gradient(to bottom,var(--amber) 0%,var(--teal-soft) 30%,var(--teal-deep) 100%)}#portfolio .t-item{position:relative;padding-bottom:2.4rem;padding-left:.4rem}#portfolio .t-item:last-child{padding-bottom:0}#portfolio .t-item:before{content:"";position:absolute;left:-2.32rem;top:.6rem;width:11px;height:11px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px var(--bg);z-index:1}#portfolio .t-item.current:before{background:var(--teal-deep);box-shadow:0 0 0 4px var(--bg),0 0 0 7px var(--amber-soft)}#portfolio .t-year{position:absolute;left:-4rem;top:.45rem;width:2.5rem;text-align:right;font-family:var(--pf-font-mono);font-size:.78rem;font-weight:600;color:var(--teal-deep);letter-spacing:.05em}#portfolio .t-title{font-family:var(--pf-font-display);font-weight:500;font-size:1.1rem;line-height:1.3;margin:0 0 .4rem;color:var(--text-primary);font-variation-settings:"opsz" 60}#portfolio .t-body{font-size:.93rem;color:var(--text-secondary);line-height:1.55;margin:0}#portfolio a[target=_blank]:after{content:"";display:inline-block;width:.62em;height:.62em;margin-left:.22em;background-color:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h7v7'/><path d='M13 3 5 11'/><path d='M11 9v4H3V5h4'/></svg>") center / contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h7v7'/><path d='M13 3 5 11'/><path d='M11 9v4H3V5h4'/></svg>") center / contain no-repeat;opacity:.7;vertical-align:baseline;transform:translateY(.04em)}#portfolio a[target=_blank]:hover:after{opacity:1}#portfolio .talks{border-left:2px solid var(--amber);padding-left:1.8rem;margin-top:1.5rem}#portfolio .talk{margin-bottom:1.4rem}#portfolio .talk:last-child{margin-bottom:0}#portfolio .talk-title{font-family:var(--pf-font-display);font-style:italic;font-weight:500;font-size:1.05rem;color:var(--text-primary);line-height:1.3;font-variation-settings:"opsz" 36;margin:0 0 .2rem}#portfolio .talk-meta{font-family:var(--pf-font-mono);font-size:.72rem;color:var(--text-muted);letter-spacing:.04em}#portfolio .style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;margin-top:1.5rem;counter-reset:style-counter}#portfolio .style-item{padding:1.4rem 1.5rem;background:var(--bg-paper);border-radius:4px;border:1px solid var(--border);position:relative}#portfolio .style-item:before{content:counter(style-counter,decimal-leading-zero);counter-increment:style-counter;position:absolute;top:.9rem;right:1.2rem;font-family:var(--pf-font-mono);font-size:.7rem;color:var(--amber);letter-spacing:.1em}#portfolio .style-item p{margin:0;font-size:.93rem;color:var(--text-primary);line-height:1.5;padding-right:1.5rem}@keyframes pfFadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}#portfolio .ani{opacity:0;animation:pfFadeInUp .7s cubic-bezier(.22,1,.36,1) forwards}#portfolio .d1{animation-delay:.1s}#portfolio .d2{animation-delay:.2s}#portfolio .d3{animation-delay:.3s}#portfolio .d4{animation-delay:.45s}#portfolio .d5{animation-delay:.6s}#portfolio [data-animate]{opacity:0;transition-property:opacity,transform,filter;transition-duration:.6s;transition-timing-function:cubic-bezier(.22,1,.36,1)}#portfolio [data-animate=fade-up]{transform:translateY(20px)}#portfolio [data-animate=fade-down]{transform:translateY(-20px)}#portfolio [data-animate=fade-left]{transform:translate(-20px)}#portfolio [data-animate=fade-right]{transform:translate(20px)}#portfolio [data-animate=scale-up]{transform:scale(.95)}#portfolio [data-animate=blur-in]{filter:blur(8px)}#portfolio [data-animate].is-visible{opacity:1;transform:none;filter:none}@media(max-width:720px){#portfolio .container{padding:2.5rem 1.4rem 2rem}#portfolio .hero{grid-template-columns:1fr;gap:1.5rem}#portfolio .areas-block{padding-left:0;border-left:none;border-top:1px solid var(--rule);padding-top:1.2rem;max-width:none}#portfolio .achievement-grid{grid-template-columns:1fr;gap:.3rem 0}#portfolio .achievement-grid dt{padding-top:.8rem}#portfolio .timeline{padding-left:3.2rem}#portfolio .timeline:before{left:1.05rem}#portfolio .t-item:before{left:-2.32rem}#portfolio .t-year{left:-3.3rem;width:2.2rem;font-size:.7rem}}@media print{#portfolio .achievement,#portfolio .skill-card,#portfolio .style-item{break-inside:avoid}#portfolio .ani{opacity:1!important;animation:none!important}#portfolio [data-animate]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}@page{margin:1.5cm}}@media(prefers-reduced-motion:reduce){#portfolio .ani{opacity:1!important;animation:none!important}#portfolio [data-animate]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}
