.cv-shell{position:relative;min-height:100vh;padding:24px 16px 56px;overflow:hidden}.cv-shell-embedded{min-height:auto;padding:0;overflow:visible}.paper-noise{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.45;background-image:radial-gradient(circle at 14% 14%,rgba(183,99,71,.08),transparent 22%),radial-gradient(circle at 86% 20%,rgba(20,65,94,.08),transparent 18%),radial-gradient(circle at 75% 86%,rgba(160,126,71,.08),transparent 20%),linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0))}.cv-stage{position:relative;z-index:1;width:min(1280px,100%);margin:0 auto}.hero-stage{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.82fr);border-radius:38px;overflow:hidden;background:linear-gradient(135deg,#111315 0%,#191c20 100%);box-shadow:0 34px 90px #2c1e132e}.hero-copy{padding:52px 52px 46px;color:#f5ede2}.hero-label,.panel-count,.section-count,.detail-key,.statement-label,.entry-time,.fact-card span{font-family:IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.hero-label{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid rgba(245,237,226,.16);border-radius:999px;color:#d9b185;font-size:.76rem}.hero-title{max-width:8ch;margin:18px 0 0;font-family:Syne,sans-serif;font-size:clamp(3.6rem,8.8vw,6.7rem);line-height:.9;letter-spacing:-.07em}.hero-role{max-width:28ch;margin:18px 0 0;color:#d9b185;font:700 .9rem IBM Plex Mono,monospace;line-height:1.6;text-transform:uppercase}.hero-summary{max-width:60ch;margin:20px 0 0;color:#f5ede2d1;font-size:1.04rem;line-height:1.85}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.action-pill,.editor-toggle,.editor-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border-radius:999px;border:1px solid transparent;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.action-pill{background:rgba(255,255,255,.05);border-color:#f5ede21f;color:#f5ede2}.action-pill img{width:20px;height:20px;object-fit:contain}.action-pill-primary{background:#f5ede2;color:#101113}.action-pill:hover,.editor-toggle:hover,.editor-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px #11111324}.hero-visual{display:grid;align-content:start;gap:16px;padding:28px;background:radial-gradient(circle at top right,rgba(181,122,83,.18),transparent 34%),linear-gradient(180deg,#eadbc8 0%,#f8f2ea 100%)}.portrait-frame{position:relative;padding:12px;border:1px solid rgba(16,17,19,.12);border-radius:30px;background:rgba(255,253,249,.92);box-shadow:inset 0 0 0 1px #fffc}.portrait-stamp{position:absolute;left:18px;bottom:18px;z-index:1;display:inline-flex;align-items:center;max-width:170px;padding:7px 12px;border-radius:14px;background:rgba(255,253,249,.86);border:1px solid rgba(16,17,19,.08);color:#111315;font:600 .68rem IBM Plex Mono,monospace;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.portrait-image{display:block;width:100%;aspect-ratio:.84;object-fit:cover;object-position:center top;border-radius:22px}.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fact-card{display:grid;gap:8px;padding:16px;border-radius:20px;border:1px solid rgba(16,17,19,.1);background:rgba(255,255,255,.7)}.fact-card span{color:#10111385;font-size:.68rem}.fact-card strong{color:#101113;font-size:.95rem;line-height:1.35}.resume-layout{display:grid;grid-template-columns:minmax(280px,330px) minmax(0,1fr);gap:24px;margin-top:24px;align-items:start}.side-rail,.content-column{display:grid;gap:24px}.rail-panel,.content-panel{position:relative;overflow:hidden;border:1px solid rgba(16,17,19,.08);border-radius:30px;background:rgba(250,246,239,.96);box-shadow:0 24px 70px #2c1e1314}.rail-panel{padding:24px}.content-panel{padding:28px}.rail-panel:before,.content-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(180deg,#111315 0%,#b56241 100%)}.rail-panel-dark{background:linear-gradient(140deg,#111315 0%,#181c20 100%);color:#f5ede2}.rail-panel-dark .panel-heading p,.rail-panel-dark .panel-heading h2,.rail-panel-dark .focus-lead,.rail-panel-dark .focus-list{color:inherit}.panel-heading,.section-heading{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:20px}.panel-count,.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(181,98,65,.16);background:rgba(181,98,65,.08);color:#b56241;font-size:.7rem}.panel-heading h2,.section-heading h2,.skill-cluster h3{margin:0;font-family:Syne,sans-serif;letter-spacing:-.04em}.panel-heading h2{max-width:12ch;font-size:clamp(1.14rem,1.7vw,1.42rem);line-height:1.05;text-wrap:balance}.section-heading h2{font-size:clamp(1.5rem,2.6vw,1.96rem);line-height:1.02;text-wrap:balance}.panel-heading p,.section-heading p,.skill-cluster p{margin:6px 0 0;color:#10111399;line-height:1.65}.panel-heading p{font-size:.92rem}.section-heading p{font-size:.98rem}.quick-nav{display:grid;gap:10px}.quick-nav a{display:flex;align-items:center;justify-content:flex-start;padding:15px 16px;border-radius:18px;border:1px solid rgba(16,17,19,.08);background:rgba(255,255,255,.72);color:#101113;font-weight:700}.quick-nav a:hover{transform:translate(4px)}.detail-list{display:grid;gap:14px}.detail-row{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid rgba(16,17,19,.08)}.detail-row:last-child{padding-bottom:0;border-bottom:0}.detail-key{color:#b56241;font-size:.72rem}.detail-value{color:#101113;font-weight:600;word-break:break-word}.focus-lead{margin:0;color:#f5ede2e0;line-height:1.8}.focus-list{display:grid;gap:10px;margin:16px 0 0;padding-left:18px;color:#f5ede2d6}.skills-stack{display:grid;gap:14px}.skill-cluster{display:grid;gap:14px;padding:18px;border-radius:24px;border:1px solid rgba(16,17,19,.08);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(247,241,232,.92))}.skill-cluster-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.skill-cluster h3{font-size:1.04rem;line-height:1.1;text-wrap:balance}.skill-list{display:flex;flex-wrap:wrap;gap:10px}.skill-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid rgba(16,17,19,.08);background:rgba(255,255,255,.88)}.skill-pill img{width:18px;height:18px;object-fit:contain}.skill-pill span{font-weight:700;font-size:.94rem}.intro-grid{display:block}.notes-stack{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.note-card{display:grid;gap:8px;padding:18px;border-radius:20px;border:1px solid rgba(16,17,19,.08);background:rgba(255,255,255,.76)}.note-card span{color:#b56241;font:600 .72rem IBM Plex Mono,monospace;text-transform:uppercase}.note-card strong{font-size:1rem;line-height:1.55}.project-spotlight{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.7fr);gap:16px;grid-column:1 / -1}.project-spotlight-main,.project-spotlight-side{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(16,17,19,.08);background:rgba(255,255,255,.84);transition:transform .16s ease,box-shadow .16s ease}.project-spotlight-main{min-height:320px}.project-spotlight-image,.project-spotlight-side-image{width:100%;height:100%;display:block;object-fit:cover}.project-spotlight-image{object-position:center top}.project-spotlight-side{display:grid;grid-template-rows:1fr auto;min-height:320px}.project-spotlight-side-image{max-height:220px;object-position:center top}.project-spotlight-overlay,.project-spotlight-side-copy{display:grid;gap:6px;padding:14px 16px;border-radius:18px}.project-spotlight-overlay{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(15,18,24,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f7f3ec}.project-spotlight-side-copy{margin:14px;background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(242,233,221,.94));color:#101113}.project-spotlight-overlay span,.project-spotlight-side-copy span{font:600 .72rem IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.project-spotlight-overlay strong,.project-spotlight-side-copy strong{font-family:Syne,sans-serif;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.1;letter-spacing:-.04em}.project-spotlight-main:hover,.project-spotlight-side:hover{transform:translateY(-2px);box-shadow:0 18px 36px #1011131a}.entries-stack{display:grid;gap:16px}.entry-card{padding:20px;border-radius:26px;border:1px solid rgba(16,17,19,.08)}.entry-card-paper{background:rgba(255,255,255,.82)}.entry-card-accent{background:linear-gradient(150deg,rgba(242,226,211,.96),rgba(250,246,239,.98))}.entry-card-ink{background:linear-gradient(140deg,#111315 0%,#181c20 100%);color:#f5ede2}.entry-card-study{background:rgba(247,243,236,.98)}.entry-main{display:grid;gap:14px}.entry-top{display:grid;gap:12px}.entry-top-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.entry-index{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:28px;padding:0 10px;border-radius:999px;background:rgba(16,17,19,.06);color:#10111394;font:700 .7rem IBM Plex Mono,monospace}.entry-card-ink .entry-index{background:rgba(245,237,226,.12);color:#f5ede2b3}.entry-card-study .entry-index{background:rgba(32,97,101,.08);color:#206165b3}.entry-title-block h3{margin:0;font-size:1.12rem;line-height:1.16;text-wrap:balance}.entry-title-block span{display:block;margin-top:6px;color:#1011139e;font-weight:700}.entry-card-ink .entry-title-block span{color:#f5ede2a3}.entry-time{padding:8px 12px;border-radius:999px;background:rgba(16,17,19,.06);color:#b56241;font-size:.72rem}.entry-card-ink .entry-time{background:rgba(245,237,226,.12);color:#f2cfab}.entry-body{color:#101113c7;line-height:1.72}.entry-card-ink .entry-body{color:#f5ede2d1}.entry-list{display:grid;gap:8px;margin:0;padding-left:18px}.entry-copy{margin:0}.entry-rich-content{display:flex;align-items:center}.cisco-badge{max-width:120px;height:auto}.editor-toggle{width:100%;margin-top:18px;border-color:#10111314;background:rgba(255,255,255,.74);color:#101113}.editor-toggle.active{background:#111315;color:#f5ede2}.editor-panel{display:grid;gap:12px;margin-top:14px;padding:18px;border-radius:22px;border:1px dashed rgba(16,17,19,.12);background:rgba(255,255,255,.7)}.editor-input{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(16,17,19,.12);border-radius:16px;background:rgba(255,255,255,.92);color:#101113}.editor-input::placeholder{color:#1011136b}.editor-input:focus{outline:none;border-color:#b5624185;box-shadow:0 0 0 3px #b562411f}.editor-textarea{min-height:112px;padding-top:14px;resize:vertical}.editor-submit{background:#111315;color:#f5ede2}.notice-strip{margin-bottom:18px;padding:14px 18px;border:1px solid rgba(16,17,19,.08);border-radius:18px;background:rgba(255,248,232,.72);color:#101113c2;font-size:.94rem}.auth-shell,.admin-shell{position:relative;min-height:100vh;padding:24px 14px 40px}.auth-card,.admin-hero,.admin-section{position:relative;border:1px solid rgba(16,17,19,.08);border-radius:30px;background:rgba(247,241,233,.88);box-shadow:0 24px 70px #2c211314;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-card{max-width:620px;margin:6vh auto 0;padding:30px}.auth-card h1,.admin-hero h1{margin:10px 0 8px;font-family:Cormorant Garamond,serif;font-size:clamp(2.6rem,6vw,4.2rem);line-height:.96}.auth-form,.admin-stage{display:grid;gap:18px}.auth-submit{justify-content:center}.auth-hint,.admin-hint{margin:0;color:#10111394}.auth-error{margin:0;color:#8b2f2f;font-weight:600}.admin-stage{max-width:1280px;margin:0 auto}.admin-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr);gap:18px;align-items:end;padding:30px}.admin-hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.admin-hero-actions .action-pill{background:rgba(255,255,255,.88);border-color:#1011131a;color:#101113;box-shadow:0 14px 30px #2c211314}.admin-hero-actions .action-pill:hover{background:#ffffff;border-color:#10111329}.admin-hero-actions .action-pill-primary{background:#111315;border-color:#111315;color:#f5ede2}.admin-hero-actions .action-pill-primary:hover{background:#1c2024;border-color:#1c2024}.admin-section{padding:24px}.admin-section-head,.admin-subsection-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.admin-section-head h2,.admin-subsection-head h3{margin:0;font-family:Cormorant Garamond,serif}.admin-section-head h2{font-size:clamp(1.8rem,3vw,2.3rem)}.admin-subsection-head h3{font-size:1.35rem}.admin-section-head p,.admin-subsection-head p{margin:6px 0 0;color:#101113a3}.admin-grid{display:grid;gap:14px;grid-template-columns:repeat(12,minmax(0,1fr))}.admin-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-field{display:grid;gap:8px;grid-column:span 6}.admin-grid-two .admin-field{grid-column:span 1}.admin-field span{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#1011138a}.admin-field input,.admin-field textarea{width:100%;padding:14px 16px;border:1px solid rgba(16,17,19,.12);border-radius:16px;background:rgba(255,255,255,.88);color:#101113}.admin-field input:focus,.admin-field textarea:focus{outline:none;border-color:#b5624185;box-shadow:0 0 0 3px #b562411f}.admin-field-wide{grid-column:span 12}.admin-subsection,.admin-list{display:grid;gap:14px}.admin-list.compact{margin-top:6px}.admin-card{padding:18px;border-radius:22px;border:1px solid rgba(16,17,19,.08);background:rgba(255,255,255,.68)}.admin-card.mini{padding:14px}.admin-inline-button,.admin-remove-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid rgba(16,17,19,.12);background:rgba(255,255,255,.76);color:#101113;cursor:pointer}.admin-remove-button{margin-top:14px}.admin-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.locale-switcher{display:flex;flex-wrap:wrap;gap:8px}.locale-chip{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:42px;padding:0 16px;border:1px solid rgba(16,17,19,.12);border-radius:999px;background:rgba(255,255,255,.72);color:#101113;cursor:pointer}.locale-chip.active,.admin-inline-button:hover,.admin-remove-button:hover{background:#111315;color:#f5ede2}.save-status{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:999px;background:rgba(16,17,19,.08);color:#101113b8}.save-status.pending{background:rgba(181,98,65,.12);color:#7d442e}.save-status.success{background:rgba(48,103,76,.14);color:#2d654b}.save-status.error{background:rgba(139,47,47,.12);color:#8b2f2f}@media (max-width: 1100px){.hero-stage,.resume-layout,.admin-hero,.fact-grid{grid-template-columns:1fr}.admin-hero-actions{justify-content:flex-start}.admin-grid-two{grid-template-columns:1fr}}@media (max-width: 720px){.cv-shell,.auth-shell,.admin-shell{padding:12px 10px 36px}.hero-copy,.hero-visual,.rail-panel,.content-panel,.auth-card,.admin-hero,.admin-section{padding:20px}.hero-stage,.rail-panel,.content-panel{border-radius:24px}.hero-title{font-size:clamp(3rem,17vw,4.8rem)}.hero-actions{display:grid}.action-pill,.language-pill{width:100%}.panel-heading,.section-heading{grid-template-columns:1fr;gap:4px}.entry-index{min-width:38px}.entry-top-meta{flex-wrap:wrap}.notes-stack,.project-spotlight{grid-template-columns:1fr}.project-spotlight-main,.project-spotlight-side{min-height:auto}.admin-grid,.admin-grid-two{grid-template-columns:1fr}.admin-field,.admin-field-wide{grid-column:span 1}.admin-section-head,.admin-subsection-head{flex-direction:column;align-items:flex-start}.admin-hero-actions{width:100%}.admin-hero-actions .action-pill{width:100%;justify-content:center}}.admin-stage-editor{max-width:1500px}.admin-workspace{display:grid;grid-template-columns:minmax(360px,520px) minmax(0,1fr);gap:20px;align-items:start}.admin-editor-column,.admin-preview-shell{display:grid;gap:16px}.admin-editor-column{position:sticky;top:18px}.admin-editor-nav,.admin-editor-panel,.admin-preview-shell{position:relative;border:1px solid rgba(16,17,19,.08);border-radius:30px;background:rgba(247,241,233,.9);box-shadow:0 24px 70px #2c211314;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-editor-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px}.admin-panel-tab{min-height:48px;padding:0 14px;border:1px solid rgba(16,17,19,.08);border-radius:18px;background:rgba(255,255,255,.62);color:#101113;font-weight:700;cursor:pointer;transition:transform .16s ease,background-color .16s ease,color .16s ease}.admin-panel-tab.active{background:#111315;color:#f5ede2}.admin-panel-tab:hover{transform:translateY(-1px)}.admin-editor-panel,.admin-preview-shell{padding:24px}.admin-info-banner,.admin-context-note{margin:0;padding:14px 16px;border-radius:18px;background:rgba(17,19,21,.06);color:#101113c7}.admin-info-banner{display:grid;gap:6px}.admin-preview-shell{gap:18px}.admin-preview-toolbar{display:flex;flex-wrap:wrap;gap:10px}.admin-preview-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.admin-preview-head h2{margin:10px 0 8px;font-family:Cormorant Garamond,serif;font-size:clamp(1.9rem,3vw,2.6rem)}.admin-preview-head p{margin:0;color:#1011139e}.admin-preview-frame{max-height:calc(100vh - 180px);padding:12px;overflow:auto;border-radius:24px;background:linear-gradient(180deg,rgba(255,252,247,.96),rgba(246,239,229,.96));border:1px solid rgba(16,17,19,.08)}.cv-shell-embedded .cv-stage{width:100%}.cv-shell-embedded .hero-stage,.cv-shell-embedded .rail-panel,.cv-shell-embedded .content-panel{box-shadow:0 18px 44px #2c1e1314}@media (max-width: 1280px){.admin-workspace{grid-template-columns:1fr}.admin-editor-column{position:static}.admin-preview-frame{max-height:none}}@media (max-width: 860px){.admin-editor-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-preview-head{flex-direction:column;align-items:flex-start}}.portfolio-resume{--ink: #090d11;--ink-soft: #111820;--paper: #f1ede6;--paper-soft: #faf7f1;--line-dark: rgba(255, 255, 255, .13);--line-light: rgba(9, 13, 17, .14);width:100%;min-width:320px;min-height:100vh;overflow:clip;background:var(--paper);color:var(--ink)}.portfolio-resume main{display:block}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.cv-navigation{position:fixed;top:16px;left:50%;z-index:100;display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;width:min(1440px,calc(100% - 32px));min-height:60px;padding:8px 10px 8px 20px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(9,13,17,.91);box-shadow:0 18px 50px #00000038;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#f7f3ec;transform:translate(-50%)}.cv-wordmark{font:750 .78rem Syne,sans-serif;letter-spacing:.08em;text-transform:uppercase}.cv-navigation nav{display:flex;gap:5px;align-items:center}.cv-navigation nav a{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:9px;color:#f7f3ecb3;transition:color .18s ease,border-color .18s ease,background .18s ease}.cv-navigation nav a:before{position:absolute;top:calc(100% + 11px);left:50%;padding:6px 8px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:#111820;color:#fff;font:650 .61rem IBM Plex Mono,monospace;content:attr(data-label);opacity:0;pointer-events:none;transform:translate(-50%,-5px);transition:opacity .16s ease,transform .16s ease;white-space:nowrap}.cv-navigation nav a:hover,.cv-navigation nav a:focus-visible{color:#fff;border-color:#ffffff2e;background:rgba(255,255,255,.06)}.cv-navigation nav a:hover:before,.cv-navigation nav a:focus-visible:before{opacity:1;transform:translate(-50%)}.cv-language-switch{display:flex;justify-self:end;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:10px}.cv-language-switch button{min-width:40px;min-height:36px;padding:0 10px;border:0;border-right:1px solid rgba(255,255,255,.12);background:transparent;color:#ffffffa3;font:700 .68rem IBM Plex Mono,monospace;cursor:pointer}.cv-language-switch button:last-child{border-right:0}.cv-language-switch button.active{background:var(--mode-accent);color:#fff}.cinematic-hero{position:relative;display:grid;grid-template-columns:minmax(420px,.92fr) minmax(500px,1.08fr);grid-template-rows:minmax(0,1fr) 68px;height:100svh;min-height:700px;padding:100px max(4vw,calc((100vw - 1440px)/2)) 20px;overflow:hidden;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),var(--ink);background-size:72px 72px,72px 72px,auto;color:var(--paper-soft)}.cinematic-hero:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(90deg,var(--ink) 0%,transparent 55%,rgba(9,13,17,.34) 100%);content:"";pointer-events:none}.hero-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:0;transition:opacity .42s cubic-bezier(.22,1,.36,1);pointer-events:none}.hero-atmosphere:before{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 72% 44%,color-mix(in srgb,var(--mode-accent) 17%,transparent),transparent 43%);content:"";opacity:.62}.hero-atmosphere.is-active{opacity:1}.hero-atmosphere canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;pointer-events:none}.hero-atmosphere[data-status=fallback] canvas,.hero-atmosphere[data-status=disabled] canvas{display:none}.portfolio-resume[data-hero-active=true][data-hero-mode=all] .hero-atmosphere:before{background:radial-gradient(circle at 74% 40%,rgba(201,104,67,.25),transparent 38%),linear-gradient(115deg,transparent 45%,rgba(201,104,67,.07))}.portfolio-resume[data-hero-active=true][data-hero-mode=code] .hero-atmosphere:before{background:radial-gradient(circle at 73% 43%,rgba(74,155,216,.25),transparent 39%),linear-gradient(115deg,transparent 42%,rgba(74,155,216,.075))}.portfolio-resume[data-hero-active=true][data-hero-mode=design] .hero-atmosphere:before{background:radial-gradient(circle at 70% 42%,rgba(185,154,235,.27),transparent 40%),linear-gradient(115deg,transparent 43%,rgba(185,154,235,.08))}.api-status{position:absolute;top:92px;right:max(5vw,calc((100vw - 1440px)/2));z-index:6;display:inline-flex;gap:8px;align-items:center;font:600 .65rem IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:#ffffff85}.api-status i{width:7px;height:7px;border-radius:50%;background:#d6a047}.hero-copy-block{position:relative;z-index:8;display:flex;flex-direction:column;align-self:center;max-width:610px;padding:18px 24px 22px 0}.hero-kicker,.section-intro>span,.contact-section>div>span{font:700 .68rem IBM Plex Mono,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--mode-accent)}.hero-copy-block h1{display:grid;margin:18px 0 24px;font-family:Syne,sans-serif;font-size:clamp(3.3rem,4.2vw,4.8rem);font-weight:800;line-height:.82;letter-spacing:-.085em;text-transform:uppercase}.hero-copy-block h1 span{color:#fff}.hero-primary-role{max-width:590px;margin:0;font:650 clamp(1rem,1.55vw,1.45rem) "IBM Plex Mono",monospace;line-height:1.35;color:var(--mode-accent);text-wrap:balance}.hero-mode-description{max-width:570px;margin:16px 0 0;font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.72;color:#f7f3ecb3}.hero-mode-points{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}.hero-mode-points li{padding:8px 11px;border:1px solid var(--line-dark);border-radius:6px;font:600 .7rem IBM Plex Mono,monospace;color:#f7f3ecc2}.hero-cta-row,.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.cv-button,.cv-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:transparent;color:#f7f3ec;font-size:.82rem;font-weight:750;transition:transform .18s ease,border-color .18s ease,background .18s ease}.cv-icon-button{width:48px;padding:0}.cv-icon-button img,.button-brand-icon{width:19px;height:19px;object-fit:contain;filter:brightness(0) invert(1)}.cv-icon-button>svg{color:currentColor}.cv-button-primary{border-color:var(--mode-accent);background:var(--mode-accent)}.cv-button:hover,.cv-icon-button:hover{transform:translateY(-2px);border-color:var(--mode-accent)}.hero-visual-stage{position:relative;z-index:4;min-width:0;min-height:0;overflow:hidden;perspective:1500px}.hero-scene{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;will-change:transform}.proximity-cursor{position:absolute;top:-23px;left:-23px;z-index:0;width:46px;height:46px;border:1px solid color-mix(in srgb,var(--mode-accent) 65%,transparent);border-radius:50%;opacity:0;pointer-events:none;box-shadow:0 0 0 1px #ffffff0a,0 0 28px color-mix(in srgb,var(--mode-accent) 20%,transparent);will-change:transform,opacity}.proximity-cursor:before,.proximity-cursor:after{position:absolute;top:50%;left:50%;border-radius:50%;content:"";transform:translate(-50%,-50%)}.proximity-cursor:before{width:5px;height:5px;background:var(--mode-accent)}.proximity-cursor:after{width:62px;height:62px;border:1px dashed color-mix(in srgb,var(--mode-accent) 38%,transparent);transition:width .18s ease,height .18s ease,border-color .18s ease}.proximity-cursor.is-sensing:after{width:82px;height:82px;border-color:var(--mode-accent)}.scene-layer{position:absolute;top:0;left:0;width:min(23%,150px);padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#111820;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;font:inherit;cursor:pointer;box-shadow:0 28px 70px #0000007a;transform-style:preserve-3d;will-change:transform,opacity}.scene-layer:focus-visible{outline:2px solid var(--mode-accent);outline-offset:4px}.scene-layer.is-active{border-color:color-mix(in srgb,var(--mode-accent) 72%,white 10%);box-shadow:0 42px 110px #0000009e,0 0 45px color-mix(in srgb,var(--mode-accent) 24%,transparent)}.scene-layer.is-locked{border-color:var(--mode-accent)}.scene-layer-surface{display:block;transform-style:preserve-3d;will-change:transform}.scene-layer img{display:block;width:100%;pointer-events:none}.scene-layer-all{z-index:1}.scene-layer-design{z-index:2}.scene-layer-code{z-index:7}.hero-portrait-card{position:absolute;top:0;left:0;z-index:5;width:min(36%,255px);overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:#eceae5;box-shadow:0 34px 90px #0000006b;will-change:transform,opacity}.hero-portrait-surface{position:relative;transform-style:preserve-3d;will-change:transform}.hero-portrait-card img{display:block;width:100%;height:auto}.hero-portrait-surface>span{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--mode-accent) 34%,transparent),transparent 42%),linear-gradient(145deg,color-mix(in srgb,var(--mode-accent) 18%,transparent),transparent 54%);opacity:0;mix-blend-mode:screen;transition:opacity .42s ease;pointer-events:none}.portfolio-resume[data-hero-active=true] .hero-portrait-surface>span{opacity:.72}.hero-mode-switch{position:relative;z-index:20;display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));align-self:end;width:min(430px,100%);margin:0 auto;border:1px solid var(--line-dark);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.025)}.hero-mode-switch button{position:relative;display:flex;justify-content:center;gap:8px;align-items:center;min-height:66px;padding:12px 16px;border:0;border-right:1px solid var(--line-dark);background:transparent;color:#f7f3ec7a;cursor:pointer;transition:color .18s ease,background .18s ease}.hero-mode-switch button:last-child{border-right:0}.hero-mode-switch button span{font:700 .62rem IBM Plex Mono,monospace}.hero-mode-switch button:before{position:absolute;top:-1px;left:0;width:0;height:2px;background:var(--mode-accent);content:"";transition:width .26s ease}.hero-mode-switch button.active{background:rgba(255,255,255,.045);color:#fff}.hero-mode-switch button.active svg{color:var(--mode-accent)}.hero-mode-switch button.active:before{width:100%}.hero-mode-switch button.locked{background:color-mix(in srgb,var(--mode-accent) 14%,transparent)}.value-section,.experience-section,.projects-section,.skills-section,.profile-education-section,.contact-section{padding:clamp(68px,8vw,118px) max(5vw,calc((100vw - 1440px)/2))}.experience-section,.projects-section,.skills-section,.profile-education-section,.contact-section{scroll-margin-top:82px}.value-section{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.6fr);gap:7vw;align-items:start;background:var(--paper-soft)}.value-section>h2,.section-intro h2,.education-summary>h2,.contact-section h2{margin:0;font-family:Syne,sans-serif;font-size:clamp(2rem,4vw,4.7rem);line-height:.96;letter-spacing:-.055em;text-transform:uppercase;text-wrap:balance}.value-grid{display:grid;grid-template-columns:repeat(3,1fr)}.value-grid article{padding:4px 28px 8px;border-left:1px solid var(--line-light)}.value-grid svg{color:var(--mode-accent)}.value-grid h3{margin:18px 0 9px;font:750 .85rem IBM Plex Mono,monospace;text-transform:uppercase}.value-grid p,.section-intro p{margin:0;color:#090d119e;line-height:1.65}.experience-section,.skills-section{background:var(--ink);color:var(--paper-soft)}.section-intro{display:grid;grid-template-columns:40px minmax(0,1fr);gap:18px;align-items:start;margin-bottom:clamp(44px,6vw,78px)}.section-intro>span{padding-top:10px}.section-intro p{max-width:620px;margin-top:14px}.section-intro-light p{color:#f7f3ec94}.experience-timeline{position:relative;max-width:1050px;margin:0 auto}.experience-timeline:before{position:absolute;top:8px;bottom:8px;left:230px;width:1px;background:rgba(255,255,255,.2);content:""}.experience-item{position:relative;display:grid;grid-template-columns:205px 50px minmax(0,1fr);padding:0 0 46px}.experience-date{padding-top:7px;color:var(--mode-accent);font:650 .7rem/1.5 IBM Plex Mono,monospace;text-align:right;text-transform:uppercase}.experience-dot{position:relative;z-index:2;width:9px;height:9px;margin:8px auto 0;border:2px solid var(--mode-accent);border-radius:50%;background:var(--ink)}.experience-copy{padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.13)}.experience-copy>span{color:var(--mode-accent);font:650 .7rem IBM Plex Mono,monospace;letter-spacing:.07em;text-transform:uppercase}.experience-copy h3{margin:10px 0 12px;font-size:clamp(1.15rem,1.7vw,1.6rem)}.experience-copy p,.experience-copy ul{max-width:780px;margin:0;color:#f7f3ecad;line-height:1.75}.experience-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;padding-left:18px}.experience-item-current .experience-copy{padding:24px;border:1px solid color-mix(in srgb,var(--mode-accent) 38%,transparent);background:rgba(255,255,255,.035)}.projects-section{background:var(--paper)}.projects-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:start}.projects-heading .section-intro{margin-bottom:clamp(38px,5vw,62px)}.portfolio-gateway{display:inline-flex;gap:12px;align-items:center;min-height:52px;padding:0 18px;border:1px solid var(--ink);background:var(--ink);color:var(--paper-soft);font:750 .78rem IBM Plex Mono,monospace;transition:transform .18s ease,background .18s ease,color .18s ease}.portfolio-gateway:hover{transform:translateY(-3px);background:var(--mode-accent);color:#fff}.featured-project-shell{position:relative;display:grid;grid-template-columns:72px minmax(0,1.55fr) minmax(280px,.65fr);min-height:610px;border:1px solid var(--line-light);background:#0c1116;box-shadow:0 32px 90px #090d112b}.project-selector{display:grid;grid-template-rows:repeat(3,1fr);border-right:1px solid var(--line-dark)}.project-selector button{position:relative;display:grid;place-content:center;gap:10px;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:#f7f3ec61;cursor:pointer;transition:color .18s ease,background .18s ease}.project-selector button:last-child{border-bottom:0}.project-selector button:after{position:absolute;top:0;bottom:100%;left:0;width:3px;background:var(--mode-accent);content:"";transition:bottom .26s ease}.project-selector button:hover,.project-selector button.active{background:rgba(255,255,255,.045);color:#fff}.project-selector button.active:after{bottom:0}.project-selector button span{font:700 .58rem IBM Plex Mono,monospace}.project-selector button.active svg{color:var(--mode-accent)}.featured-project-media{position:relative;display:grid;grid-template-rows:42px minmax(0,1fr);min-width:0;margin:44px 0 44px 44px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#151c23;box-shadow:28px 35px 80px #0000006b;transform:perspective(1400px) rotateY(4deg) rotateX(1deg);transform-origin:right center;transition:transform .42s cubic-bezier(.2,.8,.2,1)}.featured-project-media:hover{transform:perspective(1400px) rotateY(0) rotateX(0) translateY(-4px)}.project-browser-bar{display:flex;gap:6px;align-items:center;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.1)}.project-browser-bar>span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22)}.project-browser-bar svg{margin-left:auto;color:#ffffff80}.featured-project-media>img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:top center;will-change:transform,opacity}.featured-project-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,58px);color:var(--paper-soft)}.project-position{display:flex;gap:10px;align-items:center;color:#f7f3ec6b;font:700 .62rem IBM Plex Mono,monospace}.project-position i{width:44px;height:1px;background:var(--mode-accent)}.featured-project-copy h3{margin:20px 0 12px;font:800 clamp(1.7rem,2.25vw,2.8rem)/.95 "Syne",sans-serif;letter-spacing:-.055em;overflow-wrap:anywhere;word-break:normal;text-transform:uppercase}.featured-project-copy>p{margin:0;color:#f7f3ec9e;line-height:1.7}.project-stack-icons{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.project-stack-icons>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line-dark);border-radius:8px;background:rgba(255,255,255,.035)}.project-stack-icons img,.project-stack-icons svg{width:20px;height:20px;object-fit:contain}.featured-project-copy>a{display:inline-flex;align-self:flex-start;gap:10px;align-items:center;min-height:50px;padding:0 16px;border:1px solid var(--mode-accent);background:var(--mode-accent);color:#fff;font:750 .76rem IBM Plex Mono,monospace;transition:transform .18s ease}.featured-project-copy>a:hover{transform:translate(4px)}.capabilities-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.capabilities-grid article{padding:24px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.capability-title{display:flex;gap:10px;align-items:center;color:var(--mode-accent)}.capability-title svg{width:20px}.capability-title h3{margin:0;font:700 .75rem IBM Plex Mono,monospace;text-transform:uppercase}.capabilities-grid article>p{min-height:84px;margin:16px 0;color:#f7f3ec85;font-size:.82rem;line-height:1.55}.capability-list{display:grid;gap:6px}.capability-list span{display:flex;gap:8px;align-items:center;min-height:34px;padding:6px 8px;border:1px solid var(--line-dark);font-size:.74rem;color:#f7f3eccc}.capability-list img{width:18px;height:18px;object-fit:contain}.capability-list img.capability-icon-contrast{width:22px;height:22px;padding:2px;border-radius:4px;background:#f7f3ec;box-shadow:0 0 0 1px #f7f3ec2e}.capability-list svg{width:18px;height:18px;flex:0 0 auto;color:var(--mode-accent)}.profile-education-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,7vw,100px);background:var(--paper-soft)}.profile-summary>p{max-width:720px;margin:0;font-size:clamp(1.08rem,1.6vw,1.35rem);line-height:1.72}.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}.profile-facts span,.profile-facts a{display:flex;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-light);font-size:.84rem}.profile-facts svg{color:var(--mode-accent)}.education-summary>h2{font-size:clamp(2rem,3vw,3.4rem)}.education-summary>div{margin-top:30px}.education-summary section{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line-light)}.education-summary time{color:#ad4f31;font:700 .69rem IBM Plex Mono,monospace}.education-summary h3{margin:0;font-size:.98rem}.education-summary p{margin:6px 0 0;color:#090d1194;font-size:.82rem}.contact-section{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end;background:#b95737;color:#fff7ef}.contact-section h2{max-width:850px;margin-top:16px}.contact-section p{margin:18px 0 0;color:#fff7efb8}.contact-actions{display:grid;grid-template-columns:1fr 1fr}.contact-actions .cv-button{border-color:#ffffff6b}.contact-actions .cv-button-light{background:#fff7ef;color:#8d351d}.contact-actions .contact-print{grid-column:1 / -1}.portfolio-resume-embedded .cv-navigation{display:none}.portfolio-resume-embedded .cinematic-hero{min-height:760px;padding-top:62px}@media (max-width: 1180px){.cv-navigation{grid-template-columns:1fr auto}.cv-navigation nav{display:none}.cinematic-hero{grid-template-columns:minmax(390px,.95fr) minmax(390px,1.05fr)}.hero-copy-block h1{font-size:clamp(3.25rem,5vw,4.25rem)}.capabilities-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 860px){.cv-navigation{top:8px;width:calc(100% - 16px);min-height:54px;border-radius:12px}.cv-wordmark{font-size:.66rem}.cv-language-switch button{min-width:34px;min-height:32px;padding:0 7px}.cinematic-hero{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;height:auto;min-height:auto;padding:86px 18px 0}.hero-copy-block{max-width:none;padding:20px 0 24px}.hero-copy-block h1{font-size:clamp(2.85rem,8.5vw,4rem)}.hero-visual-stage{grid-row:3;min-height:580px;margin:0 -18px;overflow:hidden}.scene-layer{width:min(32%,150px)}.hero-portrait-card{width:min(47%,255px)}.hero-mode-switch{grid-row:2;margin:0 -18px;width:auto;border-right:0;border-left:0;border-radius:0}.hero-mode-switch button{gap:4px;min-height:68px;padding:9px 4px}.hero-mode-switch button>span{display:none}.value-section,.profile-education-section,.contact-section,.value-grid{grid-template-columns:1fr}.value-grid article{padding:22px 0;border-left:0;border-top:1px solid var(--line-light)}.experience-timeline:before{left:8px}.experience-item{grid-template-columns:26px 1fr}.experience-date{grid-column:2;padding:0 0 8px;text-align:left}.experience-dot{position:absolute;left:4px;top:2px}.experience-copy{grid-column:2}.experience-copy ul,.projects-heading{grid-template-columns:1fr}.portfolio-gateway{justify-self:start;margin-top:-26px;margin-bottom:22px}.featured-project-shell{grid-template-columns:1fr;min-height:0}.project-selector{grid-template-columns:repeat(3,1fr);grid-template-rows:70px;border-right:0;border-bottom:1px solid var(--line-dark)}.project-selector button{border-right:1px solid var(--line-dark);border-bottom:0}.project-selector button:last-child{border-right:0}.project-selector button:after{top:auto;right:100%;bottom:0;width:auto;height:3px;transition:right .26s ease}.project-selector button.active:after{right:0;bottom:0}.featured-project-media{min-height:440px;margin:24px 24px 0;transform:none}.featured-project-copy{padding:34px 24px 42px}.capabilities-grid{grid-template-columns:1fr 1fr}.contact-section{align-items:start}}@media (max-width: 560px){.value-section,.experience-section,.projects-section,.skills-section,.profile-education-section,.contact-section{padding:62px 18px}.projects-heading .section-intro{grid-template-columns:1fr;gap:10px}.projects-heading .section-intro h2{font-size:clamp(1.85rem,9vw,2.2rem)}.hero-copy-block h1{font-size:clamp(2rem,8.7vw,2.4rem);letter-spacing:-.1em}.hero-primary-role{font-size:.88rem}.hero-mode-description{font-size:.94rem}.hero-mode-points{display:grid;grid-template-columns:1fr 1fr}.hero-cta-row .cv-button{flex:1}.hero-visual-stage{min-height:500px}.scene-layer{width:min(32%,125px)}.hero-portrait-card{width:min(47%,185px)}.featured-project-media{min-height:320px;margin:14px 14px 0}.featured-project-copy h3{font-size:clamp(1.65rem,8vw,2.35rem)}.capabilities-grid,.profile-facts{grid-template-columns:1fr}.education-summary section{grid-template-columns:90px 1fr}.contact-actions{grid-template-columns:1fr}.contact-actions .contact-print{grid-column:auto}}@media (prefers-reduced-motion: reduce){.portfolio-resume *,.portfolio-resume *:before,.portfolio-resume *:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}@page{size:A4;margin:0}:root{--print-ink: #171a1d;--print-paper: #f4f0e9;--print-accent: #c96843;--print-muted: #6d6c68;--print-line: #d6d0c7}.print-document{min-height:100vh;color:var(--print-ink);background:#d8d4ce;font-family:Manrope,Arial,sans-serif}.print-toolbar{position:sticky;z-index:20;top:0;display:flex;justify-content:center;gap:12px;padding:12px;background:rgba(23,26,29,.94)}.print-toolbar a,.print-toolbar button{display:inline-flex;gap:8px;align-items:center;min-height:42px;padding:0 18px;border:1px solid rgba(255,255,255,.18);border-radius:3px;color:#fff;background:transparent;font:700 .78rem/1 Manrope,sans-serif;text-decoration:none;cursor:pointer}.print-toolbar button{border-color:var(--print-accent);background:var(--print-accent)}.print-page{position:relative;box-sizing:border-box;width:210mm;min-height:297mm;margin:18px auto;overflow:hidden;background:var(--print-paper);page-break-after:always}.print-page:last-child{page-break-after:auto}.print-hero{display:grid;grid-template-columns:1fr 47mm;min-height:72mm;padding:15mm 17mm 10mm;color:#fff;background:var(--print-ink)}.print-hero-copy{align-self:center}.print-kicker{display:block;margin-bottom:8mm;color:#e4a07f;font:700 8pt/1 IBM Plex Mono,monospace;letter-spacing:.15em}.print-hero h1{max-width:125mm;margin:0;font:800 31pt/.88 Syne,Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase}.print-hero p{max-width:120mm;margin:5mm 0 0;color:#ffffffb8;font-size:10pt}.print-hero-copy>a{display:inline-flex;gap:4px;align-items:center;margin-top:6mm;color:#fff;font:700 7.5pt/1 IBM Plex Mono,monospace;text-decoration:none;text-transform:uppercase}.print-photo{align-self:center;width:39mm;height:49mm;overflow:hidden;border:1px solid rgba(255,255,255,.22);background:#292d31}.print-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.84) contrast(1.04)}.print-contact-row{display:grid;grid-template-columns:1.3fr .9fr .8fr;min-height:14mm;padding:0 17mm;color:#fff;background:var(--print-accent)}.print-contact-row a,.print-contact-row span{display:flex;gap:5px;align-items:center;color:inherit;font-size:7.3pt;font-weight:700;text-decoration:none}.print-contact-row svg{width:11px;height:11px}.print-page-one-grid,.print-page-two-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr);gap:10mm;padding:11mm 17mm 16mm}.print-page-two-grid{padding-top:10mm}.print-main-column,.print-side-column{min-width:0}.print-main-column>section+section,.print-side-column>section+section{margin-top:8mm}.print-section-title{display:flex;gap:4mm;align-items:center;margin-bottom:4mm;padding-bottom:2.2mm;border-bottom:1px solid var(--print-line)}.print-section-title span{display:grid;width:6mm;height:6mm;place-items:center;color:#fff;background:var(--print-accent);font:700 6.5pt/1 IBM Plex Mono,monospace}.print-section-title h2{margin:0;font:800 11pt/1 Syne,Arial,sans-serif;letter-spacing:-.025em;text-transform:uppercase}.print-section-title-plain{gap:3mm}.print-section-title-plain:before{width:2px;height:6mm;flex:0 0 auto;background:var(--print-accent);content:""}.print-about{margin:0;color:#34373a;font-size:8.4pt;line-height:1.62}.print-experience{display:grid;grid-template-columns:34mm 1fr;gap:5mm;padding:4mm 0;border-bottom:1px solid var(--print-line);break-inside:avoid}.print-experience.is-featured{margin:0 -3mm;padding:4mm 3mm;border-left:2px solid var(--print-accent);background:#ebe4da}.print-experience-meta time{display:block;color:var(--print-accent);font:700 7.1pt/1.25 IBM Plex Mono,monospace}.print-experience-meta span{display:block;margin-top:2mm;color:var(--print-muted);font-size:7.2pt;line-height:1.35}.print-experience-body h3{margin:0 0 2.2mm;font:800 9.3pt/1.12 Syne,Arial,sans-serif;letter-spacing:-.02em}.print-experience-body ul{display:grid;grid-template-columns:1fr 1fr;gap:1.2mm 4mm;margin:0;padding:0;list-style:none}.print-experience-body li{position:relative;padding-left:3mm;color:#47494b;font-size:7.1pt;line-height:1.38}.print-experience-body li:before{position:absolute;top:.48em;left:0;width:1.2mm;height:1.2mm;background:var(--print-accent);content:""}.print-skill-group+.print-skill-group{margin-top:4mm}.print-skill-group h3{margin:0 0 2mm;color:var(--print-muted);font:700 7pt/1 IBM Plex Mono,monospace;text-transform:uppercase}.print-skill-group>div{display:flex;flex-wrap:wrap;gap:1.5mm}.print-skill-group span{padding:1.4mm 2mm;border:1px solid var(--print-line);background:rgba(255,255,255,.5);font-size:6.7pt;line-height:1.15}.print-skill-group-compact span{padding:1.2mm 1.6mm;font-size:6.2pt}.print-value-list{display:grid;gap:2.5mm}.print-value-list article{padding:3mm;border-left:2px solid var(--print-accent);background:#ebe4da}.print-value-list h3,.print-project-list h3,.print-education-list h3{margin:0;font:800 7.7pt/1.15 Syne,Arial,sans-serif}.print-value-list p,.print-project-list p,.print-education-list p{margin:1mm 0 0;color:var(--print-muted);font-size:6.5pt;line-height:1.4}.print-digital-links{display:grid;gap:2mm}.print-digital-links a{position:relative;display:grid;gap:.8mm;padding:2.5mm 7mm 2.5mm 3mm;border:1px solid var(--print-line);color:var(--print-ink);background:rgba(255,255,255,.5);text-decoration:none}.print-digital-links strong{font:800 7pt/1 Syne,Arial,sans-serif;text-transform:uppercase}.print-digital-links span{overflow-wrap:anywhere;color:var(--print-muted);font:600 5.8pt/1.3 IBM Plex Mono,monospace}.print-digital-links svg{position:absolute;top:50%;right:2.5mm;width:11px;height:11px;color:var(--print-accent);transform:translateY(-50%)}.print-running-header{display:flex;justify-content:space-between;align-items:center;height:19mm;padding:0 17mm;color:#fff;background:var(--print-ink)}.print-running-header strong{font:800 12pt/1 Syne,Arial,sans-serif;text-transform:uppercase}.print-running-header span{color:#e4a07f;font:700 7pt/1 IBM Plex Mono,monospace;letter-spacing:.12em}.print-education-list article{padding:0 0 3mm;margin-bottom:3mm;border-bottom:1px solid var(--print-line);break-inside:avoid}.print-education-list time{display:block;margin-bottom:1mm;color:var(--print-accent);font:700 6.3pt/1 IBM Plex Mono,monospace}.print-project-list{display:grid;gap:2.3mm}.print-project-list article{padding:2.5mm;background:#ebe4da;break-inside:avoid}.print-project-list span{display:block;margin-top:1.5mm;color:var(--print-accent);font:700 5.8pt/1.2 IBM Plex Mono,monospace}.print-portfolio-link{display:block;margin-top:3mm;overflow-wrap:anywhere;color:var(--print-ink);font:700 6.3pt/1.3 IBM Plex Mono,monospace}.print-page-footer{position:absolute;right:17mm;bottom:6mm;left:17mm;display:flex;justify-content:space-between;padding-top:2.5mm;border-top:1px solid var(--print-line);color:var(--print-muted);font:700 6.5pt/1 IBM Plex Mono,monospace;text-transform:uppercase}.print-page-footer b{color:var(--print-accent)}@media screen and (max-width: 900px){.print-page{width:100%;min-height:auto;margin:0}.print-page-one-grid,.print-page-two-grid{grid-template-columns:1fr}.print-page-footer{position:static;margin:10mm 17mm 6mm}}@media print{html,body,#root{margin:0!important;background:var(--print-paper)!important}.print-document{background:var(--print-paper);print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-toolbar{display:none!important}.print-page{width:210mm;height:297mm;min-height:297mm;margin:0;box-shadow:none}.print-page-one-grid,.print-page-two-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr)}.print-page-footer{position:absolute;margin:0}}:root{font-family:Manrope,sans-serif;line-height:1.5;font-weight:400;color:#101113;background:radial-gradient(circle at top left,rgba(197,164,126,.18),transparent 24%),radial-gradient(circle at right 18%,rgba(77,107,131,.12),transparent 18%),linear-gradient(180deg,#ece1d1 0%,#f5ede2 36%,#efe5d8 100%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:transparent;color:#101113}a{color:inherit;text-decoration:none;transition:transform .16s ease}button,input,textarea{font:inherit}img{max-width:100%}#root{min-height:100vh}
