:root{--ink:#281738;--cream:#f7f2fa;--lime:#c8a4ff;--muted:#75677f;--line:#d9cce2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}.hero{min-height:90vh;padding:24px 5vw 72px;background:var(--ink);color:var(--cream);border-radius:0 0 48px 48px}nav{display:flex;gap:30px;align-items:center;max-width:1200px;margin:auto}nav a{text-decoration:none;font-size:.92rem}.brand{margin-right:auto;font-weight:800}.hero-copy{max-width:1200px;margin:15vh auto 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:800;color:#75677f}.hero .eyebrow{color:var(--lime)}h1{font-size:clamp(3rem,8vw,7rem);line-height:.92;letter-spacing:-.06em;margin:20px 0 28px;max-width:1000px}.intro{font-size:clamp(1.1rem,2vw,1.4rem);max-width:700px;color:#ded2e7;margin-bottom:38px}.button{display:inline-block;background:var(--lime);color:var(--ink);padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:800}.section,.about,footer{max-width:1200px;margin:auto;padding:110px 5vw}.section h2,.about h2{font-size:clamp(2.5rem,5vw,4.5rem);margin:0 0 50px;letter-spacing:-.05em}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{min-height:330px;padding:28px;border:1px solid var(--line);border-radius:24px;display:flex;flex-direction:column;background:#fcf9fe}.card span{font-weight:800;color:var(--muted)}.card h3{font-size:1.55rem;margin:70px 0 8px}.card p{color:var(--muted)}.card a{margin-top:auto;font-weight:750;text-underline-offset:4px}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr;gap:10vw}.about p:last-child{font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.4;letter-spacing:-.02em}.resume{border-top:1px solid var(--line)}.resume-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:55px}.resume-heading h2{margin-bottom:0}.resume-links{display:flex;flex-wrap:wrap;gap:12px}.resume-links a{padding:9px 15px;border:1px solid var(--ink);border-radius:999px;text-decoration:none;font-weight:750}.resume-links a:hover,.resume-links a:focus-visible{background:var(--ink);color:var(--cream)}.skill-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:24px;overflow:hidden;margin-bottom:80px}.skill-groups div{background:#fcf9fe;padding:26px}.skill-groups h3{margin:0 0 8px;font-size:1rem}.skill-groups p{margin:0;color:var(--muted)}.experience{border-top:1px solid var(--line)}.role{display:grid;grid-template-columns:minmax(165px,.45fr) 1.55fr;gap:7vw;padding:55px 0;border-bottom:1px solid var(--line)}.role-meta p{margin:0;color:var(--muted);font-size:.9rem}.company{margin:0 0 5px;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800;color:var(--muted)}.role h3,.education h3{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.1;letter-spacing:-.03em;margin:0 0 24px}.role ul{margin:0;padding-left:1.2rem}.role li+li{margin-top:10px}.education{margin-top:75px;padding:36px;border-radius:24px;background:var(--ink);color:var(--cream)}.education .eyebrow{color:var(--lime)}.education h3{margin-bottom:12px}.education p{margin:4px 0;color:#ded2e7}footer{padding-top:35px;padding-bottom:35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem}@media(max-width:760px){nav{gap:16px;flex-wrap:wrap}.brand{width:100%}nav a:not(.brand){display:inline}.hero{min-height:82vh;border-radius:0 0 28px 28px}.grid{grid-template-columns:1fr}.card{min-height:260px}.card h3{margin-top:38px}.about{grid-template-columns:1fr;gap:0}.resume-heading{display:block}.resume-links{margin-top:24px}.skill-groups{grid-template-columns:1fr}.role{grid-template-columns:1fr;gap:20px}.role-meta{display:flex;gap:14px}.section,.about{padding-top:80px;padding-bottom:80px}footer{display:block}}

/* Playful portfolio layer */
body{background-color:var(--cream);background-image:radial-gradient(#d6c0e8 1.1px,transparent 1.1px);background-size:22px 22px}.hero{position:relative;overflow:hidden;border-radius:0 0 72px 18px;box-shadow:0 14px 0 #ac7ee3}.hero:before,.hero:after{content:"";position:absolute;border:2px solid var(--lime);opacity:.6}.hero:before{width:210px;height:210px;border-radius:44% 56% 63% 37%;right:7%;top:18%;transform:rotate(18deg)}.hero:after{width:85px;height:85px;border-radius:50%;right:22%;bottom:9%;border-style:dashed}.hero-copy{position:relative;z-index:1;transform:rotate(-.6deg)}nav{position:relative;z-index:2}.brand{background:var(--lime);color:var(--ink);padding:7px 13px;border-radius:7px;box-shadow:4px 4px 0 #8054b1;transform:rotate(-2deg)}h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.055em}.side-note{display:table;max-width:640px;margin:-17px 0 34px;padding:8px 13px;background:#fff0a8;color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-style:italic;box-shadow:5px 5px 0 #8054b1;transform:rotate(1.2deg)}.button{border:2px solid var(--ink);box-shadow:6px 6px 0 #8054b1;transition:transform .15s,box-shadow .15s}.button:hover,.button:focus-visible{transform:translate(3px,3px);box-shadow:3px 3px 0 #8054b1}.section-tag{display:inline-block;padding:5px 10px;background:#fff0a8;color:var(--ink);border:1px solid var(--ink);transform:rotate(-1.5deg);box-shadow:3px 3px 0 #c8a4ff}.section h2,.about h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}.grid{gap:25px}.card{border:2px solid var(--ink);box-shadow:8px 8px 0 #c8a4ff;transition:transform .18s}.card:nth-child(odd){transform:rotate(-1deg)}.card:nth-child(even){transform:rotate(1.2deg)}.card:hover{transform:rotate(0) translateY(-5px)}.card span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--lime);color:var(--ink);border:1px solid var(--ink)}.about{background:rgba(247,242,250,.88);border:2px solid var(--ink);border-radius:32px;box-shadow:10px 10px 0 #c8a4ff;transform:rotate(.35deg);margin-top:80px;margin-bottom:80px}.skill-groups{border:2px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 #c8a4ff;transform:rotate(-.3deg)}.skill-groups div:nth-child(2),.skill-groups div:nth-child(3){background:#f3e8fb}.role{border-bottom:2px dashed #b89aca}.role-meta{font-family:Georgia,"Times New Roman",serif;font-style:italic}.company{display:inline-block;background:var(--lime);color:var(--ink);padding:3px 8px;transform:rotate(-1deg)}.education{border:2px solid var(--ink);border-radius:47px 18px 52px 22px;box-shadow:10px 10px 0 #ac7ee3;transform:rotate(.5deg)}@media(max-width:760px){.hero:before{right:-100px}.hero-copy{transform:none}.side-note{transform:rotate(.5deg)}.card:nth-child(n),.about,.skill-groups,.education{transform:none}.about{margin-left:3vw;margin-right:3vw}.grid{gap:28px}}
