@font-face{font-family:Inter;src:url('fonts/Inter-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Merriweather;src:url('fonts/Merriweather-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Merriweather;src:url('fonts/Merriweather-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--navy:#003366;--blue:#4F81BC;--white:#fff;--gray:#BFBFBF;--tint:rgba(79,129,188,.09);--font-interface:Inter,'Segoe UI',sans-serif;--font-display:Merriweather,Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--navy);background:var(--white);font:400 16px/1.8 var(--font-interface)}a{color:var(--navy);text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--blue)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}p{margin-bottom:22px}h1{font:400 clamp(38px,4.3vw,66px)/1.16 var(--font-display);letter-spacing:-2px}h2{font:700 27px/1.35 var(--font-interface);letter-spacing:-.6px;margin:35px 0 20px}h3{font:700 21px/1.5 var(--font-interface);margin:25px 0 15px}strong{font-weight:650}ul,ol{padding-left:24px;margin:20px 0 28px}li{margin:8px 0}.site-header{position:sticky;top:0;z-index:60;background:var(--white);max-width:1320px;margin:auto;min-height:108px;display:flex;align-items:center;justify-content:space-between;padding:22px 40px;gap:24px;border-bottom:1px solid #bfbfbf60}.brand{font:400 22px/1.5 var(--font-display);text-decoration:none;white-space:nowrap}.brand span{display:block;font:400 11px/1.5 var(--font-interface);letter-spacing:.5px;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav a{font-size:13px;text-decoration:none;white-space:nowrap}.site-header nav [aria-current=page]{border-bottom:2px solid var(--blue);padding-bottom:4px}.contact-link{background:var(--navy);color:white!important;padding:11px 16px;border-radius:2px}.menu-toggle{display:none}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:10px;z-index:99}.hero{max-width:1240px;margin:64px auto 84px;padding:0 40px;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;margin:0 0 24px;color:var(--navy);display:block}.eyebrow:before{content:'';display:inline-block;width:26px;height:2px;background:var(--blue);margin:0 12px 3px 0}.hero h1{margin-bottom:27px}.hero-deck{font-size:17px;line-height:1.9;max-width:500px}.hero-actions{display:flex;align-items:center;gap:24px;margin:30px 0 32px}.button{display:inline-flex;align-items:center;gap:28px;background:var(--navy);padding:14px 22px;color:white;text-decoration:none;font-size:13px;font-weight:600;border-radius:2px}.button:hover{background:var(--blue);color:white}.text-link{font-size:13px;font-weight:600;white-space:nowrap}.hero-role{font-size:12px;line-height:1.8;margin:0;padding-left:15px;border-left:2px solid var(--gray)}.hero-photo{position:relative}.hero-photo img{display:block;width:100%;height:520px;object-fit:cover;object-position:27% 25%;border-radius:2px}.hero-photo:before{content:'';position:absolute;right:-15px;top:16px;bottom:-15px;width:90%;background:var(--tint);z-index:-1}.hero-photo figcaption{font-size:11px;letter-spacing:.2px;margin-top:15px;color:var(--navy)}.work-intro{max-width:1240px;margin:auto;padding:70px 40px;border-top:1px solid var(--gray)}.section-lead{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;margin-bottom:35px}.section-lead .eyebrow{grid-column:1/-1}.section-lead h2,.story-divider h2{font:400 36px/1.35 var(--font-display);margin:0;letter-spacing:-1px}.section-lead p:last-child{font-size:16px;max-width:400px;align-self:end;margin-bottom:0}.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.work-card{display:flex;flex-direction:column;text-decoration:none;padding:26px 22px 22px;border:1px solid #bfbfbf85;min-height:300px;transition:transform .2s,background .2s}.work-card:hover{transform:translateY(-5px);background:var(--tint);color:var(--navy)}.card-number{font:400 28px/1 var(--font-display);color:var(--blue)}.work-card h2{font-size:19px;letter-spacing:-.3px;margin:22px 0 15px}.work-card p{font-size:13px;line-height:1.85;flex:1}.card-link{font-size:11px;font-weight:650;border-top:1px solid #bfbfbf60;padding-top:17px;display:flex;justify-content:space-between;gap:8px}.card-link b{color:var(--blue);font-size:16px}.story-divider{max-width:1160px;margin:0 auto;padding:70px 40px;background:var(--tint)}.story-divider p{margin:24px 0 0}.page-intro{max-width:1160px;margin:60px auto 70px;padding:0 40px}.page-intro h1{max-width:950px;margin-bottom:27px}.page-intro>p:last-child{max-width:630px;font-size:18px;line-height:1.85}.page-trail{max-width:1160px;margin:30px auto 0;padding:0 40px;display:flex;gap:12px;font-size:11px}.page-trail span{color:var(--gray)}.editorial-section{max-width:1160px;margin:auto;padding:50px 40px;border-bottom:1px solid #bfbfbf60}.content-grid{display:grid;gap:40px;align-items:start}.columns-1{grid-template-columns:minmax(0,760px);justify-content:center}.columns-2{grid-template-columns:1fr 1fr}.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.columns-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.content-column{min-width:0}.content-column>h2:first-child{margin-top:0}.content-column>img{display:block;width:100%;max-height:620px;object-fit:contain;margin-bottom:24px}.content-column a>img{display:block;margin-bottom:24px}.columns-4 .content-column p{font-size:13px;line-height:1.85;margin:15px 0}.columns-4 h2{font-size:17px}.columns-2 .content-column{font-size:15px}.content-column small{display:block;font-size:12px}.content-column table{width:100%;border-collapse:collapse}.content-column td,.content-column th{padding:8px;border:1px solid var(--gray)}.page-index .editorial-section:first-of-type{border:0}.additional-work{display:flex;gap:30px;margin:35px 0 0;font-size:14px}.beanmore-illustration{margin:28px 0 35px}.beanmore-illustration img{display:block;width:100%;border-radius:2px}.embedded-video{position:relative;aspect-ratio:16/10;background:var(--navy);overflow:hidden}.video-preview{position:absolute;inset:0;padding:0;border:0;background:var(--navy);color:white;width:100%;height:100%}.video-preview img{width:100%;height:100%;object-fit:cover;display:block}.video-title{position:absolute;top:0;left:0;right:0;padding:10px;background:#003366b3;color:white;font-size:11px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.youtube-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--navy);border:1px solid #fff8;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;font-size:18px}.video-preview:hover .youtube-play{background:var(--blue)}.embedded-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.document-preview{display:flex;flex-direction:column;width:100%;padding:0;background:white;border:1px solid var(--gray);text-align:left;overflow:hidden;color:var(--navy);aspect-ratio:1}.document-preview img{display:block;width:100%;height:0;flex:1;min-height:0;object-fit:cover;object-position:top}.document-preview span{padding:12px;font-size:11px;background:var(--tint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-preview[data-document*=handout]{aspect-ratio:1}.document-preview[data-document*=handout] img{object-fit:contain}.document-preview[data-document*=handout] span{display:none}.gallery{margin:0 0 25px}.gallery-stage{background:var(--tint);overflow:hidden}.gallery figure{margin:0}.photo-open{padding:0;border:0;background:none;width:100%;display:block}.gallery-stage img{width:100%;height:360px;object-fit:contain;display:block}.gallery-controls{display:flex;justify-content:center;gap:24px;align-items:center;padding:8px}.gallery-controls button{border:0;background:white;color:var(--navy);font-size:24px}.count{font-size:11px}.thumbnails{display:flex;gap:6px;overflow:auto;padding:5px 0}.thumb{border:2px solid transparent;flex:0 0 48px;height:40px;padding:0;background:none}.thumb[aria-current=true]{border-color:var(--blue)}.thumb img{width:100%;height:100%;object-fit:cover}dialog{padding:45px 15px 15px;border:0;max-width:95vw;max-height:95vh;background:white;box-shadow:0 10px 40px #00336655}dialog::backdrop{background:#003366c9}#photo-view img{max-height:75vh;max-width:88vw;object-fit:contain}#photo-view p{font-size:13px}dialog>button{position:absolute;right:12px;top:5px;border:0;background:none;font-size:28px;color:var(--navy)}#document-view{width:90vw;height:92vh}#document-view iframe{width:100%;height:100%;border:0}[hidden]{display:none!important}footer{background:var(--navy);color:white;margin-top:80px}.footer-inner{max-width:1240px;margin:auto;padding:65px 40px 30px}.brand-name{font:400 32px/1.4 var(--font-display)}.footer-email{display:inline-block;color:white;font-size:18px;margin:18px 0 45px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #bfbfbf50;padding-top:25px;gap:20px;font-size:11px}.footer-bottom>div{display:flex;gap:25px}.footer-bottom a{color:white}.local-preview-notice{position:fixed;bottom:12px;left:12px;right:12px;z-index:100;background:white;border:1px solid var(--blue);padding:12px;font-size:14px;box-shadow:0 2px 12px #00336633}.video-external{aspect-ratio:16/10;background:var(--tint);position:relative}.video-external img{width:100%;height:100%;object-fit:cover}.video-external a{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:white;background:#00336660;text-align:center;padding:20px;font-size:13px;font-weight:650}.video-note{font-size:12px!important;margin-top:10px!important}
@media(min-width:1000px){.page-experience .columns-2{grid-template-columns:1.35fr 1fr}.page-index .columns-2{grid-template-columns:1fr 1.3fr}}
@media(max-width:1000px){.site-header{padding:22px 24px}.site-header nav{gap:15px}.site-header nav a{font-size:12px}.hero{gap:30px;margin-top:45px;padding:0 30px}.hero-photo img{height:460px}.hero-actions{gap:15px}.work-grid{grid-template-columns:repeat(2,1fr)}.work-card{min-height:260px}.columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){h1{font-size:40px;letter-spacing:-1.2px}.site-header{min-height:90px;position:sticky}.brand{font-size:19px}.brand span{font-size:9px}.menu-toggle{display:block;background:none;border:1px solid var(--gray);padding:7px 10px;font-size:12px;color:var(--navy)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px;background:white;border-bottom:1px solid var(--gray);z-index:50;align-items:stretch;flex-direction:column;gap:18px}.site-header nav.open{display:flex}.site-header nav a{font-size:15px}.hero{grid-template-columns:1fr;gap:35px;padding:0 24px;margin:40px auto 50px}.hero-deck{font-size:16px}.hero-photo img{height:410px;object-position:25% 27%}.hero-photo:before{right:-8px;bottom:-8px}.hero-actions{flex-wrap:wrap}.work-intro{padding:45px 24px}.section-lead{display:block}.section-lead h2,.story-divider h2{font-size:30px}.section-lead p:last-child{margin-top:20px}.work-grid{gap:14px}.work-card{padding:20px 15px;min-height:285px}.work-card h2{font-size:17px}.work-card p{font-size:12px}.card-link{font-size:10px}.story-divider{padding:40px 24px}.editorial-section{padding:35px 24px}.columns-2,.columns-3,.columns-4{grid-template-columns:1fr;gap:30px}.columns-4 .content-column p{font-size:15px}.page-intro{padding:0 24px;margin:40px 0}.page-intro>p:last-child{font-size:16px}.page-trail{padding:0 24px;font-size:10px}.gallery-stage img{height:300px}.embedded-video{min-height:220px}.footer-inner{padding:45px 24px 25px}.brand-name{font-size:27px}.footer-email{font-size:15px}.footer-bottom{flex-direction:column}.footer-bottom>div{flex-wrap:wrap;gap:18px}.additional-work{flex-direction:column;gap:15px}footer{margin-top:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.embedded-video{min-height:200px}.model-identity{max-width:1080px;margin:0 auto 20px;padding:0 40px}.model-identity img{max-width:280px;max-height:120px;object-fit:contain}@media(max-width:760px){.model-identity{padding:0 24px}}

/* Home page portrait and impact statement; shared navigation remains visible. */
.home-tiles{max-width:1240px;margin:0 auto 64px;padding:0 40px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.photo-tile{display:block;text-decoration:none;overflow:hidden;background:var(--navy);color:white;position:relative}.photo-tile img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s}.photo-tile[href="speaking-engagements.html"] img{object-position:center 25%}.tile-label{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px;font-weight:600;line-height:1.35;padding:17px 16px;min-height:78px;color:white}.tile-label>span{font-weight:400;color:var(--gray)}.photo-tile:hover{color:white}.photo-tile:hover img{transform:scale(1.035)}.photo-tile:hover .tile-label{background:var(--blue)}.photo-tile:focus-visible{outline-offset:6px}.page-index.home-nav-ready .site-header{position:fixed;left:50%;width:100%;transform:translate(-50%,-110%);visibility:hidden;pointer-events:none;transition:transform .25s,visibility .25s;box-shadow:0 3px 15px #00336614}.page-index.home-nav-ready.nav-revealed .site-header{transform:translate(-50%,0);visibility:visible;pointer-events:auto}.page-index.home-nav-ready .hero{margin-top:70px}@media(max-width:760px){.home-tiles{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:50px;padding:0 24px;gap:16px}.tile-label{font-size:14px;padding:14px 12px;gap:8px;min-height:76px}.page-index.home-nav-ready .hero{margin-top:40px}}@media(prefers-reduced-motion:reduce){.photo-tile img,.page-index.home-nav-ready .site-header{transition:none}}
.hero-photo img{height:auto;aspect-ratio:2/1;object-fit:contain;object-position:center}.hero-photo figcaption{font-size:16px;line-height:1.8;letter-spacing:0;margin-top:20px}.hero-photo:before{display:none}.brand span{white-space:normal;max-width:350px}.site-header nav.open{max-height:calc(100dvh - 110px);overflow:auto}@media(max-width:1100px) and (min-width:761px){.site-header{gap:16px;padding-left:24px;padding-right:24px}.brand span{max-width:260px}.site-header nav{gap:12px}.site-header nav a{font-size:12px}.contact-link{padding:10px}}@media(max-width:760px){.brand{white-space:normal}.brand span{max-width:245px}.hero-photo img{height:auto}.hero-photo figcaption{font-size:16px}.hero{align-items:start}.menu-toggle{flex-shrink:0}}

.photo-tile[href="educational-philosophy.html"] img{object-position:center 15%}
.ai-home-tile{grid-column:1/-1;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:28px;min-height:210px;padding:34px 42px;text-decoration:none;background:#eaf3f9;color:#003366;border:1px solid #d1e2ef}.ai-home-tile-copy{display:grid;gap:9px}.ai-home-tile-copy small{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#4f81bc}.ai-home-tile-copy strong{font:400 clamp(28px,3vw,40px)/1.15 Georgia,serif}.ai-home-tile-copy>span{max-width:60ch;font-size:15px}.ai-home-tile-copy b{font-size:14px;text-decoration:underline;text-underline-offset:5px;margin-top:7px}.ai-home-tile-art{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;align-items:center}.ai-home-tile-art i{display:grid;place-items:center;min-height:75px;background:#003366;color:white;font-style:normal;font-weight:700;font-size:13px}.ai-home-tile-art i:first-child{grid-column:1/-1;background:#4f81bc;min-height:50px;font:400 25px Georgia,serif}.ai-home-tile:hover{background:#dcecf7}.ai-home-tile:focus-visible{outline:3px solid #4f81bc;outline-offset:4px}@media(max-width:650px){.ai-home-tile{grid-template-columns:1fr;padding:26px}.ai-home-tile-art i{min-height:50px}}
.page-career .work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.page-career .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.page-career .work-grid{grid-template-columns:1fr}}
.ai-home-tile{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:340px}.ai-home-tile-art{display:block}.ai-home-tile-art img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;box-shadow:0 12px 28px #00336624}.site-header nav .work-nav{margin-right:-12px}@media(max-width:760px){.site-header nav .work-nav{margin-right:0}}
@media(max-width:650px){.ai-home-tile{grid-template-columns:1fr;min-height:0}.ai-home-tile-art img{max-height:none}}

/* Full-width alternating sections across the portfolio. */
.section-tone-soft{position:relative;isolation:isolate}
.section-tone-soft::before{content:"";position:absolute;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:#f1f6fa;z-index:-1}

/* Featured work: let the artwork meet the tile edge and make its labels readable. */
.ai-home-tile{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);padding:0;gap:0;overflow:hidden}
.ai-home-tile-copy{padding:36px 42px}
.ai-home-tile-art{position:relative;min-height:340px;height:100%;overflow:hidden}
.ai-home-tile-art img{width:100%;height:100%;max-height:none;object-fit:cover;box-shadow:none}
@media(max-width:650px){.ai-home-tile{grid-template-columns:1fr}.ai-home-tile-copy{padding:26px}.ai-home-tile-art{min-height:0;height:auto}.ai-home-tile-art img{height:auto}}

/* A separate, familiar Home control anchors the left edge of the page menu. */
.site-header nav .home-nav-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding-right:20px;margin-right:2px;border-right:1px solid #bfbfbf80}
.site-header nav .home-nav-link svg{width:20px;height:20px;display:block}
.site-header nav .home-nav-link[aria-current=page]{border-bottom:0;padding-bottom:0}
.home-nav-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.page-about .story-divider{margin-top:60px}
.page-about .story-divider h1{font-size:clamp(38px,4vw,58px)}
@media(max-width:760px){.site-header nav .home-nav-link{justify-content:flex-start;gap:12px;margin-right:0;padding:0 4px 13px;border-right:0;border-bottom:1px solid #bfbfbf60}.home-nav-text{position:static;width:auto;height:auto;clip:auto;overflow:visible;font-size:15px}.page-about .story-divider{margin-top:36px}}
.footer-bottom a{text-decoration:none}
