@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--navy:#102b4e;--ink:#18314e;--blue:#2260cc;--sky:#eaf2fc;--muted:#53677c;--line:#dce5ef;--white:#fff;--paper:#f5f8fc;--radius:6px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:white;color:var(--ink);font:16px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;font-weight:650;line-height:1.17;letter-spacing:-.045em}h2{font-size:clamp(2rem,3.4vw,2.9rem)}h3{font-size:1.36rem;letter-spacing:-.025em}p{color:var(--muted)}.wrap{max-width:1240px;margin:auto;padding-left:48px;padding-right:48px}.section{padding-top:100px;padding-bottom:100px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--blue);margin-bottom:23px;line-height:1.6}.small-label{font-size:.75rem;font-weight:700;letter-spacing:.12em}.site-header{border-bottom:1px solid #e7edf4;background:#fffffff5;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.nav-shell{max-width:1400px;padding:22px 36px;display:flex;align-items:center;gap:30px;margin:auto}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-weight:700;font-size:.96rem}.brand-mark{font-family:Manrope,sans-serif;font-weight:800;font-size:1.6rem;letter-spacing:-.12em;margin-right:3px}.brand-mark span{color:var(--blue)}nav{display:flex;align-items:center;gap:23px;margin-left:auto}nav a,.nav-contact{font-size:.86rem;font-weight:550;white-space:nowrap}nav a:hover,nav a.active{color:var(--blue)}.nav-contact{border-left:1px solid var(--line);padding-left:25px}.nav-contact span{margin-left:10px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:74px;align-items:center;padding-top:78px;padding-bottom:78px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.line{display:inline-block;width:28px;height:2px;background:var(--blue)}h1{font-size:clamp(2.9rem,4.8vw,4.2rem);line-height:1.11;font-weight:650;letter-spacing:-.055em}h1 span{color:var(--blue)}.hero-intro{max-width:495px;margin-top:27px;font-size:1.05rem;line-height:1.8}.hero-intro strong{color:var(--ink);font-weight:650}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:4px;min-height:49px;padding:12px 21px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s}.primary{background:var(--blue);color:white}.primary:hover{background:#164ba7;transform:translateY(-2px)}.text-button{padding-left:0;padding-right:0;gap:12px}.hero-social{display:flex;gap:24px;margin-top:29px;font-size:.85rem}.hero-social a{border-bottom:1px solid #bdcde0}.hero-visual{position:relative;padding-right:18px;padding-bottom:30px}.portrait-frame{position:relative;border-radius:110px 8px 8px 8px;overflow:hidden;background:#d6e6f9;aspect-ratio:.96}.portrait-frame img{width:100%;height:100%;object-position:center 35%}.portrait-index{position:absolute;top:20px;right:20px;writing-mode:vertical-rl;letter-spacing:.16em;font-size:.65rem;color:var(--navy);font-weight:700}.portrait-caption{background:var(--navy);color:white;padding:18px 23px;display:flex;flex-direction:column;gap:0;border-radius:0 0 5px 5px}.portrait-caption>span:first-child{font-size:1.1rem;font-weight:600}.portrait-caption>span:last-child{font-size:.8rem;color:#c3d4e9}.location-tag{position:absolute;bottom:5px;right:0;background:#dfeaff;padding:12px 17px;border:5px solid white;font-size:.76rem;font-weight:600;color:var(--navy)}.location-tag>span{padding-right:10px;color:var(--blue)}.discipline-band{background:var(--navy);color:#e3edfb}.discipline-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:24px;font-size:.93rem;letter-spacing:.02em}.discipline-band i{font-style:normal;color:#5f83b3}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:80px}.about .lead{color:var(--navy);font-size:1.35rem;line-height:1.5;margin-bottom:23px}.about-copy>p+p{margin-top:18px}.inline-link{display:inline-flex;align-items:center;gap:20px;font-size:.9rem;color:var(--blue);font-weight:650;padding:8px 0;border-bottom:1px solid #b6cdef}.about .inline-link{margin-top:20px}.work-section{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:55px;margin-bottom:42px}.section-heading>p{max-width:350px;font-size:.96rem}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.work-card{background:white;padding:29px;border:1px solid var(--line);border-radius:var(--radius);min-height:250px}.card-number{display:block;color:#41689a;font-size:.82rem;margin-bottom:29px}.work-card h3{margin-bottom:17px}.work-card p{font-size:.92rem;line-height:1.75}.work-card.featured{grid-row:span 2;display:flex;flex-direction:column;background:var(--navy);color:white;border-color:var(--navy);padding:35px}.featured .card-number{color:#8fb4ee}.featured h3{font-size:2rem;margin-top:32px}.featured p{color:#ccdaec;font-size:1rem}.card-foot{margin-top:auto;padding-top:60px;color:#a9c8f5;font-size:.8rem}.project-grid{display:grid;gap:20px}.project-empty{border:1px dashed #b7c9df;border-radius:6px;display:flex;align-items:center;gap:34px;padding:43px;background:#fbfcfe}.empty-symbol{font-family:monospace;color:var(--blue);font-size:2.9rem;background:var(--sky);border-radius:6px;padding:22px}.project-empty .small-label{color:var(--blue)}.project-empty h3{margin:8px 0 12px}.project-empty p{font-size:.95rem}.tag{display:inline-flex;padding:5px 11px;border-radius:4px;color:#466284;background:var(--sky);font-size:.76rem;white-space:nowrap}.project-empty>.tag{margin-left:auto;align-self:flex-start}.project-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;padding:25px}.project-card img{max-height:350px;width:100%;margin-bottom:22px;border-radius:4px}.project-card h3{margin:12px 0}.project-card .links{margin-top:16px;display:flex;gap:24px}.speaking-section{padding:80px 0;background:var(--navy);color:white}.speaking-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.speaking-photo{position:relative;border-radius:6px;overflow:hidden}.speaking-photo img{width:100%;aspect-ratio:1;object-position:49% center}.photo-caption{position:absolute;left:0;right:0;bottom:0;background:#0b2445eb;padding:18px;font-size:.65rem;letter-spacing:.15em}.speaking-copy .eyebrow{color:#95bdff}.speaking-copy h2{font-size:clamp(2rem,3.1vw,2.65rem)}.speaking-copy p{color:#c1d0e3;margin-top:22px;font-size:.97rem}.topic-list{margin:23px 0 28px;display:grid}.topic-list span{border-bottom:1px solid #38506d;font-size:.86rem;padding:9px 0}.white-button{background:white;color:var(--navy)}.white-button:hover{background:#d9e8ff}.speaking-copy .contact-note{font-size:.75rem;color:#a4bbd7;margin-top:15px}.writing-layout{display:grid;grid-template-columns:.9fr 1.3fr;gap:80px}.writing-intro{padding-right:30px}.medium-mark{font-family:Georgia,serif;font-size:3.2rem;display:block;line-height:1;margin-bottom:25px;color:var(--navy)}.writing-intro h3{font-size:1.45rem;line-height:1.4;margin-bottom:15px}.writing-intro p{font-size:.93rem}.writing-empty{background:var(--paper);border-left:3px solid var(--blue);padding:37px}.writing-empty .small-label{color:var(--blue)}.writing-empty h3{margin:18px 0 12px}.writing-empty p{font-size:.95rem}.article{padding:20px 0;border-top:1px solid var(--line)}.article h3{margin:9px 0;font-size:1.2rem}.article p{font-size:.91rem}.article .meta,.meta{font-size:.76rem;color:var(--muted)}.article>a{display:inline-block;color:var(--blue);font-size:.86rem;font-weight:600;margin-top:12px}.news-section{background:var(--paper)}.blue-period{color:var(--blue)}.news-toolbar{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin-bottom:22px;font-size:.72rem;letter-spacing:.04em}.news-toolbar>span:first-child{font-weight:700}.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.news-card{background:white;border:1px solid var(--line);padding:25px;border-radius:5px;display:flex;flex-direction:column}.news-card h3{margin:15px 0 12px;font-size:1.1rem;line-height:1.45}.news-card p{font-size:.88rem;margin-bottom:17px}.news-card .meta{margin-bottom:10px}.news-card>a{font-size:.85rem;color:var(--blue);font-weight:600;margin-top:auto}.news-error{grid-column:1/-1;padding:28px;background:white;border:1px solid var(--line);border-radius:5px}.news-error h3{margin-bottom:12px}.source-links{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin-top:24px;font-size:.8rem}.source-links>span{color:var(--muted)}.source-links a{font-weight:600}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.personal-card{border-radius:6px;overflow:hidden}.running{background:#e8f0fd}.cycling{background:#edf3f5}.personal-card-body{padding:36px}.personal-card .small-label{color:#3e6492}.personal-card h3{font-size:1.7rem;margin:28px 0 16px}.personal-card p{font-size:.95rem}.personal-detail{display:block;border-top:1px solid #bbcee4;font-size:.78rem;color:#395e85;margin-top:32px;padding-top:20px}.personal-photo img{width:100%;height:270px}.contact-section{background:#edf3fd;border-top:1px solid #d7e4f5;padding:65px 0}.contact-layout{display:flex;justify-content:space-between;gap:30px;align-items:center}.contact-layout .eyebrow{margin-bottom:17px}.contact-layout p:last-child{margin-top:18px}.contact-layout .button{min-width:190px}footer{padding-top:35px!important;padding-bottom:35px!important;display:flex;align-items:center;gap:35px;flex-wrap:wrap}footer>p{font-size:.8rem}.footer-links{display:flex;gap:20px;margin-left:auto;font-size:.8rem}.copyright{flex-basis:100%;font-size:.75rem;color:#62748a;border-top:1px solid var(--line);padding-top:20px}.skip-link{position:fixed;top:-80px;left:10px;background:var(--navy);color:white;padding:12px 20px;z-index:100}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #5389e0;outline-offset:5px}a:hover{text-decoration-thickness:1px}a.inline-link:hover,.footer-links a:hover,.source-links a:hover{text-decoration:underline}[hidden]{display:none!important}
@media(min-width:1450px){.hero{padding-top:95px;padding-bottom:95px}}@media(max-width:1150px){.nav-shell{gap:20px;padding:18px 25px}nav{gap:14px}.nav-contact{display:none}.wrap{padding-left:36px;padding-right:36px}.hero{gap:40px}.actions{gap:12px}.about{gap:50px}.speaking-layout{gap:42px}.work-card{padding:24px}.featured h3{font-size:1.7rem}}
@media(max-width:860px){.menu-toggle{display:flex;margin-left:auto;align-items:center;gap:14px;border:1px solid var(--line);background:white;padding:6px 12px;color:var(--navy);border-radius:4px;font-size:.88rem}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 28px;background:white;border-bottom:1px solid var(--line);box-shadow:0 12px 24px #102b4e0d;flex-wrap:wrap;gap:0}nav.open{display:grid;grid-template-columns:1fr 1fr}nav a{padding:12px;font-size:1rem}.hero{gap:28px}.hero-intro{font-size:1rem}.hero .eyebrow{font-size:.64rem}h1{font-size:clamp(2.7rem,5.4vw,3.7rem)}.portrait-caption{padding:15px}.portrait-caption>span:last-child{font-size:.7rem}.location-tag{font-size:.65rem;padding:10px}.hero-social{margin-top:18px}.section{padding-top:76px;padding-bottom:76px}.about{gap:35px;grid-template-columns:1fr 1fr}.section-heading{gap:35px}.section-heading>p{max-width:290px}.work-grid{grid-template-columns:1fr 1fr}.featured{grid-row:auto!important;grid-column:1/-1}.featured h3{margin-top:0}.featured .card-number{margin-bottom:15px}.card-foot{padding-top:25px}.project-empty{padding:28px;gap:22px}.project-empty>.tag{display:none}.speaking-layout{gap:35px}.speaking-photo img{aspect-ratio:.75}.speaking-copy .button{padding:12px;gap:12px;font-size:.8rem}.writing-layout{gap:30px}.personal-card-body{padding:26px}.personal-card h3{font-size:1.45rem}footer{gap:20px}}
@media(max-width:620px){.wrap{padding-left:23px;padding-right:23px}.nav-shell{padding:15px 23px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:44px;gap:35px}.hero .eyebrow{font-size:.68rem;margin-bottom:22px}h1{font-size:3.05rem}.hero-intro{max-width:100%;font-size:1rem;margin-top:23px}.actions{gap:18px;margin-top:26px}.button{font-size:.83rem;padding:12px 16px;gap:15px}.hero-visual{max-width:100%;width:100%;padding-right:16px}.portrait-frame{aspect-ratio:1.18;border-top-left-radius:85px}.portrait-frame img{object-position:center 35%}.portrait-caption>span:last-child{font-size:.8rem}.location-tag{font-size:.7rem}.discipline-band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding-top:24px;padding-bottom:24px;font-size:.83rem}.discipline-band i{display:none}.section{padding-top:62px;padding-bottom:62px}.about{grid-template-columns:1fr;gap:30px}h2{font-size:2.15rem}.eyebrow{font-size:.67rem;margin-bottom:16px}.about .lead{font-size:1.22rem}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;max-width:none}.section-heading>.inline-link{margin-top:15px}.work-grid{grid-template-columns:1fr}.work-card{min-height:0;padding:28px}.work-card h3 br{display:none}.card-number{margin-bottom:17px}.work-card.featured{padding:28px}.featured h3{font-size:1.6rem}.project-empty{align-items:flex-start;gap:20px;padding:25px;flex-direction:column}.empty-symbol{padding:5px 14px;font-size:2rem}.speaking-section{padding:55px 0}.speaking-layout{grid-template-columns:1fr;gap:33px}.speaking-photo img{aspect-ratio:1.2;object-position:center 40%}.speaking-copy h2{font-size:2.1rem}.speaking-copy .button{padding:13px 18px;font-size:.88rem}.writing-layout{grid-template-columns:1fr;gap:30px}.writing-intro{padding-right:0}.medium-mark{margin-bottom:20px}.writing-empty{padding:28px}.news-toolbar{flex-direction:column;gap:6px}.news-grid{grid-template-columns:1fr}.news-card{padding:23px}.source-links{gap:17px}.personal-grid{grid-template-columns:1fr}.personal-card-body{padding:30px}.personal-card h3{font-size:1.65rem}.contact-layout{display:block}.contact-layout .button{margin-top:26px}.contact-section{padding:50px 0}footer>p{flex-basis:100%}.footer-links{margin-left:0;flex-basis:100%}.copyright{font-size:.72rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
