:root{--ink:#101a1c;--ink-soft:#172426;--paper:#f3f0e8;--paper-2:#e9e5da;--white:#fffdf7;--gold:#d6a94c;--gold-light:#eccb7b;--muted:#a5b0ac;--line:rgba(255,255,255,.14);--dark-line:rgba(16,26,28,.17);--mono:"DM Mono",monospace;--sans:"Manrope",sans-serif;--serif:"Playfair Display",Georgia,serif;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--white);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:40;background:transparent}.scroll-progress span{display:block;width:0;height:100%;background:var(--gold);transform-origin:left}.site-header{height:88px;max-width:var(--max);padding:0 34px;margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.wordmark{display:flex;align-items:center;gap:12px}.wordmark-mark,.footer-mark{font-family:var(--serif);font-size:38px;line-height:1;color:var(--gold)}.wordmark-mark span,.footer-mark span{color:var(--white)}.wordmark-name{font:500 9px/1.35 var(--mono);letter-spacing:.1em;color:#d8ddd7}.site-nav{display:flex;align-items:center;gap:36px}.site-nav>a:not(.nav-resume){font-size:11px;color:#cad0ca;transition:color .2s}.site-nav>a:not(.nav-resume):hover{color:var(--gold-light)}.nav-resume{font:500 10px var(--mono);letter-spacing:.04em;border:1px solid rgba(214,169,76,.55);color:var(--gold-light);padding:11px 15px;transition:background .2s,color .2s}.nav-resume:hover{background:var(--gold);color:var(--ink)}.nav-resume span{margin-left:9px}.menu-toggle{display:none}.section-shell{max-width:var(--max);padding-left:34px;padding-right:34px;margin-inline:auto}.hero{min-height:680px;height:min(790px,calc(100svh - 88px));display:grid;grid-template-columns:1fr .83fr;align-items:center;position:relative;padding-bottom:72px;overflow:hidden}.hero:before{content:"";position:absolute;inset:0 50% 0 0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,#000,transparent)}.hero-copy{position:relative;z-index:2;padding:30px 0 0 3.6%;max-width:680px}.eyebrow,.section-label,.visual-index,.portrait-caption,.scroll-cue,.proof-label,.project-index,.project-caption,.video-topline,.video-bottomline,.contact-card-label,.contact-download,.site-footer,.education-year,.language-label,.role-kicker,.timeline-date,.role-skills,.current-pill{font-family:var(--mono);letter-spacing:.08em}.eyebrow{display:flex;align-items:center;gap:11px;color:#bbc4bd;font-size:9px;letter-spacing:.14em}.status-dot,.current-pill i,.video-topline i{width:7px;height:7px;display:inline-block;border-radius:50%;background:#93c09b;box-shadow:0 0 0 4px rgba(147,192,155,.11)}.eyebrow-divider{color:var(--gold)}h1{font-size:clamp(72px,10vw,142px);line-height:.91;letter-spacing:-.085em;font-weight:600;margin:32px 0 30px}h1 em,.section-title em,.contact h2 em{font-family:var(--serif);font-weight:500;color:var(--gold-light);letter-spacing:-.06em}.hero-intro{max-width:420px;color:#bac4bd;font-size:14px;line-height:1.9}.hero-intro strong{color:var(--white);font-weight:700}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:32px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:0 18px;font:500 10px var(--mono);letter-spacing:.025em;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--gold);color:var(--ink)}.button-primary:hover{background:var(--gold-light)}.button-primary span,.button-light span{font-size:16px}.text-link{font:10px var(--mono);color:#e2e5df;border-bottom:1px solid rgba(255,255,255,.35);padding:8px 0}.text-link span{color:var(--gold);margin-left:8px}.hero-proof{display:flex;align-items:center;gap:11px;margin-top:54px;color:#bac4bd}.proof-number{font:500 25px/1 var(--serif);color:var(--white);letter-spacing:-.05em}.proof-number span{color:var(--gold)}.proof-label{font-size:8px;line-height:1.6;color:#aab5ae;letter-spacing:.04em}.proof-rule{height:34px;width:1px;background:rgba(255,255,255,.24);margin:0 8px}.hero-visual{height:100%;min-height:540px;position:relative;display:flex;align-items:center;justify-content:center}.visual-index{position:absolute;top:64px;right:3px;left:55px;display:flex;justify-content:space-between;color:#84908a;font-size:8px;letter-spacing:.12em}.portrait-frame{width:min(83%,420px);aspect-ratio:.76;position:relative;z-index:1;background:#314043;overflow:hidden;box-shadow:26px 26px 0 -16px var(--gold),-26px -26px 0 -18px rgba(214,169,76,.4)}.portrait-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 64%,rgba(9,17,18,.36))}.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 37%;filter:saturate(.79) contrast(1.04)}.portrait-corner{position:absolute;width:24px;height:24px;border-color:var(--gold-light);z-index:2}.portrait-corner-tl{top:12px;left:12px;border-top:1px solid;border-left:1px solid}.portrait-corner-br{right:12px;bottom:12px;border-right:1px solid;border-bottom:1px solid}.portrait-caption{position:absolute;bottom:69px;left:13%;right:4%;z-index:2;display:flex;align-items:center;gap:10px;font-size:8px;color:#d5d9d1}.caption-line{display:block;width:22px;height:1px;background:var(--gold)}.caption-location{margin-left:auto;color:#aab5ae;font-size:7px}.hero-stamp{position:absolute;z-index:4;right:0;bottom:127px;width:84px;height:84px;display:grid;place-items:center;border:1px solid rgba(214,169,76,.7);border-radius:50%;background:var(--ink);transform:rotate(12deg);text-align:center;color:var(--gold-light);font:8px/1.5 var(--mono);letter-spacing:.1em}.hero-stamp b{position:absolute;top:-14px;right:6px;font-size:18px;font-weight:400;color:var(--gold)}.scroll-cue{position:absolute;left:34px;bottom:30px;display:flex;align-items:center;gap:13px;color:#89958f;font-size:8px;letter-spacing:.14em}.scroll-cue-line{height:34px;width:1px;background:var(--gold)}.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;background:#131f20}.ticker-track{width:max-content;display:flex;align-items:center;gap:35px;animation:marquee 38s linear infinite}.ticker-track span{font:9px var(--mono);letter-spacing:.14em;color:#d4d9d1;white-space:nowrap}.ticker-track i{font-style:normal;color:var(--gold);font-size:13px}@keyframes marquee{to{transform:translateX(-50%)}}.section-pad{padding-top:120px;padding-bottom:120px}.section-label{display:flex;align-items:center;gap:18px;color:#8e9b94;font-size:8px;letter-spacing:.13em}.section-label>span:last-child:not(:first-child){white-space:nowrap}.label-rule{height:1px;background:var(--line);flex:1}.story{background:var(--paper);color:var(--ink);max-width:none;padding-left:max(34px,calc((100vw - var(--max))/2 + 34px));padding-right:max(34px,calc((100vw - var(--max))/2 + 34px))}.story .section-label,.capabilities .section-label,.education .section-label{color:#737d75}.story .label-rule,.capabilities .label-rule,.education .label-rule{background:var(--dark-line)}.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:76px}.section-title{font-size:clamp(48px,7vw,90px);line-height:.99;letter-spacing:-.075em;font-weight:600;margin:0}.story .section-title em,.capabilities .section-title em,.education .section-title em{color:#ad7820}.story-body{max-width:510px;padding-top:9px}.story-lead{font:500 clamp(20px,2.3vw,28px)/1.45 var(--serif);letter-spacing:-.02em;margin:0 0 20px}.story-body>p:not(.story-lead){color:#53605b;font-size:13px;line-height:2}.story-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:27px}.story-tags span{border:1px solid rgba(16,26,28,.2);padding:8px 10px;font:8px var(--mono);letter-spacing:.08em}.experience{background:var(--ink-soft)}.experience-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:75px 0 54px}.experience-heading>p{max-width:290px;color:#9eaaa3;font-size:12px;line-height:1.9;margin:0 0 7px}.timeline{position:relative;margin-left:16px}.timeline:before{content:"";position:absolute;top:5px;bottom:0;left:0;width:1px;background:rgba(214,169,76,.46)}.timeline-item{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr);gap:40px;padding:0 0 66px 45px}.timeline-marker{position:absolute;top:4px;left:-5px;width:11px;height:11px;border:1px solid var(--gold);background:var(--ink-soft);border-radius:50%;display:grid;place-items:center}.timeline-marker span{width:3px;height:3px;border-radius:50%;background:var(--gold)}.timeline-date{font-size:9px;color:#b7c0b9;padding-top:3px;display:flex;flex-direction:column;gap:14px}.current-pill{font-size:7px;color:var(--gold-light);display:flex;align-items:center;gap:8px}.current-pill i{width:5px;height:5px;background:var(--gold)}.role-kicker{font-size:8px;color:var(--gold-light);margin:0 0 10px}.role-kicker span{padding:0 5px;color:#89958f}.timeline-content h3{font-size:26px;line-height:1.2;letter-spacing:-.045em;margin:0 0 5px;font-weight:600}.role-org{font-size:11px;color:#aeb9b1;margin:0 0 19px}.timeline-content ul{list-style:none;margin:0;padding:0;max-width:690px}.timeline-content li{position:relative;padding-left:17px;margin:7px 0;color:#c0c9c2;font-size:11px;line-height:1.8}.timeline-content li:before{content:"";position:absolute;top:.75em;left:0;width:5px;height:1px;background:var(--gold)}.role-skills{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.role-skills span{font-size:7px;color:#aab4ac;padding:6px 8px;border:1px solid rgba(255,255,255,.15)}.capabilities{background:var(--paper);color:var(--ink)}.capabilities-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:7%;padding-top:75px}.capability-grid{border-top:1px solid var(--dark-line)}.capability{display:grid;grid-template-columns:42px 1fr 24px;gap:15px;align-items:start;padding:22px 0;border-bottom:1px solid var(--dark-line)}.capability-no{font:9px var(--mono);color:#ad7820;padding-top:6px}.capability h3{font-size:17px;letter-spacing:-.035em;margin:0 0 5px}.capability p{font-size:11px;line-height:1.8;color:#5a655f;margin:0;max-width:430px}.capability-icon{color:#ad7820;font-size:17px;transition:transform .2s}.capability:hover .capability-icon{transform:translate(3px,-3px)}.project{background:#182426;position:relative;overflow:hidden}.project:after{content:"M";position:absolute;right:-.03em;bottom:-.38em;color:rgba(255,255,255,.018);font:700 min(55vw,700px)/1 var(--sans);pointer-events:none}.project-shell{position:relative;z-index:1}.project-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:8%;align-items:center;padding-top:75px}.project-index{font-size:8px;color:var(--gold-light);margin:0 0 22px}.project-copy .section-title{font-size:clamp(58px,8vw,102px)}.project-description{max-width:360px;color:#b4bfb8;font-size:13px;line-height:1.9;margin:24px 0}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:var(--gold-light)}.project-caption{font-size:7px;color:#82908a;margin-top:26px}.video-card{background:#10191a;border:1px solid rgba(255,255,255,.14);padding:12px;box-shadow:0 28px 75px rgba(0,0,0,.2)}.video-topline,.video-bottomline{display:flex;justify-content:space-between;align-items:center;color:#9ba69f;font-size:7px;letter-spacing:.1em;padding:7px 4px 12px}.video-topline span:first-child{display:flex;align-items:center;gap:8px}.video-topline i{width:5px;height:5px;background:var(--gold)}.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#070c0d}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-bottomline{padding:12px 4px 5px;color:#c0c8c1}.video-bottomline span:last-child{color:var(--gold-light)}.education{background:var(--paper);color:var(--ink)}.education-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:7%;padding-top:75px}.education-content{border-top:1px solid var(--dark-line)}.education-row{display:grid;grid-template-columns:75px 1fr 24px;gap:16px;align-items:start;border-bottom:1px solid var(--dark-line);padding:23px 0}.education-year{font-size:9px;color:#ad7820;padding-top:6px}.education-row h3{font-size:15px;margin:0 0 5px;letter-spacing:-.03em}.education-row p{font-size:10px;color:#69736d;margin:0}.education-arrow{color:#ad7820}.language-row{display:grid;grid-template-columns:75px 1fr;gap:16px;padding:26px 0 0}.language-label{font-size:8px;color:#737d75;padding-top:6px}.language-row div{display:flex;flex-wrap:wrap;gap:8px}.language-row div span{background:var(--paper-2);padding:8px 11px;font-size:10px}.contact{background:#0b1213}.contact-layout{display:grid;grid-template-columns:1fr .8fr;gap:12%;padding:78px 0 110px}.contact-copy .eyebrow{color:#9ba69f}.contact h2{font-size:clamp(54px,8vw,102px);line-height:.98;letter-spacing:-.075em;font-weight:600;margin:26px 0}.contact h2 em{color:var(--gold-light)}.contact-copy>p:not(.eyebrow){color:#aab5ae;font-size:12px;max-width:330px;line-height:1.9;margin:0 0 27px}.contact-card{align-self:center;border-top:1px solid var(--line)}.contact-card>a:not(.contact-download),.contact-card-location{position:relative;display:block;padding:17px 30px 17px 0;border-bottom:1px solid var(--line)}.contact-card-label{display:block;color:#85928a;font-size:7px;margin-bottom:6px}.contact-card-value{font-size:13px;color:#e3e7e0}.contact-card-arrow,.location-pin{position:absolute;right:0;top:27px;color:var(--gold);font-size:14px}.contact-download{display:flex;justify-content:space-between;color:var(--gold-light);font-size:8px;padding-top:20px}.site-footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:22px 0;color:#7f8b84;font-size:7px;letter-spacing:.08em}.footer-mark{font-size:28px;margin-right:auto}.site-footer>a:not(.footer-mark){color:#aab5ae}.footer-note{margin-left:auto}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.timeline-item:nth-child(2){transition-delay:.06s}.timeline-item:nth-child(3){transition-delay:.12s}.timeline-item:nth-child(4){transition-delay:.18s}
@media(max-width:900px){.site-header{height:76px;padding-inline:25px}.site-nav{gap:22px}.hero{height:auto;min-height:680px;grid-template-columns:1fr .76fr;padding-inline:25px}.hero-copy{padding-left:0}.hero-visual{min-height:480px}.portrait-frame{width:90%}.visual-index{left:20px;right:0}.hero-stamp{right:-8px;bottom:115px;width:72px;height:72px}.portrait-caption{left:8%;right:0}.section-shell{padding-left:25px;padding-right:25px}.story{padding-left:25px;padding-right:25px}.section-pad{padding-top:95px;padding-bottom:95px}.timeline-item{grid-template-columns:145px minmax(0,1fr);gap:24px}.project-layout{gap:5%}.contact-layout{gap:7%}}
@media(max-width:650px){html{scroll-padding-top:70px}.site-header{height:70px;padding-inline:20px}.wordmark-mark{font-size:34px}.menu-toggle{display:flex;width:38px;height:38px;padding:10px 7px;border:1px solid rgba(255,255,255,.18);background:transparent;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}.menu-toggle span{display:block;height:1px;background:var(--gold-light);width:100%;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:70px;left:0;right:0;padding:22px 20px 25px;background:#131f20;border-bottom:1px solid var(--line);align-items:stretch;gap:0;flex-direction:column}.site-nav.is-open{display:flex}.site-nav>a:not(.nav-resume){padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:12px}.nav-resume{margin-top:18px;text-align:center}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:auto;height:auto;padding:69px 20px 68px}.hero:before{inset:0 0 40%}.hero-copy{padding:0}.eyebrow{font-size:8px;letter-spacing:.1em}.hero h1{font-size:clamp(76px,20vw,118px);margin:28px 0 23px}.hero-intro{font-size:13px;max-width:390px}.hero-actions{gap:17px;margin-top:25px}.button{min-height:46px;padding-inline:14px;font-size:9px}.text-link{font-size:9px}.hero-proof{margin-top:35px;gap:9px}.proof-number{font-size:22px}.proof-label{font-size:7px}.proof-rule{margin-inline:5px}.hero-visual{margin-top:49px;min-height:430px;height:430px}.portrait-frame{width:min(78%,330px);height:100%;aspect-ratio:auto}.visual-index{top:-25px;left:0;right:0;font-size:7px}.portrait-caption{left:7%;right:5%;bottom:16px}.hero-stamp{right:4%;bottom:52px}.scroll-cue{left:20px;bottom:15px;font-size:7px}.ticker{padding:12px 0}.ticker-track{gap:25px}.ticker-track span{font-size:8px}.section-shell{padding-left:20px;padding-right:20px}.section-pad{padding-top:76px;padding-bottom:76px}.section-label{font-size:7px;gap:10px;letter-spacing:.1em}.section-label>span:last-child:not(:first-child){font-size:6px}.story{padding-left:20px;padding-right:20px}.story-layout,.capabilities-layout,.education-layout,.contact-layout{grid-template-columns:1fr;gap:32px;padding-top:48px}.section-title{font-size:clamp(55px,14vw,78px)}.story-body{padding-top:0}.story-lead{font-size:23px}.story-body>p:not(.story-lead){font-size:12px}.story-tags{margin-top:20px}.experience-heading{display:block;padding:48px 0 38px}.experience-heading>p{margin-top:18px;font-size:11px}.timeline{margin-left:5px}.timeline-item{display:block;padding:0 0 48px 28px}.timeline-date{flex-direction:row;align-items:center;gap:13px;margin-bottom:15px;font-size:8px}.timeline-content h3{font-size:23px}.role-kicker{font-size:7px}.role-org{font-size:10px}.timeline-content li{font-size:10px}.role-skills{margin-top:14px}.role-skills span{font-size:6px}.capabilities-layout,.education-layout{padding-top:48px}.capability-grid{margin-top:3px}.capability{grid-template-columns:28px 1fr 19px;gap:11px;padding:19px 0}.capability h3{font-size:15px}.capability p{font-size:10px}.project-layout{grid-template-columns:1fr;gap:38px;padding-top:48px}.project-copy .section-title{font-size:clamp(70px,17vw,95px)}.project-description{font-size:12px;margin:19px 0}.video-card{padding:8px}.video-topline,.video-bottomline{font-size:6px}.education-content{margin-top:0}.education-row{grid-template-columns:55px 1fr 20px;padding:19px 0}.education-row h3{font-size:13px}.education-row p{font-size:9px}.language-row{grid-template-columns:55px 1fr}.contact-layout{padding:48px 0 68px;gap:38px}.contact h2{font-size:clamp(65px,16vw,88px);margin:22px 0}.contact-copy>p:not(.eyebrow){font-size:11px}.contact-card-value{font-size:12px}.site-footer{flex-wrap:wrap;gap:12px;font-size:6px}.footer-mark{width:100%;margin-bottom:3px}.footer-note{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Readable labels and touch-friendly layouts across common screen sizes. */
.wordmark-name{font-size:10px}
.section-label,.visual-index,.portrait-caption,.scroll-cue,.proof-label,.project-index,.project-caption,.video-topline,.video-bottomline,.contact-card-label,.contact-download,.site-footer,.education-year,.language-label,.role-kicker,.timeline-date,.role-skills,.current-pill{font-size:clamp(8px,.68vw,10px)}
.caption-location{font-size:8px}
.project-caption,.site-footer{letter-spacing:.07em}
@media(max-width:900px){
  .project-layout{grid-template-columns:1fr;gap:46px}
  .project-copy{max-width:620px}
  .video-frame{min-height:240px}
}
@media(max-width:650px){
  .wordmark-name{font-size:9px}
  .eyebrow{font-size:9px}
  .section-label{font-size:8px;letter-spacing:.08em}
  .section-label>span:last-child:not(:first-child){font-size:8px}
  .visual-index,.portrait-caption,.scroll-cue,.proof-label,.project-index,.project-caption,.video-topline,.video-bottomline,.contact-card-label,.contact-download,.site-footer,.education-year,.language-label,.role-kicker,.timeline-date,.role-skills,.current-pill{font-size:8px}
  .caption-location{font-size:7px}
  .story-body>p:not(.story-lead){font-size:13px}
  .timeline-content li{font-size:12px;line-height:1.75}
  .role-org{font-size:11px}
  .role-skills span{font-size:8px;padding:6px 7px}
  .capability p{font-size:12px}
  .project-layout{gap:32px}
  .project-description{font-size:13px}
  .video-frame{height:200px;min-height:200px;aspect-ratio:auto}
  .video-topline,.video-bottomline{font-size:8px}
  .education-row p{font-size:11px}
  .language-row div span{font-size:11px}
  .contact-copy>p:not(.eyebrow){font-size:12px}
  .contact-card-value{font-size:13px}
  .site-footer{font-size:8px;line-height:1.6}
}
@media(max-width:380px){
  .hero-actions{align-items:flex-start;flex-wrap:wrap}
  .hero-proof{gap:7px}
  .proof-number{font-size:20px}
  .proof-label{font-size:7px}
  .video-card{padding:7px}
  .video-frame{height:200px;min-height:200px}
  .contact-card-value{font-size:12px}
}

.video-bottomline a{color:var(--gold-light);font:inherit;letter-spacing:inherit;white-space:nowrap}
.video-bottomline a:hover{text-decoration:underline;text-underline-offset:3px}
.floating-call{position:fixed;right:24px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:35;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--ink);box-shadow:0 0 0 0 rgba(214,169,76,.45),0 12px 35px rgba(0,0,0,.3);animation:call-pulse 2.8s ease-out infinite;transition:transform .2s,background .2s}
.floating-call:hover{transform:translateY(-3px);background:var(--gold-light)}
.floating-call:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
.floating-call svg{width:22px;height:22px;fill:currentColor;animation:call-ring 4s ease-in-out infinite;transform-origin:50% 50%}
@keyframes call-pulse{0%{box-shadow:0 0 0 0 rgba(214,169,76,.42),0 12px 35px rgba(0,0,0,.3)}55%{box-shadow:0 0 0 12px rgba(214,169,76,0),0 12px 35px rgba(0,0,0,.3)}100%{box-shadow:0 0 0 0 rgba(214,169,76,0),0 12px 35px rgba(0,0,0,.3)}}
@keyframes call-ring{0%,84%,100%{transform:rotate(0)}87%{transform:rotate(-12deg)}90%{transform:rotate(12deg)}93%{transform:rotate(-8deg)}96%{transform:rotate(6deg)}}
@media(max-width:650px){
  .floating-call{right:17px;bottom:calc(17px + env(safe-area-inset-bottom));width:56px;height:56px}
  .site-footer{padding-bottom:82px}
}
@media(max-width:380px){.floating-call{right:14px;width:54px;height:54px}}

/* Clearer reading type, with a distinct display face for the main headings. */
:root{--sans:"DM Sans",sans-serif;--display:"Plus Jakarta Sans",sans-serif}
.wordmark-name{font-size:12px;letter-spacing:.09em}
body{font-size:16px}
h1,.section-title,.timeline-content h3,.capability h3,.education-row h3,.contact h2{font-family:var(--display)}
.site-nav>a:not(.nav-resume){font-size:12px}
.hero-intro{font-size:16px;line-height:1.85;max-width:470px}
.proof-label{font-size:9px}
.story-body>p:not(.story-lead){font-size:15px;line-height:1.9}
.experience-heading>p{font-size:14px;line-height:1.85}
.timeline-content li{font-size:14px;line-height:1.8}
.role-org{font-size:13px}
.capability p{font-size:14px;line-height:1.8}
.project-description{font-size:15px;line-height:1.9}
.education-row h3{font-size:16px}
.education-row p{font-size:13px}
.language-row div span{font-size:12px}
.contact-copy>p:not(.eyebrow){font-size:15px;line-height:1.9}
.contact-card-value{font-size:15px}
@media(max-width:900px){
  .hero-intro{font-size:15px}
  .timeline-content li{font-size:13px}
  .capability p{font-size:13px}
  .project-description{font-size:14px}
}
@media(max-width:650px){
  .wordmark-name{font-size:10px}
  body{font-size:15px}
  .hero-intro{font-size:14px}
  .story-body>p:not(.story-lead){font-size:13px}
  .timeline-content li{font-size:12px}
  .capability p{font-size:12px}
  .project-description{font-size:13px}
  .education-row h3{font-size:14px}
  .education-row p{font-size:11px}
  .contact-copy>p:not(.eyebrow){font-size:12px}
  .contact-card-value{font-size:13px}
}
.hero-visual{flex-direction:column;justify-content:center;padding-bottom:14px}
.portrait-caption{position:relative;left:auto;right:auto;bottom:auto;width:min(83%,420px);margin:17px auto 0;z-index:3}
@media(max-width:650px){
  .portrait-caption{width:min(78%,330px);margin-top:14px}
  .hero-visual{padding-bottom:0}
}
.wordmark-name{font:600 13px/1.1 var(--sans);letter-spacing:.035em;white-space:nowrap}
@media(max-width:650px){.wordmark-name{font-size:12px}}
.wordmark-name{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.wordmark-rule{display:block;width:100%;height:1px;background:var(--gold);opacity:.8}
.wordmark-role{font:8px/1 var(--mono);letter-spacing:.12em;color:#a5b0ac;white-space:nowrap}
@media(max-width:650px){.wordmark-role{font-size:7px}}
.footer-wordmark{gap:10px;margin-right:auto}
.footer-wordmark .wordmark-mark{font-size:34px}
.footer-wordmark .wordmark-name{font-size:11px}
.footer-wordmark .wordmark-role{font-size:7px}
@media(max-width:650px){.footer-wordmark{width:100%;margin-bottom:3px}.footer-wordmark .wordmark-name{font-size:11px}}
.site-footer{font-size:9px;line-height:1.7}
.site-footer>a:not(.wordmark){font-size:9px;letter-spacing:.08em}
.footer-note{font-size:9px;letter-spacing:.06em}
@media(max-width:650px){
  .site-footer{display:grid;grid-template-columns:1fr;gap:16px;padding:24px 0 86px;align-items:start}
  .footer-wordmark{grid-column:1;width:auto;margin:0}
  .site-footer>a:not(.wordmark){grid-column:1;justify-self:start;font-size:10px}
  .footer-note{grid-column:1;margin:0;font-size:9px;line-height:1.7;white-space:normal}
}

/* Let the hero grow with its contents so the portrait caption never meets the ticker. */
.hero{height:auto;min-height:max(680px,min(790px,calc(100svh - 88px)))}
@media(max-width:900px){.portrait-caption{width:min(90%,420px)}}
@media(max-width:650px){.hero{min-height:0}.portrait-caption{width:min(100%,330px)}}
@media(max-width:650px){
  .site-footer{justify-items:center;text-align:center}
  .footer-wordmark{justify-self:center}
  .footer-wordmark .wordmark-name{align-items:center}
  .site-footer>a:not(.wordmark){justify-self:center}
  .footer-note{justify-self:center;text-align:center}
}

/* Final type scale: clear reading text first, metadata second. */
.site-nav>a:not(.nav-resume){font-size:13px}
.nav-resume,.button,.text-link{font-size:12px}
.eyebrow{font-size:11px}
.section-label{font-size:10px;letter-spacing:.1em}
.visual-index,.portrait-caption,.scroll-cue,.proof-label,.project-index,.project-caption,.contact-card-label,.contact-download,.education-year,.language-label,.role-kicker,.timeline-date,.current-pill{font-size:10px}
.caption-location{font-size:9px}
.story-tags span,.role-skills span{font-size:9px}
.role-skills{gap:9px}
.site-footer,.site-footer>a:not(.wordmark),.footer-note{font-size:10px}
.footer-wordmark .wordmark-role,.wordmark-role{font-size:9px}
@media(max-width:900px){
  .site-nav>a:not(.nav-resume){font-size:12px}
  .eyebrow{font-size:10px}
}
@media(max-width:650px){
  .site-nav>a:not(.nav-resume){font-size:13px}
  .nav-resume,.button,.text-link{font-size:11px}
  .eyebrow{font-size:9px}
  .section-label,.visual-index,.portrait-caption,.scroll-cue,.proof-label,.project-index,.project-caption,.contact-card-label,.contact-download,.education-year,.language-label,.role-kicker,.timeline-date,.current-pill{font-size:9px}
  .section-label>span:last-child:not(:first-child){font-size:9px}
  .caption-location{font-size:8px}
  .story-tags span,.role-skills span{font-size:9px}
  .story-body>p:not(.story-lead){font-size:13px}
  .timeline-content li{font-size:13px}
  .role-org{font-size:12px}
  .capability p{font-size:13px}
  .project-description{font-size:14px}
  .education-row p{font-size:12px}
  .contact-copy>p:not(.eyebrow){font-size:13px}
  .contact-card-value{font-size:14px}
  .site-footer,.site-footer>a:not(.wordmark),.footer-note{font-size:10px}
  .footer-wordmark .wordmark-role,.wordmark-role{font-size:8px}
}
.site-header{position:sticky;top:0;z-index:30;background:rgba(16,26,28,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
