.visual-section{background:#e8eee4}.visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.visual-card{background:var(--paper);border:1px solid #d3ddcd;transition:transform .2s}.visual-card:hover{transform:translateY(-4px)}.visual-card img{width:100%;height:auto;aspect-ratio:1.6}.visual-card>div{padding:25px}.visual-card .eyebrow{font-size:8px;color:#6d805c}.visual-card h3{font-size:26px;line-height:1.25;min-height:98px}.visual-card p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.8;margin:15px 0 20px}.visual-card .text-link{font-size:11px}.full-library-callout{display:flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid #c8d1be;padding:30px;margin-bottom:30px;background:#f8f9f0}.full-library-callout h3{font-size:27px}.full-library-callout .eyebrow{font-size:8px;margin-bottom:10px}.full-library-callout p:not(.eyebrow){font-size:12px;color:var(--muted);margin:13px 0 0;max-width:560px}.full-library-callout .button{flex-shrink:0}.compact-teaching{padding-block:70px}.teaching-history-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:35px}.teaching-history-heading .eyebrow{color:var(--muted)}.teaching-history-heading h2{font-size:42px}.past-course-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.past-course{border-top:1px solid var(--line);padding:24px 0}.past-course .eyebrow{font-size:8px;line-height:1.8;color:#718168;margin-bottom:10px}.past-course h3{font-size:24px;line-height:1.3}.past-course p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8;margin:13px 0}.course-role{font-size:9px;color:#718168}.page-intro{padding-block:75px 45px;max-width:1100px}.page-intro>.eyebrow{color:var(--muted);margin-bottom:25px}.page-intro h1{font-size:clamp(45px,5.6vw,76px);letter-spacing:-2.5px;line-height:1.12}.page-intro h1 em{color:#75834f}.page-lead{font-size:18px;line-height:1.85;max-width:800px;color:#55684f;margin:28px 0}.record-scope{font-size:12px;color:var(--muted);line-height:1.9;max-width:760px}.catalogue{padding-bottom:75px}.catalogue-controls{display:grid;grid-template-columns:1.4fr 1fr 100px;gap:25px;align-items:end;padding:25px 0 30px;border-block:1px solid var(--line)}.catalogue-controls label,.contact-topic{display:block;font-size:12px;font-weight:500}.catalogue-controls input,.catalogue-controls select,.contact-topic select{display:block;background:white;border:1px solid #bac6af;padding:13px 14px;font:inherit;color:var(--ink);margin-top:10px;width:100%;min-width:0;border-radius:0}.catalogue-controls p{font-size:11px;margin-bottom:14px;color:var(--muted)}.catalogue-record{border-bottom:1px solid var(--line);padding:27px 0}.catalogue-record[hidden]{display:none}.record-meta{display:flex;gap:22px;align-items:center;font-size:10px;color:#6e805e;margin-bottom:12px}.record-meta span:last-child{font-size:9px;text-transform:uppercase;letter-spacing:1px}.catalogue-record h2{font-size:25px;line-height:1.35;letter-spacing:-.35px;max-width:1000px}.catalogue-record p{font-size:12px;line-height:1.8;margin:12px 0 0;color:#5b6d54}.catalogue-record p.venue{color:var(--muted);margin:5px 0 12px}.catalogue-record>a{font-size:11px;border-bottom:1px solid #98a888}.record-note{font-size:10px;color:#78866f}.development{padding-top:65px;max-width:1000px}.development>article{padding-top:25px}.development h3{font-size:25px;line-height:1.35}.development p{font-size:12px;color:var(--muted);margin-top:13px;line-height:1.9}.teaching-archive{padding-bottom:80px}.teaching-archive>h2{font-size:34px;margin-bottom:35px}.mentorship{margin-top:45px;padding:35px;background:#edf0e5;max-width:900px}.mentorship h2{font-size:30px}.mentorship p{font-size:14px;color:var(--muted);line-height:1.9;margin-top:22px}.brief-intro h1{max-width:950px}.brief-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:30px}.brief-actions button{background:transparent}.brief-actions .primary{background:var(--ink)}.brief-actions .text-link{font-size:11px}.copy-status{font-size:11px}.brief-content{padding-bottom:70px}.poster-figure{margin:0}.poster-figure img{width:100%;height:auto;border:1px solid var(--line)}.poster-figure figcaption{font-size:10px;color:var(--muted);margin-top:12px}.brief-text{max-width:790px;margin:55px auto 0}.brief-text h2{font-size:38px;line-height:1.3}.brief-text>p{font-size:16px;line-height:1.95;color:#586a51;margin-top:25px}.brief-text>h3{font-size:28px;margin-top:40px}.brief-text ol{font-size:15px;line-height:1.95;color:#586a51;padding-left:24px}.brief-text li{margin-bottom:13px}.source-box{padding:30px;background:#edf1e7;border-left:3px solid #7d9561;margin-top:35px}.source-box h3{font-size:25px}.source-box p{font-size:13px;line-height:1.9;margin:20px 0}.brief-text p.reuse-note{font-size:11px}.contact-email{background:transparent;padding-left:0;text-align:left;font-family:var(--sans)}#contact-dialog .button{margin:20px 20px 20px 0}#contact-dialog .text-link{background:none}#contact-dialog #revealed-email{font-size:16px;word-break:break-word}.contact-help{font-size:13px;color:var(--muted);margin-top:20px}.contact-topic select{font-size:14px}.subheader nav{display:flex}.page-intro+.teaching-archive{padding-top:20px}#empty-results{padding:35px 0}
@media(max-width:1000px){.visual-grid{gap:15px}.visual-card>div{padding:20px}.visual-card h3{font-size:23px;min-height:110px}.visual-card p:not(.eyebrow){font-size:12px}.full-library-callout{padding:25px}.full-library-callout h3{font-size:23px}}
@media(max-width:800px){.visual-grid{grid-template-columns:1fr}.visual-card{display:grid;grid-template-columns:1fr 1fr;align-items:center}.visual-card h3{min-height:0;font-size:25px}.visual-card p:not(.eyebrow){font-size:12px}.visual-card img{border-right:1px solid var(--line)}.full-library-callout{align-items:start;flex-direction:column;gap:22px}.past-course-list{gap:0 25px}.past-course h3{font-size:22px}.teaching-history-heading{align-items:start;flex-direction:column}.catalogue-controls{grid-template-columns:1.2fr 1fr;gap:20px}.catalogue-controls p{grid-column:1/-1;margin:0}.subheader nav{position:static;box-shadow:none;border:0;padding:0;background:transparent;display:flex;gap:18px;font-size:11px}.subheader .wordmark-sub{display:none}.page-intro{padding-top:55px}.page-lead{font-size:16px}.brief-text h2{font-size:33px}}
@media(max-width:560px){.visual-card{display:block}.visual-card img{border:0}.visual-card h3{font-size:29px}.visual-card>div{padding:25px}.visual-card p:not(.eyebrow){font-size:13px}.visual-grid{gap:25px}.full-library-callout{padding:23px}.full-library-callout h3{font-size:27px}.past-course-list{grid-template-columns:1fr}.teaching-history-heading h2{font-size:35px}.compact-teaching{padding-block:55px}.past-course h3{font-size:25px}.past-course p:not(.eyebrow){font-size:13px}.past-course .eyebrow{font-size:9px}.course-role{font-size:10px}.page-intro h1{font-size:43px;letter-spacing:-1.4px}.page-intro>.eyebrow{font-size:8px}.page-intro .page-lead{font-size:15px}.catalogue-controls{grid-template-columns:1fr}.catalogue-record h2{font-size:23px}.record-meta{align-items:start;gap:15px}.record-meta span:last-child{font-size:8px;line-height:1.8}.catalogue-record p{font-size:12px}.subheader{height:auto;min-height:104px;gap:17px;align-items:start;padding-block:20px;flex-wrap:wrap}.subheader .wordmark{font-size:10px}.subheader .monogram{font-size:33px}.subheader nav{flex-basis:100%;gap:21px;font-size:10px}.subheader nav a{padding:0}.mentorship{padding:25px}.teaching-archive>h2{font-size:30px}.brief-actions{gap:20px}.brief-text h2{font-size:30px}.brief-text>p{font-size:15px}.poster-figure img{min-height:0}.source-box{padding:23px}.brief-text li{font-size:14px}}
@media(min-width:561px) and (max-width:700px){.hero{grid-template-columns:1fr;gap:35px}.hero h1{font-size:76px;letter-spacing:-3.4px}.hero-description{max-width:500px;font-size:15px}.hero-actions{flex-direction:row;align-items:center}.portrait-image{height:500px}}
@media print{.header,.footer,.brief-actions,.skip-link{display:none!important}body{background:white;color:black}.wrap{width:100%}.page-intro{padding:0 0 25px}.page-intro h1{font-size:30px}.page-lead{font-size:13px;margin:15px 0}.poster-figure{break-inside:avoid}.brief-text{margin-top:25px}.brief-text h2{font-size:22px}.brief-text>p,.brief-text li{font-size:11px;line-height:1.6}.brief-text h3{font-size:18px}.source-box{break-inside:avoid}a{color:black}.brief-content{padding:0}img{max-width:100%}}
.publication-profiles{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;padding:35px 0 55px}.publication-profiles .eyebrow{color:var(--muted);margin-bottom:12px}.publication-profiles h2{font-size:34px;line-height:1.2;max-width:420px}.publication-profiles>div>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted);max-width:470px;margin-top:16px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-card{position:relative;display:flex;flex-direction:column;min-height:126px;padding:22px 50px 20px 22px;border:1px solid #c8d1be;background:#f8f9f0;transition:transform .2s,border-color .2s}.profile-card:hover{transform:translateY(-3px);border-color:#7f936b}.profile-card strong{font-family:var(--serif);font-size:21px;font-weight:500}.profile-card span{font-size:10px;line-height:1.6;color:var(--muted);margin-top:10px}.profile-card b{position:absolute;right:20px;top:19px;font-size:16px;font-weight:400;color:#738465}
@media(max-width:800px){.publication-profiles{grid-template-columns:1fr;gap:28px}}
@media(max-width:560px){.profile-grid{grid-template-columns:1fr}.profile-card{min-height:112px}.publication-profiles h2{font-size:30px}}
@media print{.publication-profiles{display:none}}

/* Portrait: an editorial arch with an offset, hand-set frame. */
.portrait{isolation:isolate;padding:28px 26px 4px 0}
.portrait::before{content:"";position:absolute;z-index:-2;inset:48px 0 74px 42px;background:#d8dfc6;border-radius:50% 50% 24px 24px / 31% 31% 24px 24px;transform:rotate(2.4deg)}
.portrait::after{content:"";position:absolute;z-index:-1;inset:14px 42px 96px -18px;border:1px solid #91a076;border-radius:50% 50% 22px 22px / 31% 31% 22px 22px;transform:rotate(-1.8deg);pointer-events:none}
.portrait-image{border-radius:50% 50% 20px 20px / 31% 31% 20px 20px;box-shadow:0 22px 50px rgba(32,62,52,.12)}
.portrait-image::after{content:"";position:absolute;inset:11px;border:1px solid rgba(255,255,255,.5);border-radius:inherit;pointer-events:none}
.portrait-corner{right:2px;top:72px;width:58px;height:58px;border-radius:50%;box-shadow:0 9px 24px rgba(32,62,52,.18);z-index:2}
@media(max-width:800px){.portrait{padding:24px 20px 4px 0}.portrait::before{inset:42px 0 68px 34px}.portrait::after{inset:12px 34px 88px -12px}.portrait-corner{right:0;top:60px;width:50px;height:50px}}
@media(max-width:560px){.portrait{padding:22px 16px 2px 0}.portrait::before{inset:40px 0 61px 30px}.portrait::after{inset:10px 28px 80px -10px}.portrait-corner{right:-1px;top:56px;width:46px;height:46px}}
@media print{.portrait::before,.portrait::after,.portrait-image::after{display:none}}
.venture-live{position:relative;border-color:#8ca06f;background:#f4f7e9}
.venture-live::after{content:"LIVE";position:absolute;right:16px;top:16px;padding:4px 7px;border-radius:99px;background:#dce8a8;color:#254539;font:700 7px/1 var(--sans);letter-spacing:1px}
.venture-live:hover{background:#eef4dc}
.venture-live:focus-visible{outline:3px solid #82985b;outline-offset:3px}
.venture-parent{display:grid;grid-template-columns:1fr 1.45fr auto;gap:35px;align-items:center;margin:0 0 25px;padding:27px 30px;background:#203e34;color:#f4f4e8}
.venture-parent .eyebrow{display:block;margin-bottom:8px;color:#bdcaa9;font-size:7px}
.venture-parent h3{font-size:27px;line-height:1.25}
.venture-parent p{margin:0;color:#c8d3c4;font-size:12px;line-height:1.8}
.venture-parent .text-link{color:#edf2d9;border-bottom-color:#91a784;white-space:nowrap}
@media(max-width:800px){.venture-parent{grid-template-columns:1fr 1fr}.venture-parent .text-link{justify-self:start}.venture-parent p{grid-row:1/3;grid-column:2}}
@media(max-width:560px){.venture-parent{grid-template-columns:1fr;gap:18px;padding:24px}.venture-parent p{grid-row:auto;grid-column:auto}.venture-parent h3{font-size:25px}}

/* Floating homepage navigation: always within reach on long pages. */
.header:not(.subheader){position:sticky;top:12px;z-index:100;width:min(1420px,calc(100% - 24px));height:82px;margin:12px auto 0;padding-inline:32px;border:1px solid rgba(109,124,99,.35);border-radius:14px;background:rgba(248,247,242,.9);box-shadow:0 12px 38px rgba(32,60,51,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.header:not(.subheader) nav>a{border-radius:999px;padding:7px 10px;transition:background .18s,color .18s}
.header:not(.subheader) nav>a:hover,.header:not(.subheader) nav>a:focus-visible{background:#e8eddc;color:var(--ink)}
.header:not(.subheader) .nav-contact{padding-inline:10px;border-bottom:0;background:#203c33;color:#fff}
.header:not(.subheader) .nav-contact:hover,.header:not(.subheader) .nav-contact:focus-visible{background:#355448;color:#fff}
@media(max-width:800px){html{scroll-padding-top:105px}.header:not(.subheader){top:8px;width:calc(100% - 16px);height:70px;margin-top:8px;padding-inline:20px;border-radius:12px}.header:not(.subheader) nav{top:calc(100% + 8px);left:0;right:0;padding:18px 20px 22px;border:1px solid var(--line);border-radius:12px;background:rgba(248,247,242,.97);box-shadow:0 18px 40px rgba(32,60,51,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.header:not(.subheader) nav.open{display:grid}.header:not(.subheader) nav>a{padding:8px 10px}.header:not(.subheader) .nav-contact{justify-self:stretch;justify-content:space-between}}
@media(max-width:560px){.header:not(.subheader){padding-inline:16px}.header:not(.subheader) .wordmark-sub{display:none}}
@media print{.header:not(.subheader){display:none!important}}
