@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&family=Manrope:wght@600;700;800&display=swap";@import "https://db.onlinewebfonts.com/c/07cb29fdcb073fff840edc6de2067b50?family=Amsterdam+Four_ttf";html{scroll-behavior:smooth;overflow-y:scroll}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#171717;--heading:"Manrope", "Inter", system-ui, sans-serif;--body:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--bg:#f6f2ea;--bg-alt:#efe8db;--surface:#ffffffa8;--surface-strong:#ffffffe6;--surface-shadow:#15151514;--text-strong:#121212;--text:#303030;--border:#1414141a;--accent:#161616;--accent-warm:#8f7f6c;--shadow-md:0 18px 40px #14141414;--shadow-lg:0 24px 60px #1414141c;--container:1240px;background:radial-gradient(circle at 0 0,#fffffff2,#0000 34%),radial-gradient(circle at 100% 0,#f0ebe0cc,#0000 26%),#f6f2ea;font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.5}body{color:#171717;background:radial-gradient(circle at 0 0,#ffffffeb,#0000 34%),radial-gradient(circle at 100% 0,#f0ebe0d6,#0000 26%),#f6f2ea;min-width:320px}h1,h2,h3,h4,h5,h6{font-family:var(--heading);margin:0}p{margin:0}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}::selection{color:#111;background:#1414141f}.portfolio-shell{width:min(var(--container), calc(100% - 28px));margin:0 auto;padding:18px 0 54px;position:relative}.mono-label,.section-kicker{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-warm);margin:0;font-size:.72rem;font-weight:500}.signature-text{color:var(--text-strong);letter-spacing:0;opacity:.9;margin:0;font-family:Amsterdam Four_ttf,Segoe Script,cursive;font-size:3.2rem;font-weight:400;line-height:1}.intro-loader{z-index:100;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.intro-loader__bg{background:var(--bg);opacity:.96;position:absolute;inset:0}.intro-loader__panel{z-index:1;gap:22px;width:min(840px,100% - 32px);min-height:430px;padding:22px;display:flex;position:relative}.intro-loader__panel-bg{z-index:-1;background:#ffffffd6;border:1px solid #14141414;border-radius:34px;position:absolute;inset:0;box-shadow:0 30px 80px #14141424}.intro-loader__image-wrap{background:linear-gradient(135deg,#e8e2d8eb,#ffffffbd);border-radius:24px;flex-shrink:0;width:50%;overflow:hidden}.intro-loader__image{object-fit:cover;width:100%;height:100%;display:block}.intro-loader__copy{min-width:300px;opacity:calc(1 - var(--p) * 3);will-change:opacity;flex-direction:column;justify-content:center;gap:10px;display:flex}.intro-loader__copy h1{color:var(--text-strong);letter-spacing:-.08em;margin:0;font-size:clamp(2.4rem,7vw,5.8rem);line-height:.92}.intro-loader__line{max-width:32ch;color:var(--text);margin:0;font-size:1rem;line-height:1.45}.intro-loader__line--soft{color:#1414149e;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.brand-avatar-wrap{background:linear-gradient(135deg,#e8e2d8eb,#ffffffbd);border:2px solid #1414140f;border-radius:50%;flex-shrink:0;width:40px;height:40px;overflow:hidden;box-shadow:0 2px 10px #14141414}.brand-avatar{object-fit:cover;width:100%;height:100%;display:block}.scroll-progress{z-index:30;transform-origin:0;background:linear-gradient(90deg,#0000,#14141494,#0000);height:2px;position:fixed;inset:0 0 auto;transform:scaleX(.02)}.skip-link{z-index:20;background:var(--text-strong);color:#f6f2ea;border-radius:999px;padding:10px 14px;position:absolute;top:-48px;left:0}.skip-link:focus{top:12px}.site-header{z-index:15;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f2ead1;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-bottom:18px;padding:14px 0 16px;display:grid;position:sticky;top:0}.site-brand{align-items:center;gap:12px;display:flex}.brand-name{color:var(--text-strong);letter-spacing:-.02em;font-size:1.02rem;font-weight:500}.site-nav{align-items:center;gap:18px;display:flex}.nav-links{align-items:center;gap:18px;margin:0;padding:0;list-style:none;display:flex}.nav-links a,.text-link{color:var(--text);opacity:.92;font-size:.95rem;font-weight:400}.nav-links a:hover,.nav-links a.active,.text-link:hover{opacity:.58}.menu-toggle{display:none}.menu-toggle,.mode-toggle{color:var(--text-strong);background:0 0;border:0;padding:0}.mobile-menu{border-top:1px solid var(--border);grid-column:1/-1;gap:8px;padding-top:12px;display:none}.mobile-menu a{color:var(--text);padding:6px 0;font-size:.95rem;display:inline-flex}.cta-button{color:#f6f2ea;box-shadow:var(--shadow-md);background:#151515;border:1px solid #14141414;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-weight:600;transition:transform .22s,box-shadow .22s,opacity .22s;display:inline-flex}.cta-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.cta-button--small{padding:10px 16px}.hero-section,.section-block,.contact-block{gap:26px;padding:86px 0;display:grid}.hero-section{min-height:calc(100svh - 110px)}.hero-layout{grid-template-columns:.76fr 1.34fr .92fr;align-items:start;gap:22px;display:grid}.hero-layout:before{content:"";pointer-events:none;background:radial-gradient(circle at 14% 14%,#fffffff5,#0000 22%),radial-gradient(circle at 82% 18%,#dfd6c8ad,#0000 24%),linear-gradient(#ffffffa8,#f6f2eae6);border-radius:34px;position:absolute;inset:0}.hero-aside,.hero-copy-block,.hero-panel{z-index:1;position:relative}.hero-aside{flex-direction:column;height:calc(100vh - 120px);padding-top:18px;display:flex;position:sticky;top:100px}.hero-meta{color:var(--text);opacity:.7;margin:0;line-height:1.85}.hero-divider{background:linear-gradient(90deg,#1414142e,#0000);width:100%;height:1px;margin:20px 0}.reveal-group,.section-heading,.project-card,.service-card,.testimonial-card,.article-card{z-index:1;opacity:0;transition:opacity .6s,transform .6s;position:relative;transform:translateY(18px)}.reveal-group.is-visible,.section-heading.is-visible,.project-card,.service-card,.testimonial-card,.article-card{opacity:1;transform:translateY(0)}.section-heading h1,.section-heading h2,.reveal-group h1{color:var(--text-strong);letter-spacing:-.07em;margin:0}.reveal-group h1{max-width:10ch;font-size:clamp(4.4rem,9vw,7.9rem);line-height:.9}.hero-copy-block h1{max-width:10ch}.hero-copy,.section-heading p,.project-body p,.service-card p,.article-card p,.testimonial-card blockquote,.site-footer p{color:var(--text);font-size:1.02rem;line-height:1.65}.hero-copy{max-width:26ch;margin:18px 0 0;font-size:1.28rem;line-height:1.15}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px;display:flex}.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px;display:grid}.hero-stats div,.stats-grid article,.service-card,.project-card,.testimonial-card,.article-card,.contact-card{border:1px solid var(--border);box-shadow:var(--shadow-md);background:#ffffffad;border-radius:22px}.hero-stats div{padding:16px}.hero-stats strong,.stats-grid strong{color:var(--text-strong);font-size:clamp(1.9rem,4vw,3.2rem);line-height:.9;display:block}.hero-stats span,.stats-grid span{letter-spacing:.14em;text-transform:uppercase;color:var(--text);opacity:.65;margin-top:6px;font-size:.76rem;display:block}.hero-panel{gap:14px;padding-top:18px;display:grid}.hero-card{color:var(--text-strong);box-shadow:var(--shadow-lg);background:linear-gradient(#ffffffe6,#f3eee6f2),linear-gradient(135deg,#d6cdbf73,#fff0);border-radius:26px;padding:24px}.hero-card--dark{min-height:320px}.hero-card h2,.hero-card p{color:inherit}.hero-card h2{margin:10px 0 12px;font-size:clamp(2.2rem,4vw,3.2rem);line-height:.94}.scroll-indicator{justify-content:center;gap:6px;padding:8px;display:flex}.scroll-indicator span{background:#14141438;border-radius:999px;width:8px;height:8px}.scroll-indicator span:last-child{background:#1414146b}.ticker-band{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0 24px;overflow:hidden}.ticker-track{align-items:center;gap:10px;width:max-content;animation:28s linear infinite ticker;display:flex}.ticker-track.is-static{flex-wrap:wrap;width:100%;animation:none}.ticker-item{min-height:38px;color:var(--text-strong);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;background:#ffffffad;border:1px solid #14141414;border-radius:999px;align-items:center;padding:8px 14px;font-size:.68rem;display:inline-flex}.section-block{grid-template-columns:1fr}.section-block--cinematic{padding-top:96px}.section-heading{max-width:760px}.section-heading--split{grid-template-columns:minmax(160px,220px) minmax(0,1fr);align-items:end;gap:22px;display:grid}.section-heading h2{letter-spacing:-.06em;margin-top:8px;font-size:clamp(2.4rem,4.5vw,4rem);line-height:.96}.section-heading p:last-child{max-width:58ch;margin-top:12px}.project-grid,.service-grid,.testimonial-grid,.article-grid,.stats-grid,.capability-list,.contact-links{gap:14px;display:grid}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;display:grid}.project-card:first-child{grid-column:span 7}.project-card:nth-child(2),.project-card:nth-child(3){grid-column:span 5}.project-card:nth-child(4),.project-card:nth-child(5){grid-column:span 7}.project-card:nth-child(6){grid-column:span 5}.project-card{overflow:hidden}.project-visual{background:linear-gradient(135deg,#ffffffeb,#e8e2d8f0),radial-gradient(circle at 20% 20%,#fffffff2,#0000 30%);min-height:320px;position:relative}.project-card:nth-child(2) .project-visual,.project-card:nth-child(4) .project-visual,.project-card:nth-child(6) .project-visual{min-height:260px}.project-card:first-child .project-gradient{background:radial-gradient(circle at 30% 30%,#b4aa9c38,#0000 28%),radial-gradient(circle at 72% 42%,#ffffffb8,#0000 28%),linear-gradient(160deg,#ffffff1a,#dcd6cb38)}.project-card:nth-child(2) .project-gradient{background:radial-gradient(circle at 24% 28%,#d2cabe57,#0000 30%),radial-gradient(circle at 78% 30%,#faf8f4d1,#0000 26%),linear-gradient(160deg,#ffffff1f,#e6dfd62e)}.project-card:nth-child(3) .project-gradient,.project-card:nth-child(4) .project-gradient,.project-card:nth-child(5) .project-gradient,.project-card:nth-child(6) .project-gradient{background:radial-gradient(circle at 28% 22%,#cdc5b847,#0000 32%),radial-gradient(circle at 70% 52%,#fffc,#0000 24%),linear-gradient(160deg,#ffffff1f,#e0dad033)}.project-badge{color:var(--text-strong);font-family:var(--mono);z-index:2;background:#ffffffd1;border-radius:999px;justify-content:center;align-items:center;padding:7px 10px;font-size:.72rem;display:inline-flex;position:absolute;top:18px;left:18px;box-shadow:0 6px 22px #1414140f}.project-image{object-fit:cover;z-index:0;width:100%;height:100%;transition:transform .6s cubic-bezier(.32,.72,0,1);position:absolute;inset:0}.project-card:hover .project-image{transform:scale(1.05)}.project-gradient{z-index:1;position:absolute;inset:0}.project-line{z-index:2;background:linear-gradient(90deg,#0000,#14141438,#0000);height:1px;position:absolute;bottom:24px;left:24px;right:24px}.project-body,.service-card,.testimonial-card,.article-card,.contact-card{padding:22px}.project-body h3,.service-card h3,.article-card h3{color:var(--text-strong);margin:10px 0 12px;font-size:1.7rem;line-height:.98}.project-outcome{color:var(--text);opacity:.82;margin-top:14px}.project-links{gap:16px;margin-top:24px;display:flex}.project-link{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border-radius:4px;align-items:center;padding:8px 16px;font-size:.85rem;text-decoration:none;transition:all .3s;display:inline-flex}.project-link.primary{background:var(--text);color:var(--bg)}.project-link.primary:hover{background:#fffc;transform:translateY(-2px)}.project-link.secondary{color:var(--text);background:0 0;border:1px solid #fff3}.project-link.secondary:hover{background:#ffffff0d;border-color:#fff6;transform:translateY(-2px)}.tag-list,.capability-list,.contact-links,.nav-links{margin:0;padding:0;list-style:none}.tag-list{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.tag-list li,.capability-list li{border:1px solid var(--border);min-height:34px;color:var(--text);background:#ffffffad;border-radius:999px;align-items:center;padding:8px 12px;font-size:.7rem;display:inline-flex}.section-block--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.about-panel{gap:18px;display:grid}.about-bio{flex-direction:column;gap:1.25rem;display:flex}.about-bio p{color:var(--text);margin:0;font-size:1.1rem;line-height:1.6}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid article{padding:20px}.service-grid,.testimonial-grid,.article-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.service-card:first-child,.service-card:nth-child(2){grid-column:span 6}.testimonial-card:first-child{grid-column:span 7}.testimonial-card:nth-child(2){grid-column:span 5}.article-card:first-child,.article-card:nth-child(2){grid-column:span 6}.testimonial-card blockquote{color:var(--text-strong);margin:0 0 18px;font-size:1.2rem;line-height:1.35}.testimonial-card figcaption{flex-direction:column;gap:4px;display:flex}.contact-block{grid-template-columns:minmax(0,1.06fr) minmax(300px,.94fr);align-items:start}.contact-card{gap:18px;display:grid}.contact-links{justify-content:center;gap:16px;display:flex}.contact-links a{border:1px solid var(--border);width:56px;height:56px;color:var(--text-strong);box-shadow:var(--shadow-md);background:#ffffffb8;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:inline-flex}.contact-links a:hover{box-shadow:var(--shadow-lg);background:#fff;transform:translateY(-4px)}.contact-links a svg{width:24px;height:24px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:28px 0 10px;display:flex}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=1024px){.portfolio-shell{width:min(var(--container), calc(100% - 22px));padding-top:10px}.desktop-links,.cta-button--small{display:none}.menu-toggle{font-size:.95rem;display:inline-flex}.mobile-menu.open{display:grid}.hero-section,.section-block--split,.contact-block,.hero-layout,.section-heading--split{grid-template-columns:1fr}.hero-section{min-height:auto;padding-top:30px}.hero-layout{gap:18px}.hero-layout:before{border-radius:28px}.hero-aside{order:2;height:auto;padding-top:0;position:relative;top:auto}.hero-copy-block{order:1}.hero-panel{order:3;padding-top:0}.papyrus-content{height:auto!important}.project-grid,.service-grid,.article-grid{grid-template-columns:repeat(2,1fr)}.testimonial-grid,.contact-links{grid-template-columns:1fr}.project-card,.service-card,.testimonial-card,.article-card{grid-column:auto}.ticker-track{animation-duration:18s}.site-footer{flex-direction:column;align-items:flex-start}}@media (width<=639px){.portfolio-shell{width:min(var(--container), calc(100% - 16px))}.site-header{padding:12px 0 14px}.hero-section,.section-block,.contact-block{padding:56px 0}.reveal-group h1{max-width:100%;font-size:clamp(3.6rem,15vw,4.8rem)}.section-heading h2{font-size:clamp(2.4rem,12vw,3.4rem)}.section-heading--split{gap:10px}.hero-stats{grid-template-columns:repeat(2,1fr)}.stats-grid,.project-grid,.service-grid,.article-grid{grid-template-columns:1fr}.hero-actions{align-items:stretch}.ticker-band{padding:10px 0 18px}.project-visual,.project-card:nth-child(n) .project-visual{min-height:200px}.project-grid{gap:28px}.project-body{padding:16px}.cta-button,.text-link{justify-content:center;width:100%;min-height:48px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.resume-page-wrapper{background:var(--bg);min-height:100vh;font-family:var(--body);color:var(--text);padding:40px 20px;line-height:1.6}.resume-container{background-color:var(--surface-strong);max-width:800px;box-shadow:var(--shadow-md);border:1px solid var(--border);border-radius:20px;margin:0 auto;padding:60px 80px}.resume-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:40px;padding-bottom:30px;display:flex}.resume-header-content h1{font-family:var(--heading);color:var(--text-strong);letter-spacing:-.03em;margin:0 0 10px;font-size:2.8rem;font-weight:800}.resume-header-content h2{font-family:var(--heading);color:var(--accent-warm);margin:0 0 8px;font-size:1.15rem;font-weight:600}.resume-header-content p{color:var(--text);margin:2px 0;font-size:.95rem}.resume-contact{text-align:right;color:var(--text);font-size:.9rem}.resume-contact p{margin:6px 0}.resume-contact a{color:var(--text-strong);border-bottom:1px solid var(--border);padding-bottom:2px;font-weight:500;text-decoration:none;transition:opacity .2s}.resume-contact a:hover{opacity:.7}.resume-section{margin-bottom:40px}.section-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-warm);border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:12px;font-size:.8rem;font-weight:600}.resume-section>p{color:var(--text);font-size:.98rem}.resume-item{margin-bottom:28px}.resume-item:last-child{margin-bottom:0}.resume-item-header{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.resume-item-header h4{font-family:var(--heading);color:var(--text-strong);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.resume-item-subheader{justify-content:space-between;margin-bottom:12px;font-size:.95rem;display:flex}.resume-degree{color:var(--text-strong);font-weight:500}.resume-date{font-family:var(--mono);color:var(--accent-warm);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.resume-details{color:var(--text);margin:0;font-size:.95rem}.resume-details strong{color:var(--text-strong);font-weight:600}.skills-list{margin:0;padding-left:20px;font-size:.95rem}.skills-list li{color:var(--text);margin-bottom:12px}.skills-list strong{color:var(--text-strong);font-weight:600}.resume-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:60px;padding-top:30px;display:flex}.resume-actions{gap:16px;display:flex}.back-btn,.print-btn,.download-btn{font-size:.9rem;font-family:var(--heading);cursor:pointer;border:none;border-radius:40px;justify-content:center;align-items:center;padding:10px 24px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.back-btn{background:var(--surface);color:var(--text-strong);border:1px solid var(--border)}.back-btn:hover{background:var(--bg-alt)}.print-btn{background:var(--surface);color:var(--text-strong);border:1px solid var(--border)}.print-btn:hover{background:var(--text-strong);color:#fff}.download-btn{background:var(--text-strong);color:#f6f2ea;border:1px solid var(--text-strong)}.download-btn:hover{background:var(--accent-warm);border-color:var(--accent-warm)}@media print{body{background:#fff!important}.resume-page-wrapper{padding:0;background:#fff!important}.resume-container{box-shadow:none;border:none;max-width:100%;padding:0;color:#000!important;background:#fff!important}.resume-header-content h1,.resume-header-content h2,.section-title,.resume-item-header h4,.skills-list strong,.resume-degree,.resume-details strong{color:#000!important}.resume-header-content p,.resume-date,.resume-details,.resume-section>p,.skills-list li,.resume-contact,.resume-contact a{color:#333!important}.resume-contact a{border:none;text-decoration:none}.resume-header,.section-title{border-color:#ccc!important}.resume-footer{display:none!important}}@media (width<=768px){.resume-container{padding:40px 24px}.resume-header{flex-direction:column;gap:24px}.resume-contact{text-align:left}.resume-item-header,.resume-item-subheader{flex-direction:column;gap:4px}.resume-date{margin-top:2px}.resume-footer{flex-direction:column;align-items:stretch;gap:20px}.resume-actions{flex-direction:column}}
