@import"https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@500;600;700&display=swap";:root{--color-page: #d9d0c1;--color-paper: #f8f4ec;--color-paper-warm: #efe8da;--color-paper-deep: #e6dccb;--color-ink: #1f1a14;--color-ink-soft: #493f35;--color-ink-muted: #716458;--color-accent: #6f3b2e;--color-accent-deep: #4f2a20;--color-border: #c3b299;--color-border-light: #dfd4c3;--font-hand: "Caveat", cursive;--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans: "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--max-width: 980px;--header-height: 66px;--shadow-soft: 0 18px 45px rgba(47, 35, 22, .12);--shadow-card: 0 14px 28px rgba(47, 35, 22, .08)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-serif);font-size:18px;line-height:1.65;color:var(--color-ink);background:radial-gradient(circle at 15% 10%,rgba(248,244,236,.65),transparent 28%),radial-gradient(circle at 85% 30%,rgba(111,59,46,.08),transparent 24%),linear-gradient(145deg,#e5ddcf 0%,var(--color-page) 45%,#cec1ad 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-accent-deep)}button{font-family:inherit;cursor:pointer;border:none;background:none}ul{margin:0;padding:0;list-style:none}.page{min-height:100vh;padding:1.35rem 1rem 3rem}.folio{max-width:var(--max-width);margin:calc(var(--header-height) + .75rem) auto 0;background:var(--color-paper);border:1px solid rgba(195,178,153,.9);box-shadow:0 1px #ffffffbf inset,var(--shadow-soft)}main{padding:0}.loading{min-height:100vh;display:grid;place-items:center;padding:2rem;font-size:1.15rem;font-style:italic;color:var(--color-ink-muted);text-align:center}.header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-height);background:#f8f4ece6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(195,178,153,.82)}.header__inner{max-width:var(--max-width);margin:0 auto;padding:0 1.75rem;height:100%;display:flex;align-items:center;justify-content:space-between}.header__logo{flex-shrink:0;font-family:var(--font-hand);font-size:1.65rem;font-weight:700;color:var(--color-accent-deep);letter-spacing:.02em;white-space:nowrap;line-height:1}.header__nav ul{display:flex;gap:.25rem}.header__nav button{position:relative;padding:.45rem .72rem;font-size:.87rem;font-weight:700;color:var(--color-ink-muted);letter-spacing:.08em;text-transform:uppercase;transition:color .2s ease}.header__nav button:after{content:"";position:absolute;left:.72rem;right:.72rem;bottom:.22rem;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.header__nav button:hover{color:var(--color-accent-deep)}.header__nav button:hover:after{transform:scaleX(1)}.header__toggle{display:none;flex-direction:column;gap:5px;padding:.5rem}.header__toggle span{display:block;width:22px;height:2px;background:var(--color-ink);border-radius:1px}.hero{padding:4rem 3.25rem 3.35rem;border-bottom:1px solid var(--color-border-light);background:linear-gradient(120deg,#efe8daf0,#f8f4ecf7),radial-gradient(circle at top right,rgba(111,59,46,.08),transparent 45%)}.hero__layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,.75fr);gap:3.25rem;align-items:center}.hero__greeting{margin:0 0 .2rem;font-size:1rem;font-style:italic;color:var(--color-ink-muted)}.hero__name{margin:0;font-family:var(--font-hand);font-size:clamp(3.8rem,8vw,5.6rem);font-weight:700;line-height:.88;color:var(--color-accent-deep);letter-spacing:.01em}.hero__title{margin:.8rem 0 0;font-size:1.25rem;font-weight:700;color:var(--color-ink);letter-spacing:.075em;text-transform:uppercase}.hero__focus{margin:.55rem 0 0;font-size:1rem;font-weight:600;color:var(--color-accent);letter-spacing:.02em}.hero__rule{width:5.2rem;height:2px;margin:1.45rem 0 1.15rem;background:var(--color-accent)}.hero__location{margin:0 0 .7rem;font-size:1rem;color:var(--color-ink-muted)}.hero__tagline{margin:0 0 1.3rem;max-width:35rem;font-size:1.14rem;line-height:1.72;color:var(--color-ink-soft)}.hero__contact{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.7rem;font-size:.98rem}.hero__contact a{font-weight:700}.hero__contact a[href^="tel:"]{font-family:var(--font-sans);font-size:.9em;font-variant-numeric:lining-nums tabular-nums}.hero__contact-dot{color:var(--color-border)}.hero__actions{display:flex;flex-wrap:wrap;gap:.7rem}.hero__portrait{display:flex;justify-content:flex-end}.portrait-frame{margin:0;text-align:center}.portrait-frame__photo{display:block;width:100%;max-width:250px;aspect-ratio:4 / 5;object-fit:cover;object-position:center top;padding:.42rem;background:var(--color-paper);border:1px solid var(--color-border);outline:2px solid rgba(111,59,46,.5);outline-offset:5px;box-shadow:0 18px 36px #2f231629}.portrait-frame__caption{margin-top:1rem;font-family:var(--font-serif);font-size:.82rem;font-weight:700;color:var(--color-ink-muted);letter-spacing:.12em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;padding:.62rem 1.15rem;font-size:.88rem;font-weight:700;letter-spacing:.065em;text-transform:uppercase;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px)}.btn--primary{color:var(--color-paper);background:var(--color-accent);border:1px solid var(--color-accent-deep);box-shadow:0 8px 18px #4f2a201f}.btn--primary:hover{color:var(--color-paper);background:var(--color-accent-deep);box-shadow:0 12px 22px #4f2a2029}.btn--ghost{color:var(--color-ink-soft);border:1px solid var(--color-border);background:#f8f4ec99}.btn--ghost:hover{color:var(--color-accent-deep);border-color:var(--color-accent);background:var(--color-paper)}.section{padding:3.7rem 3.25rem;border-bottom:1px solid var(--color-border-light)}.section__header{margin-bottom:2rem}.section__title{margin:0;font-family:var(--font-serif);font-size:clamp(2rem,5vw,2.65rem);font-weight:700;color:var(--color-accent-deep);line-height:1;letter-spacing:.015em}.section__rule{width:100%;height:1px;margin:.95rem 0 .68rem;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-border) 34%,transparent 100%)}.section__subtitle{margin:0;font-size:1rem;font-style:italic;color:var(--color-ink-muted)}.about__text{margin:0 0 1.55rem;max-width:52rem;font-size:1.13rem;line-height:1.82;color:var(--color-ink-soft)}.about__badges{display:flex;flex-wrap:wrap;gap:.55rem}.badge{padding:.34rem .8rem;font-size:.82rem;font-weight:700;color:var(--color-accent-deep);background:var(--color-paper-warm);border:1px solid var(--color-border);letter-spacing:.04em;text-transform:uppercase}.card{padding:1.45rem 0;border-bottom:1px dashed var(--color-border-light)}.card:last-child{border-bottom:none}.card--timeline{display:grid;grid-template-columns:150px 1fr;gap:1.6rem}.card--skill{padding:1.35rem;border:1px solid var(--color-border-light);background:linear-gradient(145deg,#efe8dabd,#f8f4eceb);box-shadow:0 0 #2f231600;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.card--skill:hover{transform:translateY(-3px);border-color:var(--color-border);box-shadow:var(--shadow-card)}.card__meta time{display:block;font-family:var(--font-sans);font-size:.82rem;font-weight:600;font-style:normal;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.01em;color:var(--color-accent)}.card__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700;color:var(--color-ink)}.card__title a{color:var(--color-ink);border-bottom:1px solid var(--color-border)}.card__title a:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}.card__subtitle{margin:0 0 .9rem;font-size:1rem;font-style:italic;color:var(--color-ink-muted)}.card__text{margin:0;font-size:1.04rem;line-height:1.75;color:var(--color-ink-soft)}.card__list{margin:0;padding:0}.card__list li{position:relative;padding-left:1.15rem;margin-bottom:.7rem;font-size:1.03rem;line-height:1.68;color:var(--color-ink-soft)}.card__list li:before{content:"—";position:absolute;left:0;color:var(--color-accent);font-weight:700}.card__list li:last-child{margin-bottom:0}.timeline{display:flex;flex-direction:column}.experience-list{gap:1.1rem}.card--experience{position:relative;padding:1.65rem 1.55rem;border:1px solid var(--color-border-light);background:#ffffff2e;box-shadow:0 0 #2f231600;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card--experience:hover{transform:translateY(-3px);border-color:var(--color-border);box-shadow:var(--shadow-card)}.domain-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.85rem}.domain-tags span{padding:.24rem .48rem;font-size:.68rem;font-weight:700;color:var(--color-ink-muted);background:var(--color-paper-warm);border:1px solid var(--color-border-light);letter-spacing:.07em;text-transform:uppercase}.impact-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem}.impact-chips span{padding:.3rem .62rem;font-family:var(--font-sans);font-size:.77rem;font-weight:600;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em;color:var(--color-accent-deep);background:#6f3b2e14;border-left:2px solid var(--color-accent)}.metric-number{font-family:var(--font-sans);font-size:.9em;font-weight:700;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.015em;color:var(--color-accent-deep)}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.card--skill .card__title{margin-bottom:.9rem;font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--color-accent-deep)}.skill-tags{display:flex;flex-wrap:wrap;gap:.45rem}.skill-tags li{padding:.28rem .58rem;font-size:.88rem;color:var(--color-ink-soft);border:1px solid transparent;border-bottom-color:var(--color-border-light)}.skill-tags .skill-tags__item--core{font-weight:700;color:var(--color-accent-deep);background:#6f3b2e13;border-color:#6f3b2e29}.footer{padding:3rem 3.25rem 2.25rem;background:var(--color-paper-warm);border-top:1px solid var(--color-border)}.footer__title{margin:0 0 .55rem;font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--color-accent-deep)}.footer__text{margin:0 0 1.5rem;max-width:36rem;font-size:1.08rem;font-style:italic;color:var(--color-ink-muted)}.footer__links{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;margin-bottom:2rem}.footer__links a{font-size:1rem;font-weight:700;border-bottom:1px solid var(--color-border)}.footer__copy{margin:0;padding-top:1.5rem;border-top:1px solid var(--color-border-light);font-size:.9rem;font-style:italic;color:var(--color-ink-muted);text-align:center}@media (max-width: 900px){.header__logo{font-size:1.45rem}.header__toggle{display:flex}.header__nav{position:fixed;top:var(--header-height);left:0;right:0;background:var(--color-paper);border-bottom:1px solid var(--color-border);padding:1rem 1.25rem 1.25rem;transform:translateY(-110%);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease}.header__nav--open{transform:translateY(0);opacity:1;pointer-events:auto}.header__nav ul{flex-direction:column;gap:.15rem}.header__nav button{width:100%;text-align:left;padding:.65rem .25rem}.header__nav button:after{display:none}}@media (max-width: 820px){.hero{padding:3rem 2.2rem}.hero__layout{grid-template-columns:1fr;gap:2.5rem}.hero__portrait{justify-content:flex-start}.portrait-frame__photo{max-width:220px}.section{padding:3.15rem 2.2rem}.skills-grid{grid-template-columns:1fr}.card--timeline{grid-template-columns:1fr;gap:.65rem}.domain-tags{margin-top:.55rem}}@media (max-width: 640px){body{font-size:17px}.page{padding:.6rem .45rem 1.5rem}.folio{margin-top:var(--header-height)}.hero,.section,.footer{padding-left:1.3rem;padding-right:1.3rem}.hero{padding-top:2.6rem}.header__inner{padding:0 1.15rem}.header__logo{font-size:1.25rem}.hero__name{font-size:clamp(3.4rem,18vw,4.6rem)}.hero__title{font-size:1.05rem}.hero__focus{font-size:.92rem}.hero__portrait{justify-content:center}.portrait-frame__photo{max-width:190px}.hero__contact-dot{display:none}.hero__contact{flex-direction:column;align-items:flex-start;gap:.25rem}.card--experience{padding:1.35rem 1.15rem}.impact-chips{gap:.35rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
