:root{color-scheme:light;--bg:#f6f1e8;--bg-strong:#ece4d6;--surface:rgba(255,252,246,0.76);--surface-strong:rgba(255,249,241,0.96);--surface-ink:#f1e8da;--text:#1f1b17;--muted:#655d54;--line:rgba(31,27,23,0.12);--accent:#0e6b62;--accent-soft:#cfe0db;--accent-strong:#114841;--shadow:0 20px 60px rgba(61,46,26,0.1);--radius-xl:34px;--radius-lg:24px;--radius-md:18px;--max-width:1180px;--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;--sans:"Avenir Next","Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(17,72,65,.13),transparent 30%),radial-gradient(circle at 90% 10%,rgba(182,133,78,.15),transparent 25%),linear-gradient(180deg,#faf6ef 0,var(--bg) 46%,var(--bg-strong) 100%);color:var(--text);font-family:var(--sans)}::selection{background:rgba(17,72,65,.15)}a{color:inherit;text-decoration:none}p,ul{margin-top:0}.legacyShell,.shell{width:min(calc(100% - 2rem),var(--max-width));margin:0 auto}.shell{padding:1.25rem 0 4.5rem}.reveal{opacity:0;transform:translateY(34px);transition:opacity .72s ease,transform .72s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);will-change:opacity,transform}.reveal-visible{opacity:1;transform:translateY(0)}.aboutNarrative,.aboutPanel,.contactBand,.experienceItem,.legacyFrameWrap,.legacyHeader,.projectCard,.skillsRail,.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.topbar{position:-webkit-sticky;position:sticky;top:1rem;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:999px}.brand,.hero h1,.legacyHeader h1,.section h2{font-family:var(--serif)}.brand{font-size:1.05rem;font-weight:700;letter-spacing:.04em}.nav{display:flex;justify-content:flex-end;gap:1rem;flex-wrap:wrap;min-width:0}.mobileNav,.nav{align-items:center}.mobileNav{display:none;gap:.7rem}.mobileIconLink{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid var(--line);background:rgba(255,249,241,.88);color:var(--accent-strong);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}.mobileIconLink svg{width:1.05rem;height:1.05rem}.mobileIconLink:hover{transform:translateY(-2px);border-color:rgba(17,72,65,.22);background:linear-gradient(135deg,var(--accent) 0,#15554c 100%);color:#fff;box-shadow:0 14px 30px rgba(17,72,65,.2)}.nav a{color:var(--muted);font-size:.96rem;position:relative;padding-bottom:.18rem;background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-size:0 1px;background-position:0 100%;transition:color .18s ease,background-size .22s ease}.nav a:hover{color:var(--accent-strong);background-size:100% 1px}.nav .legacyLink{padding-bottom:.9rem;background-image:none}.nav .legacyLink,.nav .legacyLink:hover{background-size:auto}.contactChip,.legacyLink,.primaryAction,.secondaryAction{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.9rem 1.2rem;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}.contactChip:after,.legacyLink:after,.primaryAction:after,.secondaryAction:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.08) 35%,rgba(255,255,255,.34) 50%,transparent 65%);transform:translateX(-140%);transition:transform .52s ease;pointer-events:none}.contactChip,.legacyLink,.secondaryAction{border:1px solid var(--line);background:rgba(255,249,241,.84)}.primaryAction,.strongChip{color:#fff;background:linear-gradient(135deg,var(--accent) 0,#15554c 100%);box-shadow:0 16px 36px rgba(17,72,65,.22)}.contactChip:hover,.experienceItem:hover,.legacyLink:hover,.primaryAction:hover,.projectCard:hover,.secondaryAction:hover{transform:translateY(-2px)}.contactChip:hover:after,.legacyLink:hover:after,.primaryAction:hover:after,.secondaryAction:hover:after{transform:translateX(140%)}.primaryAction:hover{box-shadow:0 20px 42px rgba(17,72,65,.28)}.contactChip:hover,.legacyLink:hover,.secondaryAction:hover{border-color:rgba(17,72,65,.22);color:var(--accent-strong)}.profileHero{margin-top:1.5rem;padding:2.75rem 2rem 2.25rem;border-radius:var(--radius-xl);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.profileHero:before{content:"";position:absolute;inset:auto auto -25% 50%;transform:translateX(-50%);width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(17,72,65,.12),transparent 68%);pointer-events:none}.profileAvatar{position:relative;z-index:1;width:152px;height:152px;object-fit:cover;border-radius:50%;border:5px solid rgba(255,249,241,.95);box-shadow:0 18px 45px rgba(61,46,26,.14)}.profileIntro{position:relative;z-index:1;max-width:760px}.legacyHeader h1,.profileName,.section h2{margin:0;line-height:1.02;letter-spacing:-.035em}.profileName{font-size:clamp(2.5rem,5vw,4.25rem)}.profileTagline{margin:.65rem auto 0;max-width:18ch;font-family:var(--serif);font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.15;color:var(--text)}.profileSummary{max-width:640px;margin:1rem auto 0}.profileSummary a,.projectLink{position:relative;color:var(--accent-strong);background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-size:0 100%;background-position:0 100%;padding:0 .16rem;margin:0 -.16rem;border-radius:.18rem;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:color .18s ease,background-size .22s ease,background-position .22s ease}.profileSummary a:hover,.projectLink:hover{color:#fff;background-size:100% 100%;background-position:0 100%}.aboutNarrative p,.experienceItem p,.heroPanelFooter p,.lede,.legacyHeader p,.sectionIntro{color:var(--muted);line-height:1.72}.eyebrow,.metaLabel,.panelTitle,.projectTag{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;color:var(--accent-strong)}.eyebrowSwap{position:relative;display:inline-grid;min-height:1.2em;place-items:center}.eyebrowPhrase{grid-area:1/1;white-space:nowrap;animation-duration:8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;will-change:opacity,transform}.eyebrowPrimary{animation-name:eyebrow-primary-swap}.eyebrowSecondary{animation-name:eyebrow-secondary-swap}.contactLinks,.heroActions,.legacyActions{display:flex;flex-wrap:wrap;gap:1rem}.compactActions{justify-content:center;margin-top:1.5rem}.mobileOnlyAction{display:none}.featureList{margin:1rem 0 0;padding-left:1.1rem;color:var(--muted);line-height:1.8}.heroPanelFooter{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid rgba(17,72,65,.12)}.projectLink{font-weight:600}.section{padding-top:4.5rem}.skillsSection{padding-top:1.5rem}.skillsHeading{margin-bottom:.95rem}.skillsRail{position:relative;overflow:hidden;border-radius:999px;padding:.9rem 0}.skillsRail:after,.skillsRail:before{content:"";position:absolute;top:0;bottom:0;width:72px;z-index:1;pointer-events:none}.skillsRail:before{left:0;background:linear-gradient(90deg,rgba(246,241,232,.96),transparent)}.skillsRail:after{right:0;background:linear-gradient(270deg,rgba(246,241,232,.96),transparent)}.skillsTrack{display:flex;align-items:center;gap:.9rem;width:max-content;animation:skill-roll 58s linear infinite}.skillBadge{display:inline-flex;align-items:center;justify-content:center;width:86px;height:86px;perspective:900px;flex:0 0 auto}.skillBadgeInner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.22,1,.36,1)}.skillBadge:hover .skillBadgeInner{transform:rotateY(180deg)}.skillBadgeFace{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:22px;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:1px solid rgba(17,72,65,.12);background:rgba(255,249,241,.96);box-shadow:0 12px 28px rgba(61,46,26,.08)}.skillBadgeBack{transform:rotateY(180deg);color:var(--accent-strong);font-size:.88rem;font-weight:700;text-align:center;padding:.75rem}.skillLogo{width:38px;height:38px;object-fit:contain}.sectionHeading{display:grid;grid-gap:.55rem;gap:.55rem;margin-bottom:1.6rem;max-width:760px}.section h2{font-size:clamp(1.45rem,2.8vw,2.35rem)}.experienceList,.projectGrid{display:grid;grid-gap:1.25rem;gap:1.25rem}.projectGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.projectCard{min-height:260px;padding:1.5rem;border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,255,255,.32),transparent 40%),var(--surface-strong)}.projectCardTop{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.projectArrow{color:rgba(17,72,65,.48);font-size:.9rem;letter-spacing:.18em}.projectCard h3,.trackCard h3{margin:0 0 .85rem;font-size:1.28rem}.projectCard p{color:var(--muted);line-height:1.72}.projectList{list-style:none;padding:0;margin:1.25rem 0 1.5rem;display:flex;flex-wrap:wrap;gap:.6rem}.projectList li{padding:.45rem .75rem;border-radius:999px;background:var(--surface-ink);color:var(--accent-strong);font-size:.88rem}.siteFooter{padding:2.2rem 0 .6rem;text-align:center;color:var(--muted);font-size:.94rem}.siteFooter p{margin:.2rem 0}.hyperlinked_text{text-decoration:underline}.hyperlinked_text:hover{color:rgb(7,82,129)}.aboutNarrative,.aboutPanel,.contactBand,.experienceItem{border-radius:var(--radius-lg);padding:1.5rem}.experienceList{gap:1rem}.experienceItem{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(17,72,65,.05),rgba(255,249,241,.9)),var(--surface-strong)}.experienceItem:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#e6a14b,#f2ba73)}.experienceItem h3{margin:0 0 .45rem;padding-left:.75rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.experienceMeta{padding-left:.75rem;margin-bottom:1.35rem;color:rgba(31,27,23,.64);font-size:clamp(1rem,2vw,1.2rem)}.experienceBullets{margin:0;padding-left:2rem;color:var(--text)}.experienceBullets li{margin-bottom:.9rem;line-height:1.65;font-size:clamp(1rem,1.8vw,1.15rem)}.experienceBullets li:last-child{margin-bottom:0}.aboutLayout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);grid-gap:1.25rem;gap:1.25rem}.aboutLead{font-size:1.14rem;color:var(--text)}.compactList{margin-bottom:0}.contactSection{padding-bottom:2rem}.contactBand{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.9fr);grid-gap:1.5rem;gap:1.5rem;align-items:center}.contactLinks{justify-content:flex-end}.legacyShell{padding:2rem 0 3rem}.legacyHeader{border-radius:var(--radius-xl);padding:1.5rem;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;margin-bottom:1.25rem}.legacyFrameWrap{overflow:hidden;border-radius:var(--radius-xl);min-height:78vh}.legacyFrame{width:100%;height:78vh;border:0;background:white}@media (max-width:980px){.aboutLayout,.contactBand,.projectGrid{grid-template-columns:1fr}.projectGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.contactLinks{justify-content:flex-start}}@media (max-width:920px){.legacyHeader,.topbar{border-radius:24px}.legacyHeader{flex-direction:column;align-items:flex-start}}@media (max-width:720px){.section{padding-top:3.25rem}.profileHero{margin-top:1rem;padding:2rem 1.25rem 1.5rem}.profileAvatar{width:124px;height:124px}.profileSummary{max-width:100%;font-size:.98rem;line-height:1.65}.sectionHeading{gap:.4rem;margin-bottom:1.1rem}.section h2{font-size:clamp(1.3rem,6vw,1.8rem);line-height:1.08}.projectGrid{grid-template-columns:1fr;gap:1rem}.projectCardTop{margin-bottom:1.3rem}.projectCard h3{font-size:1.18rem}.projectCard p{font-size:.96rem;line-height:1.62}.projectList{margin:1rem 0 1.2rem}.experienceItem h3{font-size:clamp(1.2rem,5vw,1.5rem)}.experienceMeta{margin-bottom:1rem;font-size:.98rem}.experienceBullets{padding-left:1.5rem}.experienceBullets li{font-size:.96rem;line-height:1.55}.contactBand{gap:1rem}}@media (max-width:640px){.legacyShell,.shell{width:min(calc(100% - 1rem),var(--max-width))}.shell{padding-top:.65rem;padding-bottom:3rem}.aboutNarrative,.aboutPanel,.contactBand,.experienceItem,.legacyHeader,.profileHero,.projectCard,.topbar{padding:1rem}.topbar{flex-direction:row;align-items:center;justify-content:space-between}.contactLinks,.heroActions,.legacyActions,.nav,.topbar{gap:.75rem}.brand{font-size:1rem;flex:1 1 auto;min-width:0;white-space:nowrap}.nav{display:none}.mobileNav{display:flex;margin-left:auto;flex:0 0 auto;gap:.55rem}.contactChip,.primaryAction,.secondaryAction{width:100%}.desktopOnlyAction{display:none}.mobileOnlyAction{display:inline-flex}.profileName{font-size:clamp(2.2rem,11vw,3.25rem)}.profileTagline{font-size:clamp(1.1rem,5.2vw,1.45rem)}.eyebrow{font-size:.68rem;letter-spacing:.14em}.skillsSection{padding-top:1rem}.skillsHeading{margin-bottom:.75rem}.skillsRail{padding:.7rem 0}.skillBadge{width:74px;height:74px}.skillLogo{width:32px;height:32px}.skillBadgeBack{font-size:.78rem;padding:.55rem}.aboutNarrative,.aboutPanel,.contactBand,.experienceItem{border-radius:20px}.siteFooter{padding-top:1.6rem;font-size:.88rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-visible{opacity:1;transform:none;transition:none}.skillsTrack{animation:none}.skillBadge:hover .skillBadgeInner,.skillBadgeInner{transform:none;transition:none}.skillBadgeBack{display:none}.mobileIconLink:hover{transform:none}.eyebrowPhrase{animation:none}.eyebrowSecondary{display:none}}@keyframes skill-roll{0%{transform:translateX(0)}to{transform:translateX(calc(-50% - .45rem))}}@keyframes eyebrow-primary-swap{0%,40%{opacity:1;transform:translateY(0)}46%,54%{opacity:0;transform:translateY(-.25rem)}90%{opacity:0;transform:translateY(.25rem)}96%,to{opacity:1;transform:translateY(0)}}@keyframes eyebrow-secondary-swap{0%,44%{opacity:0;transform:translateY(.25rem)}50%,90%{opacity:1;transform:translateY(0)}96%,to{opacity:0;transform:translateY(-.25rem)}}