:root{
 --font-display:'General Sans',sans-serif;--font-body:'General Sans',sans-serif;
 --color-bg:oklch(98.4% .005 75);--color-text:oklch(28% .035 242);--color-muted:oklch(44% .018 242);
 --color-primary:oklch(50% .16 30);--color-primary-hover:oklch(43% .15 30);--color-coral:oklch(73% .14 31);
 --color-surface:oklch(95.4% .014 65);--color-white:oklch(100% 0 0);--color-border:oklch(86% .01 75);
 --color-on-dark:oklch(96% .005 75);--color-muted-dark:oklch(82% .01 242);
 --text-xs:clamp(.75rem,.72rem + .15vw,.875rem);--text-sm:clamp(.875rem,.82rem + .2vw,1rem);
 --text-base:clamp(1rem,.95rem + .15vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .45vw,1.375rem);
 --text-xl:clamp(1.5rem,1.3rem + .6vw,2rem);--text-2xl:clamp(2rem,1.5rem + 1.9vw,3.25rem);
 --text-hero:clamp(2.5rem,1.5rem + 3vw,4.25rem);
 --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
 --gutter:clamp(var(--space-6),5vw,var(--space-20));--content:1280px;
}
.container{width:min(calc(100% - var(--gutter)*2),var(--content));margin-inline:auto}
.section-pad{padding-block:clamp(var(--space-16),7vw,var(--space-24))}
.eyebrow{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.13em;margin-bottom:var(--space-5);line-height:1.5}
h1,h2,h3,.wordmark{font-family:var(--font-display);font-weight:500;letter-spacing:-.025em}
h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}
p+p{margin-top:var(--space-5)}
.small{font-size:var(--text-sm);color:var(--color-muted)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);min-height:52px;padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:700;background:var(--color-text);color:var(--color-white);text-decoration:none;border:1px solid var(--color-text)}
.button:hover{background:var(--color-primary);border-color:var(--color-primary)}
.button:active{background:var(--color-primary-hover)}
.button span{font-size:var(--text-lg);line-height:1}
.text-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-block:var(--space-2);min-height:44px}
.text-link:hover,a:not(.button):hover{color:var(--color-primary)}
.skip-link{position:fixed;top:-100px;left:var(--space-4);padding:var(--space-4);background:var(--color-white);z-index:100}
.skip-link:focus{top:var(--space-4)}
.site-header{position:sticky;top:0;background:var(--color-bg);z-index:20;border-bottom:1px solid var(--color-border)}
.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:96px;gap:var(--space-8)}
.wordmark{font-size:var(--text-xl);line-height:1;text-decoration:none;white-space:nowrap}
.wordmark span{display:block;font-family:var(--font-body);font-weight:500;font-size:var(--text-xs);letter-spacing:.015em;margin-top:var(--space-2);white-space:normal;line-height:1.4}
.site-header .wordmark{min-width:0}
.menu-toggle{flex-shrink:0}
#main-nav{display:flex;align-items:center;gap:var(--space-8)}
#main-nav>a{font-size:var(--text-sm);font-weight:500;text-decoration:none;padding-block:var(--space-3)}
#main-nav .button{font-weight:700}
.button-small{min-height:44px;padding-inline:var(--space-5)}
.menu-toggle{display:none}
.hero{background:var(--color-surface)}
.hero-inner{max-width:1600px;margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;min-height:650px}
.hero-copy{padding:var(--space-20) var(--space-10) var(--space-20) max(var(--gutter),calc((100vw - var(--content))/2));align-self:center}
.hero .eyebrow{color:var(--color-primary)}
h1{font-size:var(--text-hero);line-height:1.08;max-width:15ch;font-weight:500;letter-spacing:-.035em;text-wrap:initial}
h1 span{color:var(--color-primary)}
.hero-description{margin-top:var(--space-8);max-width:38ch}
.hero-actions{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-8)}
.hero-actions .text-link{border:0;padding:0}
.play-small{font-size:var(--text-xl)}
.hero-photo{min-width:0;position:relative;overflow:hidden}
.hero-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:73% center}
.appearances{padding-block:var(--space-10);border-bottom:1px solid var(--color-border)}
.appearances>.eyebrow{color:var(--color-muted);text-align:center;margin-bottom:var(--space-6)}
.conference-names{display:grid;grid-template-columns:.8fr 1fr 1fr 1.2fr;gap:var(--space-8);align-items:center;text-align:center}
.conference-names a{text-decoration:none}
.conference-names strong{display:block;font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.035em;font-weight:700}
.conference-names span{display:block;font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-1)}
.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);align-items:end;margin-bottom:var(--space-12)}
.section-intro>p{max-width:48ch;color:var(--color-muted)}
.speaking-intro{text-align:center;margin-bottom:var(--space-16)}
.speaking-intro .eyebrow{margin-inline:auto}
.speaking-intro>p{max-width:64ch;margin:var(--space-6) auto 0;color:var(--color-muted)}
.talk-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start}
.talk{display:flex;flex-direction:column;border-top:3px solid var(--color-primary);padding-top:var(--space-8)}
.talk .eyebrow{color:var(--color-primary)}
.talk h3{font-size:var(--text-2xl);line-height:1.08}
.talk-subtitle{font-weight:700;margin-top:var(--space-5);min-height:3.2em;max-width:39ch}
.talk>p:not(.eyebrow):not(.talk-subtitle){color:var(--color-muted)}
.talk-details{margin-top:var(--space-6);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
summary{cursor:pointer;list-style:none;font-size:var(--text-sm);font-weight:700;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-4)}
summary::-webkit-details-marker{display:none}
summary>span{font-size:var(--text-xl);font-weight:400}
details[open] summary>span{transform:rotate(45deg)}
summary:hover{color:var(--color-primary)}
.detail-copy{padding-block:var(--space-2) var(--space-6);color:var(--color-muted)}
.detail-copy p,.detail-copy li{font-size:var(--text-base)}
.detail-copy h4,.session-meta dt{font-size:var(--text-base);font-weight:600;color:var(--color-text)}
.detail-copy h4{margin-bottom:var(--space-4)}
.session-meta{margin-block:var(--space-6);padding-block:var(--space-5);border-block:1px solid var(--color-border)}
.session-meta dt:not(:first-child){margin-top:var(--space-4)}
.session-meta dd{margin-top:var(--space-2)}
.talk-details ul{padding-left:var(--space-5);padding-bottom:var(--space-5)}
.talk-details li{font-size:var(--text-base);margin-bottom:var(--space-3)}
.talk-details .small{padding-bottom:var(--space-5)}
.talk-footer{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding-top:var(--space-6);margin-top:auto;font-size:var(--text-xs)}
.talk-footer>span{color:var(--color-muted)}
.talk-footer a{font-size:var(--text-sm);font-weight:700;padding-block:var(--space-2);min-height:44px}
.workshop-note{margin-top:var(--space-12);padding:var(--space-8);background:var(--color-surface);display:grid;grid-template-columns:1fr 1.2fr;column-gap:var(--space-12);row-gap:var(--space-3);align-items:start}
.workshop-note h3{grid-row:span 2}
.workshop-note p{margin:0;color:var(--color-muted)}
.workshop-note a{justify-self:start}
.about{border-top:1px solid var(--color-border)}
.button-outline{background:transparent;color:var(--color-text)}
.button-outline:hover{color:var(--color-white)}
.linkedin-button{margin-top:var(--space-6)}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-20);align-items:center}
.about-photo{margin:0;position:relative}
.about-photo img{width:100%;aspect-ratio:4/5.5;object-fit:cover;object-position:center 42%}
.about-photo figcaption{margin-top:var(--space-4);font-weight:700;font-size:var(--text-sm)}
.about-photo figcaption span{font-weight:400;color:var(--color-muted);font-size:var(--text-xs)}
.about-copy h2{margin-bottom:var(--space-6)}
.about-copy>p:not(.eyebrow){color:var(--color-muted)}
.about-copy a,.results a{text-decoration-color:var(--color-border)}
.about-copy a:hover,.results a:hover{text-decoration-color:currentColor}
.experience{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-6);padding-block:var(--space-6);margin-block:var(--space-6);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.experience strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.1;letter-spacing:-.025em;display:block}
.experience p{font-size:var(--text-xs);margin-top:var(--space-3);color:var(--color-muted)}
.credential{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.results{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-20);border-top:1px solid var(--color-border);margin-top:var(--space-16);padding-top:var(--space-10)}
.results .eyebrow{font-size:var(--text-xs);margin-bottom:var(--space-4)}
.results>p{color:var(--color-muted);font-size:var(--text-sm)}
.bio-wrap{margin-top:var(--space-8)}
.bio-details{border-block:1px solid var(--color-border);padding-inline:var(--space-6);background:var(--color-surface)}
.bio-details summary{padding-block:var(--space-6);font-size:var(--text-base)}
.bio-copy{max-width:75ch;margin-inline:auto;padding-bottom:var(--space-8)}
.past-events{border-top:1px solid var(--color-border)}
.event-list{border-top:1px solid var(--color-border)}
.event{border-bottom:1px solid var(--color-border)}
.event summary{display:grid;grid-template-columns:10rem 1fr auto;gap:var(--space-6);padding-block:var(--space-6)}
.event summary time{font-size:var(--text-sm);font-weight:400;color:var(--color-muted)}
.event summary strong{font-size:var(--text-base);font-weight:500}
.event-copy{margin-left:calc(10rem + var(--space-6));padding-bottom:var(--space-8);max-width:75ch;color:var(--color-muted)}
.event-location{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}
details[id],section[id]{scroll-margin-top:var(--space-12)}
.media-section{border-top:1px solid var(--color-border)}
.media-list{margin-top:var(--space-10);border-top:1px solid var(--color-border)}
.media-item{display:grid;grid-template-columns:10rem 1fr;gap:var(--space-6);padding-block:var(--space-8);border-bottom:1px solid var(--color-border)}
.media-type{font-size:var(--text-sm);font-weight:600}
.media-type span{display:block;color:var(--color-muted);font-size:var(--text-xs);font-weight:400;margin-top:var(--space-2)}
.media-item h3{font-size:var(--text-lg);line-height:1.4;max-width:65ch;letter-spacing:0}
.media-item h3 a{text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--color-border)}
.media-item h3 a:hover{text-decoration-color:currentColor}
.media-item h3 span{white-space:nowrap}
.media-item div>p{color:var(--color-muted);margin-top:var(--space-3);font-size:var(--text-base)}
.media-item-recording h3{font-size:var(--text-base)}
.media-actions{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6);margin-top:var(--space-4)}
.contact{background:var(--color-surface);padding-block:var(--space-16)}
.contact-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:var(--space-20);align-items:center;max-width:1056px}
.contact-photo{height:400px;overflow:hidden}
.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.contact-copy h2{margin-bottom:var(--space-6)}
.contact-copy>p:not(.eyebrow){color:var(--color-muted)}
.contact-copy .button{margin-top:var(--space-6)}
.form-link-help{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-muted)}
.form-link-help summary{font-size:var(--text-xs);font-weight:500;text-decoration:underline;justify-content:flex-start;padding-block:var(--space-2);min-height:44px}
.form-link-help p{font-size:var(--text-xs)}
.selectable-url{overflow-wrap:anywhere;user-select:all}
.form-link-help .text-link{font-size:var(--text-xs);margin-top:var(--space-2)}
#copy-status{display:block;font-size:var(--text-xs);margin-top:var(--space-2)}
.site-footer{padding-top:var(--space-10);padding-bottom:var(--space-6)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.footer-inner>p{font-size:var(--text-sm);color:var(--color-muted)}
.footer-inner>div{display:flex;gap:var(--space-6);font-size:var(--text-xs)}
.footer-inner>div a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.footer-bottom{border-top:1px solid var(--color-border);margin-top:var(--space-8);padding-top:var(--space-6);display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-muted)}
@media(min-width:1600px){.hero-copy{padding-left:var(--space-20)}}
@media(max-width:1100px){
 #main-nav{gap:var(--space-5)}.header-inner{gap:var(--space-4)}
 .hero-inner{min-height:600px}.hero-copy{padding-block:var(--space-16);padding-right:var(--space-6)}
 .hero-actions{gap:var(--space-4)}.about-grid,.results{gap:var(--space-12)}
 .section-intro{gap:var(--space-12)}
 .footer-inner{flex-wrap:wrap}.footer-inner>p{display:none}
}
@media(max-width:800px){
 .header-inner{min-height:80px;position:relative}.wordmark{font-size:var(--text-xl)}
 .menu-toggle{display:flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-sm)}
 .menu-toggle span{font-size:var(--text-xl)}
 #main-nav{display:none;position:absolute;left:calc(-1*var(--gutter));right:calc(-1*var(--gutter));top:100%;padding:var(--space-6) var(--gutter);background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:var(--space-2)}
 #main-nav.is-open{display:flex}
 #main-nav>a{min-height:44px}
 #main-nav .button{margin-top:var(--space-3)}
 .hero-inner{min-height:auto;grid-template-columns:1fr}
 .hero-copy{padding:var(--space-12) var(--gutter)}
 h1{font-size:clamp(2.4rem,1.3rem + 5.5vw,4.25rem);max-width:15ch}
 .hero-description{max-width:40ch;margin-top:var(--space-6)}
 .hero-actions{margin-top:var(--space-6);gap:var(--space-4)}
 .hero-photo{height:440px}.hero-photo img{object-position:73% 48%}
 .conference-names{grid-template-columns:1fr 1fr;gap:var(--space-8) var(--space-4)}
 .section-intro{grid-template-columns:1fr;gap:var(--space-6);margin-bottom:var(--space-10)}
 .talk-grid{grid-template-columns:1fr;gap:var(--space-12)}
 .talk h3 br{display:none}.talk h3{max-width:18ch}.talk-subtitle{min-height:0;max-width:45ch}
 .talk-footer{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-4)}
 .workshop-note{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-6)}
 .workshop-note h3{grid-row:auto}
 .about-grid{grid-template-columns:1fr;gap:var(--space-10)}
 .about-photo{max-width:440px}.about-photo img{aspect-ratio:1;object-position:center 32%}
 .results{grid-template-columns:1fr;gap:var(--space-6);margin-top:var(--space-12)}
 .event summary{grid-template-columns:1fr auto;gap:var(--space-2) var(--space-4)}
 .event summary time{grid-column:1;grid-row:1}
 .event summary strong{grid-column:1;grid-row:2}
 .event summary>span{grid-column:2;grid-row:1 / span 2}
 .event-copy{margin-left:0}
 .media-item{grid-template-columns:1fr;gap:var(--space-4)}
 .media-type span{display:inline;margin-left:var(--space-3);margin-top:0}
 .contact-grid{grid-template-columns:1fr;gap:var(--space-8)}
 .contact-photo{width:220px;height:260px}.contact-photo img{object-position:center 5%}
 .footer-bottom{flex-direction:column}
}
@media(max-width:420px){
 h1{font-size:clamp(2rem,.8rem + 6vw,2.25rem)}
 .wordmark span{font-size:var(--text-xs);letter-spacing:0}
 .hero-copy{padding-top:var(--space-10);padding-bottom:var(--space-10)}
 .hero-photo{height:335px}
 .hero-actions{align-items:flex-start;flex-direction:column}
 .conference-names strong{font-size:var(--text-lg)}
 .conference-names span{font-size:var(--text-xs)}
 .talk-footer{flex-direction:column;align-items:flex-start;gap:var(--space-2)}
 .experience{grid-template-columns:1fr;gap:var(--space-6)}
 .contact{padding-block:var(--space-12)}
 .contact-copy h2 br{display:none}
 .footer-inner{align-items:flex-start;flex-direction:column}
 .footer-inner>div{gap:var(--space-8)}
 .footer-inner>div{flex-wrap:wrap;gap:var(--space-4)}
}
