:root{--bg:#f3f1ec;--text:#171716;--muted:#74716a;--line:#ccc8bf;--accent:#7358ff;--header:rgba(243,241,236,.86)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif;transition:.3s}a{color:inherit}.site-header{position:fixed;z-index:10;top:0;width:100%;height:78px;padding:0 max(25px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--header);backdrop-filter:blur(18px)}.logo{text-decoration:none;font-size:22px;font-weight:700}.logo span{color:var(--accent)}nav{display:flex;gap:34px}nav a{text-decoration:none;font-size:14px;color:var(--muted)}nav a.active{color:var(--text);font-weight:700}.theme-toggle{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);font-size:19px;cursor:pointer}.menu-toggle{display:none;background:none;border:0;color:var(--text);font:inherit}.section{max-width:1280px;margin:auto;padding:126px 28px;border-bottom:1px solid var(--line)}.hero{min-height:100vh;padding-top:170px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);display:flex;align-items:center;gap:10px}.status-dot{width:8px;height:8px;background:#57bd67;border-radius:50%;box-shadow:0 0 0 5px rgba(87,189,103,.14)}h1{font-size:clamp(62px,9vw,132px);line-height:.89;letter-spacing:-.07em;margin:34px 0 45px;font-weight:600}h1 span{color:var(--muted)}.lead{max-width:760px;font-size:clamp(20px,2.1vw,29px);line-height:1.5;color:var(--muted);margin:0}.hero-actions{display:flex;gap:12px;margin-top:42px}.button{padding:16px 22px;border-radius:100px;text-decoration:none;font-size:14px;font-weight:600;display:flex;gap:25px}.primary{background:var(--text);color:var(--bg)}.secondary{border:1px solid var(--line)}.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px;border-top:1px solid var(--line);padding-top:24px;gap:22px}.meta-grid div{display:flex;flex-direction:column;gap:7px}.meta-grid span,.job-date,.case-info span{color:var(--muted);font-size:12px}.meta-grid strong{font-size:14px}.section-heading{display:grid;grid-template-columns:25% 75%;margin-bottom:75px}.section-heading>span{font-size:12px;color:var(--muted)}h2{font-size:clamp(39px,5vw,68px);line-height:1;letter-spacing:-.05em;margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-lead{font-size:clamp(29px,3vw,44px);line-height:1.3;letter-spacing:-.04em;margin:0}.about-copy{font-size:17px;line-height:1.75;color:var(--muted)}.job{display:grid;grid-template-columns:25% 75%;padding:42px 0;border-top:1px solid var(--line)}.job-body{max-width:760px}.job h3{font-size:27px;letter-spacing:-.03em;margin:0 0 7px}.company{color:var(--accent);font-size:14px;font-weight:600;margin:0 0 22px}.job-body>p:last-of-type{font-size:17px;line-height:1.65;color:var(--muted)}.tags{display:flex;list-style:none;padding:0;margin:23px 0 0;gap:8px;flex-wrap:wrap}.tags li{font-size:11px;border:1px solid var(--line);padding:8px 12px;border-radius:99px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.skills-grid div{background:var(--bg);padding:34px;min-height:260px}.skills-grid span{font-size:12px;color:var(--muted)}.skills-grid h3{font-size:26px;margin:70px 0 12px}.skills-grid p{color:var(--muted);line-height:1.6}.page-intro{padding-top:190px;padding-bottom:100px}.page-intro h1{font-size:clamp(58px,8vw,115px)}.compact{padding-top:70px}.filter-row{display:flex;gap:8px;margin-bottom:45px}.filter{border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--text);padding:10px 17px;cursor:pointer}.filter.active{background:var(--text);color:var(--bg)}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 18px}.case-card.wide{grid-column:1/-1}.case-card[hidden]{display:none}.case-visual{height:520px;border-radius:17px;overflow:hidden;position:relative;color:#111}.case-card:not(.wide) .case-visual{height:600px}.violet{background:#b6a5ff}.coral{background:#f09b7f}.mint{background:#a4ddc2}.blue{background:#a4c8ee}.case-info{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}.case-info h2{font-size:27px;margin-top:8px}.case-info p{font-size:14px;color:var(--muted);line-height:1.6;margin:23px 0}.visual-browser{padding:70px 9%}.visual-browser:before{content:"";display:block;height:100%;background:#fff;border-radius:12px;box-shadow:0 24px 50px #6651b455}.visual-browser span{position:absolute;left:13%;top:105px;width:28%;height:250px;background:#eeeaff;border-radius:7px}.visual-browser i{position:relative;display:inline-block;width:14%;height:90px;background:#8069ef;margin:185px 2% 0}.visual-editorial{padding:42px}.visual-editorial b{font-size:clamp(48px,7vw,92px);line-height:.85;letter-spacing:-.08em}.visual-editorial i{position:absolute;right:38px;bottom:35px;font-size:100px;font-style:normal;color:#f8d9cd}.visual-identity{display:flex;align-items:center;justify-content:center}.visual-identity i{font:110px Georgia,serif;font-style:normal;margin:-10px}.visual-identity i:nth-child(even){transform:translateY(55px)}.visual-system{display:grid;grid-template-columns:1fr 1fr;padding:60px;gap:15px}.visual-system span{border:2px solid #739ccc;border-radius:10px;padding:22px;font-size:55px}.camera-intro h1{font-family:Prata,Georgia,serif;font-weight:400;letter-spacing:-.055em}.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:70px 18px}.photo{margin:0}.photo div{height:620px;background-size:cover;background-position:center}.photo figcaption{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:11px}.p1{grid-column:1/8}.p2{grid-column:9/13;margin-top:180px}.p3{grid-column:2/6}.p4{grid-column:7/13;margin-top:150px}.p5{grid-column:1/7}.p6{grid-column:8/12;margin-top:120px}.p1 div{background:linear-gradient(145deg,#251d1b,#a7765d 46%,#d6b492)}.p2 div{background:linear-gradient(165deg,#bfccd1,#677d81 45%,#253539)}.p3 div{background:linear-gradient(170deg,#a8c0c8 0 46%,#d3b286 47% 59%,#5c6758 60%)}.p4 div{background:radial-gradient(circle at 65% 30%,#eee1bd 0 12%,#79694f 13% 37%,#211d1b 70%)}.p5 div{background:linear-gradient(120deg,#302a33,#866b71 47%,#c49e8b)}.p6 div{background:linear-gradient(170deg,#282a37,#5b6680 50%,#c68c62 51%,#3b2c2b)}.series-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px}.series-heading h2{font-size:37px}.series-heading span,.photo-note{font-size:12px;color:var(--muted)}.photo-note{max-width:520px;line-height:1.6;margin:80px 0 0}.contact{padding-top:150px;padding-bottom:38px;border:0}.contact>p{font-size:17px;color:var(--muted)}.contact>a{display:flex;justify-content:space-between;text-decoration:none;font-size:clamp(50px,8vw,108px);letter-spacing:-.065em;border-bottom:2px solid var(--text);padding-bottom:16px}.contact-bottom{display:flex;justify-content:space-between;margin-top:90px;font-size:12px;color:var(--muted)}.contact-bottom div{display:flex;gap:22px}.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.visible{opacity:1;transform:none}body.dark{--bg:#171716;--text:#f2f0ea;--muted:#97938c;--line:#3d3a36;--header:rgba(23,23,22,.86)}
@media(max-width:760px){.site-header{height:66px}.theme-toggle{margin-left:auto;margin-right:15px}.menu-toggle{display:block}nav{display:none;position:fixed;top:66px;left:0;right:0;background:var(--bg);padding:35px 20px 50px;flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}.section{padding:88px 20px}.hero,.page-intro{padding-top:125px}h1{font-size:57px}.hero-actions{flex-direction:column;align-items:flex-start}.meta-grid,.about-grid,.skills-grid,.case-grid{grid-template-columns:1fr}.meta-grid{margin-top:65px}.meta-grid div{padding-bottom:14px;border-bottom:1px solid var(--line)}.section-heading,.job{grid-template-columns:1fr}.section-heading>span,.job-date{margin-bottom:19px}.skills-grid div{min-height:220px}.case-card.wide{grid-column:auto}.case-visual,.case-card:not(.wide) .case-visual{height:430px}.case-info{grid-template-columns:1fr}.photo-grid{display:block}.photo{margin:0 0 60px}.photo div{height:490px}.series-heading{display:block}.series-heading span{display:block;margin-top:10px}.contact>a{font-size:47px}.contact-bottom{flex-direction:column;gap:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
html{--accent:#7358ff;--orange:#d9824b;--orange-soft:#e3a077}
.wordmark{font-size:18px;letter-spacing:.16em}.hero-quote{max-width:900px;font-size:clamp(28px,3.3vw,48px);line-height:1.24;letter-spacing:-.045em;margin:0 0 38px}.hero-summary{font-size:clamp(19px,1.8vw,25px);max-width:850px}.hero-detail{max-width:850px;color:var(--muted);font-size:16px;line-height:1.75;margin:22px 0 0}.button,.filter,.theme-toggle,.menu-toggle,nav a,.jump-nav a{transition:background .25s,color .25s,border-color .25s,transform .25s}.button:hover,.filter:hover,.theme-toggle:hover,.jump-nav a:hover{background:var(--text);border-color:var(--text);color:#211a16;transform:translateY(-2px)}nav a:hover{color:var(--text)}.jump-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:58px}.jump-nav>span{font-size:12px;color:var(--muted);margin-right:7px}.jump-nav a{text-decoration:none;font-size:12px;border:1px solid var(--line);padding:9px 13px;border-radius:99px}.meta-grid{grid-template-columns:1.2fr 1fr 1.25fr}.profile-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.subhead{font-size:21px;margin:0 0 25px}.feature-list,.detail-content ul,.competency-grid ul{padding:0;margin:0;list-style:none}.feature-list li,.detail-content li,.competency-grid li{position:relative;padding:9px 0 9px 22px;color:var(--muted);line-height:1.55}.feature-list li:before,.detail-content li:before,.competency-grid li:before{content:"";position:absolute;left:0;top:18px;width:7px;height:7px;background:var(--text);border-radius:50%}.work-cycle{margin-top:85px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:25% 75%}.work-cycle span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.work-cycle p{font-size:19px;line-height:1.65;margin:0}.work-cycle b{color:var(--text);font-weight:400}.experience-card{display:grid;grid-template-columns:25% 75%;border-top:1px solid var(--line);padding:45px 0 70px}.experience-aside{display:flex;flex-direction:column;justify-content:space-between}.experience-number{font-size:70px;color:var(--line);font-weight:600}.experience-main>h3{font-size:clamp(27px,3vw,42px);letter-spacing:-.04em;margin:4px 0 18px}.company-label{color:var(--text);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0}.experience-intro{color:var(--muted);font-size:17px;line-height:1.65;max-width:780px;margin-bottom:35px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-weight:600}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:8px;top:18px;color:var(--text);font-size:24px;font-weight:400}details[open]>summary:after{content:"−"}summary span{display:block;font-size:17px}summary small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:7px}.detail-content{padding:0 42px 27px 0;color:var(--muted);line-height:1.7}.detail-content p{max-width:800px}.highlight,.result{padding:17px 20px;border-left:3px solid var(--orange);background:color-mix(in srgb,var(--orange) 9%,transparent);color:var(--text)!important}.result{font-weight:700}.value-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.value-grid article{min-height:280px;padding:31px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.value-grid article:last-child{grid-column:1/-1}.value-grid b{font-size:12px;color:var(--text)}.value-grid h3{font-size:25px;letter-spacing:-.03em;margin:70px 0 12px}.value-grid p{color:var(--muted);line-height:1.6;max-width:520px}.accordion-list{max-width:930px;margin-left:25%}.accordion-list summary{padding-top:28px;padding-bottom:28px}.accordion-list summary span{font-size:24px}.competency-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.competency-grid details{border:1px solid var(--line);padding:0 25px}.competency-grid details:last-child{border-bottom:1px solid var(--line)}.competency-grid summary{font-size:18px}.language-list{display:flex;flex-direction:column;margin-top:50px;border-top:1px solid var(--line)}.language-list>span{padding:15px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px}.language-list b{color:var(--muted);font-weight:400}.ai-tags{display:flex;flex-wrap:wrap;align-content:flex-start;gap:9px}.ai-tags span{border:1px solid var(--line);border-radius:99px;padding:12px 15px;font-size:13px}.scroll-arrow{position:fixed;z-index:8;right:24px;bottom:24px;width:54px;height:54px;border-radius:50%;background:var(--text);color:#211a16;text-decoration:none;display:grid;place-items:center;font-size:24px;box-shadow:0 8px 30px #6a452733;transition:.25s}.scroll-arrow:hover{transform:translateY(4px);background:var(--orange-soft)}
@media(max-width:760px){.hero-quote{font-size:31px}.jump-nav{margin-top:45px}.profile-layout,.work-cycle,.experience-card,.competency-grid{grid-template-columns:1fr}.profile-layout{gap:45px}.work-cycle{gap:18px}.experience-aside{flex-direction:row}.experience-number{font-size:38px}.experience-main{margin-top:28px}.accordion-list{margin-left:0}.value-grid{grid-template-columns:1fr}.value-grid article:last-child{grid-column:auto}.meta-grid{grid-template-columns:1fr}.scroll-arrow{width:46px;height:46px;right:15px;bottom:15px}.language-list>span{gap:15px}.detail-content{padding-right:10px}}
body .scroll-arrow{background:#d9824b;color:#211a16}body .scroll-arrow:hover{background:#e3a077}.contact-info{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.contact-info a{min-height:190px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.contact-info a:hover{background:var(--text);color:var(--bg)}.contact-info span{font-size:12px;color:var(--muted)}.contact-info strong{font-size:clamp(18px,2.2vw,29px);letter-spacing:-.03em;overflow-wrap:anywhere}.contact-info a:hover span{color:inherit}@media(max-width:760px){.contact-info{grid-template-columns:1fr}.contact-info a{min-height:145px}}
body .button:hover,body .filter:hover,body .theme-toggle:hover,body .jump-nav a:hover{background:var(--orange);border-color:var(--orange);color:#211a16}body nav a:hover{color:var(--orange)}body .company-label,body .value-grid b,body summary:after,body .work-cycle b{color:var(--orange)}body .feature-list li:before,body .detail-content li:before,body .competency-grid li:before{background:var(--orange)}body .highlight,body .result{border-left-color:var(--orange)}.education-card{display:grid;grid-template-columns:25% 75%;border-top:1px solid var(--line);padding:45px 0}.education-card h3{font-size:clamp(35px,5vw,66px);letter-spacing:-.05em;margin:8px 0 50px}.degree{display:grid;grid-template-columns:34% 66%;border-top:1px solid var(--line);padding:23px 0}.degree>span{font-size:12px;color:var(--muted)}.degree p{font-size:17px;line-height:1.55;margin:0}.degree small{color:var(--muted);font-size:13px}@media(max-width:760px){.education-card,.degree{grid-template-columns:1fr}.education-card>div:last-child{margin-top:28px}.degree{gap:10px}}
body .hero h1>span{color:var(--orange)}
body .stacked-actions{flex-direction:column;align-items:flex-start}
.portfolio-footer{padding-top:40px}.portfolio-footer .contact-bottom{margin-top:0}
body #profile .profile-layout{grid-template-columns:1fr;margin-left:25%;gap:45px}body #profile .profile-layout>div{order:1}body #profile .about-lead{order:2;max-width:820px;font-size:clamp(21px,2.1vw,30px);line-height:1.45;color:var(--muted)}body #profile .subhead{font-size:clamp(24px,2.5vw,35px);letter-spacing:-.03em;margin-bottom:28px}@media(max-width:760px){body #profile .profile-layout{margin-left:0;gap:35px}body #profile .about-lead{font-size:21px}}
