:root{--ink:#252d24;--muted:#70796e;--paper:#f2f4ef;--green:#b9ed70;--deep:#263723;--line:#e3e7df;--display:"Manrope",sans-serif;--body:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:28px 24px;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.75;-webkit-font-smoothing:antialiased}.skip-link{position:absolute;top:-60px;left:20px;z-index:2;padding:9px 14px;background:var(--green);color:var(--ink)}.skip-link:focus{top:12px}.topbar{width:min(960px,100%);margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between}.back-link,.print-button{display:inline-flex;align-items:center;gap:9px;color:#586254;font:600 12px var(--body);text-decoration:none}.back-link:hover{color:#2e4729}.print-button{padding:10px 15px;border:1px solid #d6ddd2;border-radius:4px;background:transparent;cursor:pointer}.print-button:hover{background:#e9eee5}.resume{width:min(960px,100%);margin:0 auto;background:#fff;box-shadow:0 22px 80px #26372310}.resume-hero{position:relative;min-height:340px;display:grid;grid-template-columns:1.5fr .8fr;align-items:center;gap:55px;padding:54px 68px;background:var(--deep);color:#fff;overflow:hidden}.hero-main,.contact-card{position:relative;z-index:1}.eyebrow{margin:0 0 13px;color:#98ae85;font-size:9px;font-weight:700;letter-spacing:.17em}.resume-hero h1{margin:0;font:800 clamp(48px,7vw,70px)/.99 var(--display);letter-spacing:-.07em}.resume-hero h1 span{color:var(--green)}.headline{margin:17px 0 10px;color:#d4dfcd;font-size:13px;font-weight:600}.headline span{padding:0 5px;color:var(--green)}.summary{max-width:475px;margin:0;color:#c5d0be;font-size:12px;line-height:1.9}.contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:20px 0 20px 25px;border-left:1px solid #ffffff2c}.contact-label{margin-bottom:5px;color:#9fb192;font-size:9px;font-weight:700;letter-spacing:.15em}.contact-card a,.contact-location{color:#fff;font-size:11px;text-decoration:none;overflow-wrap:anywhere}.contact-card a:hover{color:var(--green)}.contact-card a span{color:var(--green)}.contact-location{color:#aebba5}.hero-mark{position:absolute;right:29%;bottom:-101px;color:#ffffff08;font:800 330px/.9 var(--display);letter-spacing:-.1em}.resume-content{display:grid;grid-template-columns:1.65fr .85fr;gap:60px;padding:52px 68px 56px}.main-column{min-width:0}.resume-section+.resume-section{margin-top:37px}.section-label{display:flex;align-items:center;gap:12px;margin-bottom:21px;padding-bottom:12px;border-bottom:1px solid var(--line)}.section-label>span{color:#8ba36f;font:700 10px var(--body);letter-spacing:.1em}.section-label h2,.side-section h2{margin:0;font:700 22px var(--display);letter-spacing:-.05em}.timeline{border-left:1px solid #dfe5da;margin-left:5px;padding-left:24px}.timeline-item{position:relative;padding-bottom:24px}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{position:absolute;top:8px;left:-29px;width:9px;height:9px;border:2px solid #8fac6d;border-radius:50%;background:#fff;content:""}.item-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.timeline-item h3,.education-card h3{margin:0;font:700 14px var(--display);letter-spacing:-.03em}.date{flex-shrink:0;color:#858e80;font-size:9px;font-weight:600}.organization{margin:3px 0 8px;color:#779350;font-size:11px;font-weight:700}.timeline-item>p:last-child,.education-card>p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.8}.education-card{padding-left:24px}.education-card .organization{margin:5px 0 4px}.side-column{padding-left:26px;border-left:1px solid var(--line)}.side-section h2{margin-bottom:19px}.skill-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.skill-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf0ea;font-size:11px;font-weight:600}.skill-list li span{color:#91a17f;font-size:9px;letter-spacing:.06em}.side-note{position:relative;margin-top:35px;padding:21px;background:#f1f5eb}.note-star{position:absolute;top:15px;right:17px;color:#8ca968;font-size:20px}.side-note .eyebrow{margin-bottom:8px;color:#7c9166}.side-note h2{max-width:175px;margin:0 0 9px;font:700 18px/1.35 var(--display);letter-spacing:-.05em}.side-note>p:last-child{margin:0;color:#6d7668;font-size:10px;line-height:1.8}.resume-footer{min-height:55px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 68px;border-top:1px solid var(--line);color:#899084;font-size:9px}.resume-footer a{color:#52634a;font-weight:700;text-decoration:none}.resume-footer a span{color:#8aa467}
:focus-visible{outline:3px solid #8eae68;outline-offset:4px}@media(max-width:700px){body{padding:16px 12px}.resume-hero{grid-template-columns:1fr;gap:25px;padding:39px 30px 35px}.resume-hero h1{font-size:56px}.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:17px 0 0;border-top:1px solid #ffffff2c;border-left:0}.contact-label{grid-column:1/-1}.contact-card a,.contact-location{font-size:10px}.hero-mark{right:4%;bottom:70px;font-size:220px}.resume-content{grid-template-columns:1fr;gap:38px;padding:36px 30px 40px}.side-column{padding:30px 0 0;border-top:1px solid var(--line);border-left:0}.skill-list{grid-template-columns:1fr 1fr;column-gap:18px}.side-note{max-width:380px}.resume-footer{align-items:flex-start;flex-direction:column;gap:4px;padding:14px 30px}}@media(max-width:420px){.topbar{gap:10px}.back-link,.print-button{font-size:10px}.print-button{padding:9px}.resume-hero{padding-inline:23px}.resume-content{padding-inline:23px}.item-top{align-items:flex-start;flex-direction:column;gap:1px}.date{font-size:9px}.skill-list{grid-template-columns:1fr}.resume-footer{padding-inline:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{@page{size:A4;margin:0}body{padding:0;background:#fff;font-size:11px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.topbar,.skip-link{display:none!important}.resume{width:100%;max-width:none;box-shadow:none}.resume-hero{min-height:270px;padding:38px 48px;grid-template-columns:1.5fr .8fr;gap:38px}.resume-hero h1{font-size:57px}.summary{font-size:10px}.contact-card a,.contact-location{font-size:9px}.resume-content{grid-template-columns:1.65fr .85fr;gap:35px;padding:34px 48px 40px}.resume-section+.resume-section{margin-top:25px}.timeline-item{padding-bottom:17px}.side-column{padding-left:20px}.side-note{padding:14px;margin-top:25px}.resume-footer{padding-inline:48px}a{text-decoration:none!important;color:inherit!important}}

/* Matching charcoal and green CV palette */
:root{--ink:#edf2e9;--muted:#b1baad;--paper:#0b0e0a;--deep:#050705;--line:#30382e}
body{background:#0b0e0a;color:#edf2e9}
.resume{background:#111511;box-shadow:0 22px 80px #0008}
.resume-hero{background:#050705}
.resume-hero h1 span{color:#a5e86b}
.contact-card{border-color:#394333}
.contact-card a,.contact-location{color:#e9f0e4}
.contact-card a:hover{color:#a5e86b}
.section-label{border-color:#30382e}
.section-label h2,.side-section h2,.timeline-item h3,.education-card h3,.side-note h2{color:#edf2e9}
.timeline{border-color:#394333}
.timeline-item:before{background:#111511;border-color:#a5e86b}
.date,.timeline-item>p:last-child,.education-card>p:last-child,.side-note>p:last-child{color:#b1baad}
.organization{color:#a5d77c}
.skill-list li{border-color:#293128;color:#e1e8dc}
.skill-list li span{color:#a5d77c}
.side-column{border-color:#30382e}
.side-note{background:#1a2118}
.side-note .eyebrow{color:#a5d77c}
.side-note h2{color:#edf2e9}
.resume-footer{border-color:#30382e;color:#aeb9a8}
.resume-footer a{color:#c8e5b2}
.print-button{border-color:#47513f;color:#d8e3d1}
.print-button:hover{background:#1b2319}
.back-link{color:#bdc9b6}
.back-link:hover{color:#a5e86b}

@media print{body{background:#fff;color:#252d24}.resume{background:#fff;box-shadow:none}.resume-content{background:#fff}.section-label h2,.side-section h2,.timeline-item h3,.education-card h3,.side-note h2{color:#252d24}.date,.timeline-item>p:last-child,.education-card>p:last-child,.side-note>p:last-child{color:#566052}.skill-list li{color:#252d24}.side-note{background:#f1f5eb}.resume-footer{color:#52634a}.resume-hero{background:#050705}}
