@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f7f6f1;--ink:#293530;--muted:#717b73;--line:#dce0d7;--accent:#5d7b65;--soft:#eff1e9;--dark:#090d0f;--serif:'Instrument Serif',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.85 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #93b29b;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,h4,p,figure{margin:0}h2,h3,h4{font-family:Manrope,Arial,sans-serif}h2{font-size:clamp(29px,3vw,39px);font-weight:500;line-height:1.25;letter-spacing:-.045em}h3{font-size:19px;line-height:1.5;letter-spacing:-.025em;font-weight:550}h4{font-size:17px;line-height:1.6;letter-spacing:-.02em;font-weight:550}.wrap{width:calc(100% - 112px);max-width:1120px;margin:auto}.section{padding:85px 0}.eyebrow{font-size:10px;letter-spacing:.13em;line-height:1.7;color:var(--muted);margin-bottom:13px}.section-heading{margin-bottom:37px}.section-heading>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:15px}.text-link{font-size:13px;display:inline-block;padding:6px 0;border-bottom:1px solid #a9b6a7}.text-link:hover{color:var(--accent)}header{height:82px;background:var(--dark);color:#e0e6de;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 56px;position:relative;z-index:5}.wordmark{font-size:13px;font-weight:500;white-space:nowrap}nav{display:flex;align-items:center;gap:27px;font-size:11px}nav a:hover{color:#a9c8af}.cv-nav{border:1px solid #ffffff30;border-radius:25px;padding:5px 14px}.menu-button{display:none}.neural-hero{min-height:max(680px,calc(100svh - 82px));height:auto;display:grid;grid-template-columns:64% 36%;align-items:center;position:relative;background:radial-gradient(ellipse at 25% 45%,#0e1913 0%,#090d0f 70%),radial-gradient(ellipse at 80% 30%,#0d1712 0%,#090d0f 65%);color:#e9eee4;overflow:hidden}.hero-background{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.hero-background canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .6s}.hero-background.ready canvas{opacity:1}.brain-fallback{position:absolute;left:-15%;top:0;width:97%;height:100%;object-fit:contain;transition:opacity .6s}.hero-background.ready .brain-fallback{opacity:0}.hero-identity{grid-column:2;position:relative;z-index:1;text-align:left;padding:65px 48px 70px 10px;max-width:620px;min-width:0}.hero-kicker{color:#8da293;font-size:8px;letter-spacing:.10em;line-height:1.8;margin-bottom:20px}.hero-identity h1{font-family:Manrope,Arial,sans-serif;font-style:normal;font-weight:500;font-size:clamp(47px,5.6vw,84px);line-height:1.06;letter-spacing:-.06em;white-space:normal}.hero-identity h1 span{display:block}.hero-identity h1 .hero-first-name{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.15em;letter-spacing:-.02em;color:#f7faf5;display:block;text-shadow:0 0 45px rgba(147,178,155,0.22)}.hero-identity h1 .hero-last-name{font-family:Manrope,Arial,sans-serif;font-weight:600;letter-spacing:-.055em;color:#c9d7c6;display:block}.hero-intro{max-width:440px;margin-top:23px;color:#b2c0b4;font-size:14px;line-height:1.9}.hero-work{max-width:440px;margin-top:17px;color:#8b9e8f;font-size:12px;line-height:1.95}.hero-availability{font-size:9px;line-height:1.8;margin-top:22px;color:#9bb49c;letter-spacing:.02em}.hero-small-actions{display:flex;align-items:center;gap:25px;margin-top:23px}.hero-small-actions>a{display:inline-flex;align-items:center;gap:23px;border-bottom:1px solid #405449;padding:6px 0;font-size:11px;color:#d3dfd0}.hero-small-actions>a:hover{color:#fff;border-color:#9bb69c}#motion{display:grid;place-items:center;border:1px solid #ffffff20;color:#9aaa9b;background:transparent;width:27px;height:27px;border-radius:50%;font-size:8px}.about-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:95px}.about-copy p{font-size:16px;line-height:1.9;color:#59675c}.about-copy p+p{margin-top:19px}.about-copy .text-link{margin-top:24px}.about-details{border-left:1px solid var(--line);padding-left:30px}.about-details div+div{margin-top:23px}.about-details span{font-size:10px;color:#8b958a}.about-details p{font-size:13px;line-height:1.8;margin-top:4px}.education-section{background:var(--soft)}.education-list article{display:grid;grid-template-columns:1fr 1.2fr;gap:55px;padding:27px 0;border-top:1px solid #d5ddcf}.education-list article:last-child{border-bottom:1px solid #d5ddcf}.education-stage>span{font-size:10px;color:var(--muted);display:block;margin-bottom:9px}.education-stage h3{font-size:17px}.education-school p{font-size:13px;color:var(--muted);margin-top:4px}.education-school .education-note{font-size:11px;margin-top:7px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:29px 0}.filters button{font-size:11px;border:1px solid #d6ddce;background:transparent;padding:7px 14px;border-radius:22px}.filters button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filters button:hover:not(.active){background:var(--soft)}.filters span{font-size:9px;margin-left:6px;opacity:.7}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project-card{background:#fcfcf9;border:1px solid #dbe2d4;border-radius:6px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;min-height:290px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.project-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(35,45,38,0.07);border-color:#b5c6ab}.project-card.featured{background:#f1f5eb;border-color:#c4d5be;grid-column:span 1}.project-card:last-child:nth-child(odd){grid-column:1/-1}.project-meta{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px;font-size:9px;color:#7e8b7c;margin-bottom:10px;line-height:1.6}.featured-label{color:#456847;font-size:8px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:#dfe9d8;padding:2px 7px;border-radius:3px}.project-card h3{font-size:20px;line-height:1.35;letter-spacing:-.03em;margin:4px 0 10px;color:#1d2922;font-weight:600}.project-card.featured h3{font-size:22px;color:#152219}.project-card>p{font-size:13px;color:#5a685e;line-height:1.75;max-width:100%}.project-tag-list{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 4px}.project-tag{font-size:9px;color:#4f6453;background:#e5eee0;padding:2px 7px;border-radius:3px}.project-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:20px;width:100%;border-top:1px solid #e5ede0}.project-links{display:flex;align-items:center;gap:12px}.project-more{border:0;background:none;color:#293530;font-size:11px;font-weight:550;padding:4px 0;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.project-more:hover{color:var(--accent)}.project-link{font-size:11px;color:#4c6a53;border-bottom:1px solid #9fb9a4;padding-bottom:1px}.project-link:hover{color:#1f3325;border-color:#1f3325}.project-image{width:100%;height:240px;object-fit:cover;margin-bottom:22px;border-radius:2px}.publications{padding-top:85px}.paper{display:grid;grid-template-columns:25px 1fr 35px;gap:22px;padding:29px 0;border-top:1px solid var(--line)}.paper:last-child{border-bottom:1px solid var(--line)}.paper-number{font:18px var(--serif);color:#91a18b;padding-top:4px}.paper-tags{display:flex;gap:15px;font-size:8px;letter-spacing:.06em;color:var(--muted);margin-bottom:11px;flex-wrap:wrap}.paper h3{font-size:18px;font-weight:500;line-height:1.6;max-width:850px}.paper h3 a:hover{color:var(--accent)}.paper p{font-size:11px;color:var(--muted);margin-top:13px}.paper p strong{font-weight:600;color:var(--ink)}.paper small{font-size:10px;color:var(--muted)}.paper-link{border:1px solid var(--line);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:12px;align-self:center}.publications .paper:nth-of-type(1) h3{font-size:23px}.publications .paper:nth-of-type(2) h3{font-size:17px}.timeline article:nth-child(-n+2) h3{font-size:21px}.timeline article:nth-child(n+3) h3{font-size:16px}.timeline article:nth-child(n+3)>span{font-size:11px}.education-list article:first-child .education-stage h3{font-size:21px}.education-list article:first-child .education-school h4{font-size:20px}.experience-section{background:var(--soft)}.experience-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.toolbox{border-top:1px solid #d4dece;padding-top:22px;margin-top:28px;max-width:270px}.toolbox .eyebrow{font-size:9px}.toolbox p{font-size:12px;line-height:2;color:var(--muted);margin-top:10px}.timeline article{padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid #d8e0d1}.timeline article:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.timeline time{font-size:9px;color:var(--muted)}.timeline h3{font-size:18px;margin:5px 0}.timeline p{font-size:13px}.timeline article>span{display:block;font-size:12px;color:var(--muted);line-height:1.9;margin-top:7px}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.personal-grid img{width:100%;height:310px;object-fit:cover;filter:saturate(.65);border-radius:3px}.personal-grid figcaption{padding-top:19px}.personal-grid h3{font-size:18px}.personal-grid figcaption p{font-size:13px;color:var(--muted);margin-top:6px}.personal-grid small{display:block;font-size:9px;color:#97a08f;margin-top:11px}.sketches-section{background:#f2efe7}.sketch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.sketch-card{display:flex;flex-direction:column}.sketch-image-link{width:100%;aspect-ratio:3/4;display:block;border:1px solid #ddd7c9;background:#fcfbf7;box-shadow:0 8px 24px rgba(45,55,38,0.08);border-radius:6px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.sketch-image-link:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(45,55,38,0.16)}.sketch-image-link img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.sketch-image-link:hover img{transform:scale(1.03)}.sketch-placeholder{width:100%;aspect-ratio:3/4;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e1ddd1;background:#faf9f3}.sketch-card figcaption{padding-top:16px}.sketch-card h3{font-size:15px;font-weight:600;color:#1f2b23}.sketch-card figcaption p{font-size:12px;color:#6b786c;margin-top:5px;line-height:1.6}.contact-section{padding:75px 0;background:#111b16;color:#e7eddf}.contact-section .eyebrow{color:#91a28b}.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.contact-layout h2{font-size:39px}.contact-layout p{font-size:13px;color:#a1af99}.contact-items{display:flex;flex-direction:column;gap:12px;margin:22px 0 18px}.contact-item{display:flex;flex-direction:column;gap:4px;border-bottom:1px solid #40533b;padding:10px 0}.contact-item-label{font-size:9px;letter-spacing:.08em;color:#8fa28a}.email-link{display:flex;justify-content:space-between;align-items:center;font-size:18px;color:#f0f5eb}.email-link:hover{color:#c4e2c9}.contact-links{display:flex;gap:14px;margin-top:22px;font-size:11px;flex-wrap:wrap}.contact-links button{border:1px solid #3c5243;background:#14221a;color:#c0d2bd;font-size:11px;padding:6px 14px;border-radius:18px}.contact-links button:hover{background:#1e3428;color:#ffffff;border-color:#62886f}.contact-links a{padding:6px 0}.contact-links a:hover{color:#e7eddf}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;font-size:9px;color:var(--muted)}dialog{background:var(--paper);color:var(--ink);border:1px solid #d8dfd0;border-radius:4px;width:min(660px,calc(100% - 32px));max-height:85vh;padding:45px;box-shadow:0 25px 100px #0003}dialog::backdrop{background:#0a140ed6}dialog .eyebrow{font-size:9px}dialog h2{font-size:29px;margin-bottom:22px}dialog p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:22px}dialog .dialog-subtitle{font-size:13px;color:#557255;margin:-14px 0 16px}dialog .dialog-detail{font-size:14px;line-height:1.85;color:#3d4a41;margin-bottom:22px}dialog .dialog-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:24px}.tags{display:flex;gap:7px;flex-wrap:wrap;font-size:10px;margin:20px 0 25px}.tags span{border:1px solid #d6dfcd;padding:2px 7px;border-radius:2px}.button{display:inline-block;background:var(--ink);color:var(--paper);padding:10px 18px;font-size:12px;border-radius:4px}.button-outline{background:transparent!important;color:var(--ink)!important;border:1px solid #738a78!important;border-radius:4px}.button-outline:hover{background:#edf2eb!important}.close-dialog{position:absolute;right:15px;top:8px;border:0;background:none;font-size:28px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;left:10px;top:-100px;z-index:20;padding:10px;background:white}.skip:focus{top:10px}
@media(max-width:1050px){.project-card.supporting{grid-column:span 6}.project-card.featured{padding:24px}.project-card.featured h3{font-size:23px}.wrap{width:calc(100% - 64px)}header{padding:0 32px}nav{gap:18px;font-size:10px}.hero-identity{padding-left:8px;padding-right:28px}.hero-kicker{font-size:7px}.about-layout{gap:50px}.experience-layout{gap:45px}.personal-grid img{height:270px}.contact-layout{gap:40px}}
@media(max-width:760px){.wrap{width:calc(100% - 44px)}header{height:72px;padding:0 22px}.wordmark{font-size:12px}.menu-button{display:flex;gap:12px;border:0;background:none;color:#dce4d6;font-size:11px;padding:10px 0}nav{display:none;position:absolute;top:71px;left:0;right:0;background:#0d1410;padding:24px;z-index:10;flex-direction:column;align-items:start;gap:18px;border-bottom:1px solid #ffffff20;font-size:12px}nav.open{display:flex}.neural-hero{height:auto;min-height:calc(100svh - 72px);grid-template-columns:1fr;grid-template-rows:clamp(320px,48svh,480px) auto;padding-bottom:40px;align-items:start}.hero-background{position:relative;inset:auto;grid-column:1;grid-row:1;min-height:0;height:100%}.brain-fallback{left:0;top:0;width:100%;height:100%}.hero-identity{grid-column:1;grid-row:2;width:100%;max-width:540px;margin:0 auto;padding:7px 25px 0}.hero-kicker{font-size:7px;letter-spacing:.07em;margin-bottom:14px}.hero-identity h1{font-size:clamp(38px,10.6vw,62px);line-height:1.15;letter-spacing:-.055em}.hero-identity h1 span{display:inline}.hero-identity h1 .hero-first-name{display:inline;margin-right:.16em}.hero-identity h1 .hero-last-name{display:inline}.hero-intro{font-size:14px;line-height:1.9;max-width:390px;margin-top:18px}.hero-work{font-size:12px;line-height:1.9;margin-top:14px}.hero-availability{margin-top:17px;font-size:9px}.hero-small-actions{margin-top:18px;gap:22px}.hero-small-actions>a{font-size:10px}.section{padding:57px 0}.section-heading{margin-bottom:28px}.section-heading>p:not(.eyebrow){font-size:13px}.eyebrow{font-size:9px}h2{font-size:31px}.about-layout{grid-template-columns:1fr;gap:28px}.about-copy p{font-size:15px;line-height:1.85}.about-details{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:24px}.about-details div+div{margin-top:18px}.about-details p{font-size:13px}.education-list article{grid-template-columns:1fr;gap:14px;padding:23px 0}.education-stage h3{font-size:17px}.education-school h4{font-size:16px}.education-school p{font-size:12px}.education-stage>span{font-size:9px;margin-bottom:5px}.project-grid{grid-template-columns:1fr;gap:18px}.filters{gap:7px;margin:25px 0}.filters button{font-size:10px;padding:7px 11px}.project-card,.project-card.featured{grid-column:1/-1;padding:20px;min-height:auto}.project-card h3{font-size:18px}.project-card>p{font-size:13px}.project-card.featured h3{font-size:19px}.project-card.featured>p{font-size:13px}.publications .paper:nth-of-type(1) h3{font-size:19px}.publications .paper:nth-of-type(2) h3{font-size:15px}.project-meta{font-size:9px}.project-image{height:auto;aspect-ratio:16/9}.publications{padding-top:57px}.paper{grid-template-columns:17px 1fr 25px;gap:10px;padding:24px 0}.paper h3{font-size:16px}.paper p{font-size:10px}.paper-tags{font-size:7px;gap:9px}.paper-link{width:25px;height:25px;font-size:11px}.experience-layout{grid-template-columns:1fr;gap:32px}.toolbox{max-width:none;margin-top:23px}.timeline h3{font-size:18px}.timeline p{font-size:12px}.timeline article>span{font-size:12px}.personal-grid{grid-template-columns:1fr;gap:32px}.personal-grid img{height:auto;aspect-ratio:4/3}.personal-grid figcaption{padding-top:16px}.personal-grid small{font-size:9px}.sketch-grid{grid-template-columns:1fr 1fr;gap:22px 15px}.sketch-card:last-child{grid-column:1/-1;width:calc(50% - 7.5px);justify-self:center}.sketch-card h3{font-size:12px}.sketch-placeholder p{font-size:9px}.sketch-placeholder>span{font-size:22px}.contact-section{padding:56px 0}.contact-layout{grid-template-columns:1fr;gap:25px}.contact-layout h2{font-size:33px}.email-link{font-size:15px}.contact-links{gap:12px;font-size:10px}.contact-links button{font-size:10px}footer{font-size:8px;gap:10px;flex-wrap:wrap}dialog{padding:40px 25px 25px}dialog h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.project-status-badge{font-size:10px;color:#7e8d7c;letter-spacing:0.02em;padding:2px 0;font-style:italic}
.dialog-status-pill{font-size:11px;color:#5a6e5b;background:#e5eee0;padding:6px 12px;border-radius:4px;border:1px solid #c9d8c4}

/* Featured work: ONLY blockly */
.featured-projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;width:100%;margin-bottom:24px}
.project-card.featured{background:#f1f5eb;border:1px solid #c7d7c0;border-radius:8px;padding:30px;min-height:280px;box-shadow:0 4px 20px rgba(35,48,38,0.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column}
.project-card.featured:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(35,48,38,0.09);border-color:#a8c19f}
.project-card.featured h3{font-size:22px;color:#152219;font-weight:600;margin:6px 0 10px}
.project-card.featured>p{font-size:13.5px;color:#556459;line-height:1.8}
.project-card.featured .project-card-footer{margin-top:auto;padding-top:22px;width:100%;border-top:1px solid #dce6d7}

/* Other projects: CONDENSED & PACKED TOGETHER */
.supporting-projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px;width:100%}
.project-card.supporting{background:transparent!important;border:none!important;border-top:1px solid var(--line)!important;border-radius:0!important;padding:12px 0 10px!important;box-shadow:none!important;min-height:auto!important;transform:none!important;display:flex;flex-direction:column;transition:border-color .2s ease}
.project-card.supporting:hover{transform:none!important;box-shadow:none!important;border-top-color:#7a9480!important}
.project-card.supporting.is-ongoing{border-top-color:#5c8466!important;border-top-width:2px!important}
.project-card.supporting .project-meta{margin-bottom:2px;font-size:8.5px;color:#7e8b7c;line-height:1.5}
.project-card.supporting h3{font-size:16px;color:#1d2921;font-weight:600;margin:1px 0 4px;line-height:1.35}
.project-card.supporting>p{font-size:12px;color:#5a685e;line-height:1.6}
.project-card.supporting .project-tag-list{margin:5px 0 2px;gap:4px}
.project-card.supporting .project-tag{background:#eaf0e6;color:#506554;font-size:8px;padding:1px 6px}
.project-card.supporting .project-card-footer{margin-top:auto;padding-top:7px;width:100%;border-top:none}
.project-card.supporting .project-more{font-size:10px;padding:2px 0}
.project-card.supporting .project-link{font-size:10px}
.project-card.supporting .project-status-badge{font-size:9.5px}

/* Ongoing tag & badge accents */
.ongoing-badge{color:#1e4326;font-size:7.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#d8e8d2;padding:1px 6px;border-radius:2px;border:1px solid #b6d2ae}
.tag-ongoing{background:#d5e7cf!important;color:#183c20!important;font-weight:600!important;border:1px solid #b0cda7!important}
.ongoing-status{color:#274d30!important;font-weight:600!important;font-style:normal!important}

/* Combined Guitar & Sketchbook layout */
.creative-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:50px;align-items:start}
.guitar-card figure{margin:0}
.guitar-card img{width:100%;height:270px;object-fit:cover;object-position:center;border-radius:6px;border:1px solid #dce2d6;box-shadow:0 4px 18px rgba(35,45,38,0.06)}
.guitar-card figcaption{padding-top:14px}
.guitar-card h3{font-size:18px;margin-bottom:4px;color:#18241d}
.guitar-card p{font-size:13px;color:var(--muted);line-height:1.7}
.guitar-card small{font-size:9px;color:#9aa89b;margin-top:6px;display:block}

.sketches-block{display:flex;flex-direction:column}
.sketches-header h3{font-size:18px;margin-bottom:4px;color:#18241d}
.sketches-header p{font-size:13px;color:var(--muted);margin-bottom:12px}

/* Minimalist Sample Sketches Toggle Button */
.btn-toggle-sketches{display:inline-flex;align-items:center;gap:6px;background:#edf2ea;color:#283a2d;font-size:11.5px;font-weight:600;padding:7px 14px;border-radius:4px;border:1px solid #c7d5c3;transition:all .2s ease;cursor:pointer;width:fit-content}
.btn-toggle-sketches:hover{background:#dfeae0;color:#19271e;border-color:#a2bba0;transform:translateY(-1px)}
.btn-toggle-sketches:focus-visible{outline:2px solid #93b29b;outline-offset:3px}

/* Revealed Gallery Container */
.sketch-gallery-wrap{display:flex;flex-direction:column;margin-top:16px;animation:sketchFadeIn .28s ease forwards}
.sketch-gallery-wrap[hidden]{display:none!important}
.sketch-gallery-wrap:not([hidden]){display:flex!important}
@keyframes sketchFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.sketches-footer-actions{display:flex;align-items:center;justify-content:flex-end;margin-top:12px;padding-top:8px}
.btn-hide-sketches{background:transparent;border:0;color:#586d5c;font-size:11px;padding:4px 6px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color .2s ease}
.btn-hide-sketches:hover{color:#1f3323}

/* Blurred Sketches (Tap to reveal, no names) */
.sketch-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:end}
.sketch-mini-card{display:flex;flex-direction:column}
.sketch-thumb-wrap{position:relative;width:100%;border-radius:6px;overflow:hidden;border:1px solid #dcd5c7;background:#eae4d7;box-shadow:0 4px 14px rgba(45,55,38,0.06);cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.sketch-thumb-wrap:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(45,55,38,0.12);border-color:#9e927d}
.sketch-thumb-wrap img{width:100%;height:100%;object-fit:cover;filter:blur(14px) brightness(0.9);transform:scale(1.12);transition:filter .45s cubic-bezier(0.2,0.8,0.2,1),transform .45s cubic-bezier(0.2,0.8,0.2,1)}
.sketch-tap-prompt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(12,20,15,0.24);transition:opacity .35s ease;pointer-events:none}
.sketch-tap-pill{font-size:8.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#ffffff;background:rgba(18,28,21,0.8);backdrop-filter:blur(4px);padding:4px 9px;border-radius:12px;border:1px solid rgba(255,255,255,0.25);box-shadow:0 4px 12px rgba(0,0,0,0.25)}
.sketch-thumb-wrap.revealed img{filter:blur(0) brightness(1);transform:scale(1)}
.sketch-thumb-wrap.revealed .sketch-tap-prompt{opacity:0;pointer-events:none}
.sketch-thumb-wrap.portrait{aspect-ratio:3/4}
.sketch-thumb-wrap.landscape{aspect-ratio:4/3}

/* Sketch Lightbox Dialog (No names) */
#sketch-dialog{background:var(--paper);color:var(--ink);border:1px solid #d8dfd0;border-radius:6px;width:min(840px,calc(100% - 32px));max-height:92vh;padding:36px 30px 24px;box-shadow:0 25px 100px rgba(0,0,0,0.35);position:relative}
#sketch-dialog::backdrop{background:rgba(10,18,14,0.88);backdrop-filter:blur(4px)}
.sketch-dialog-content{display:flex;flex-direction:column;align-items:center;gap:16px}
.sketch-dialog-content img{max-width:100%;max-height:72vh;object-fit:contain;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,0.18);background:#ffffff}
.sketch-dialog-meta{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #e1e7dc}
.sketch-meta-badge{font-size:10px;color:#586c5c;background:#e5eee0;padding:3px 8px;border-radius:3px}

@media(max-width:850px){
  .featured-projects-grid{grid-template-columns:1fr;gap:18px}
  .supporting-projects-grid{grid-template-columns:1fr;gap:14px}
  .creative-layout{grid-template-columns:1fr;gap:36px}
  .sketch-mini-grid{grid-template-columns:repeat(3,1fr);gap:10px}
}


