:root{--fg:#111;--muted:#5e5e5e;--line:#d9d9d9;--soft:#f2f2f2;--accent:#9d1117;--accent-dark:#6f0d12;--max:1180px;--radius:18px;--serif:Georgia,"Times New Roman",serif;--sans:Inter,Arial,"Noto Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--fg);font-family:var(--sans);line-height:1.62;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none;text-underline-offset:.22em}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.skip-link{position:absolute;left:-999px;top:10px;background:#fff;border:1px solid var(--fg);padding:.6rem 1rem;z-index:99}.skip-link:focus{left:10px}.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:var(--max);margin:0 auto;padding:13px 22px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand-image{line-height:0}.brand-image img{width:min(360px,45vw);max-height:168px;object-fit:contain;display:block}.nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.nav a{color:var(--fg);font-size:.92rem}.nav a:hover{color:var(--accent)}.lang{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--fg);font-size:.86rem;background:#fff}.lang img{width:18px;height:12px}.menu-button{display:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem;font:inherit;color:var(--fg)}main{background:#fff}.section{max-width:var(--max);margin:0 auto;padding:72px 22px;border-bottom:1px solid var(--soft);background:#fff}.section:last-child{border-bottom:0}.hero{max-width:var(--max);margin:0 auto;padding:70px 22px 54px;background:#fff;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(220px,.55fr);gap:42px;align-items:center;border-bottom:1px solid var(--soft)}.eyebrow{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;margin:0 0 10px}h1{font-family:var(--serif);font-size:clamp(1.35rem,3vw,2.15rem);line-height:1.18;margin:.1em 0 .45em;letter-spacing:.16em;word-spacing:.12em;font-weight:500;text-transform:none}.hero .subtitle{font-size:clamp(1.04rem,2.1vw,1.24rem);color:#202020;margin:0 0 1.5rem;max-width:760px}.tagline{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0;color:var(--muted)}.tagline span{border-bottom:1px solid var(--line);padding-bottom:3px}.hero-card{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff;text-align:center}.hero-gif img{max-height:360px;object-fit:contain;background:transparent}.hero-card p{margin:10px 0 0;color:var(--muted);font-size:.92rem}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--accent);border-radius:999px;padding:.72rem 1rem;background:#fff;color:var(--accent);font-weight:700;line-height:1}.button:hover{background:#fff;color:var(--accent-dark);text-decoration:none;border-color:var(--accent-dark)}.button.secondary{border-color:var(--fg);color:var(--fg)}.section-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px;align-items:end;margin-bottom:30px}.kicker{color:var(--accent);font-weight:800;letter-spacing:.13em;text-transform:uppercase;font-size:.76rem;margin:0 0 8px}.section h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,4vw,3rem);line-height:1.12;letter-spacing:.04em;word-spacing:.06em;margin:0}.section-head p{margin:0;color:var(--muted);font-size:1.02rem}.card{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:#fff}.card h3{margin:0 0 8px;font-size:1.1rem;line-height:1.35}.card p{margin:0;color:var(--muted)}.card ul{margin:10px 0 0;padding-left:1.1rem;color:var(--muted)}.profile-card{display:grid;gap:14px;max-width:980px}.profile-card p{color:#202020}.accordion-stack{display:grid;gap:14px}.accordion-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.accordion-card summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:800;letter-spacing:.04em;color:var(--fg);display:flex;justify-content:space-between;align-items:center}.accordion-card summary::-webkit-details-marker{display:none}.accordion-card summary:after{content:"+";font-size:1.35rem;color:var(--accent);font-weight:400}.accordion-card[open] summary{border-bottom:1px solid var(--line)}.accordion-card[open] summary:after{content:"−"}.accordion-card>.linked-list,.accordion-card>.compact-card-list,.accordion-card>.exhibition-list,.accordion-card>.poster-link{margin:0;padding:18px 22px}.linked-list,.compact-card-list,.exhibition-list{list-style:none;display:grid;gap:12px}.linked-list li,.exhibition-list li{display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;border-top:1px solid var(--line);padding-top:12px}.linked-list li:first-child,.exhibition-list li:first-child{border-top:0;padding-top:0}.compact-card-list li{border-top:1px solid var(--line);padding-top:12px}.compact-card-list li:first-child{border-top:0;padding-top:0}.list-year{font-weight:800;color:var(--accent)}.course-list{margin-top:10px}.course-list strong{color:var(--fg)}.course-list ul{margin:5px 0 0 1.1rem;padding:0;color:var(--muted)}.publication-list{counter-reset:pub;display:grid;gap:12px;margin:0;padding:0;list-style:none}.publication-list li{counter-increment:pub;border-top:1px solid var(--line);padding:14px 0 0;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px}.publication-list li::before{content:counter(pub,decimal-leading-zero);font-weight:800;color:var(--accent);font-size:.85rem}.publication-list strong{font-weight:750}.publication-list span{display:block;color:var(--muted);font-size:.94rem;margin-top:2px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.work-tile{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;margin:0}.work-tile button{display:block;width:100%;padding:0;border:0;background:#fff;cursor:pointer;text-align:left;color:inherit}.work-tile img{display:block;width:100%;border-bottom:1px solid var(--line)}.work-tile span{display:block;padding:10px 12px;font-size:.9rem;color:var(--muted)}.sculpture-accordions{margin-top:24px}.poster-link{color:var(--muted)}.link-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.link-card{border:1px solid var(--line);border-radius:16px;min-height:96px;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;background:#fff;color:var(--fg);font-weight:700}.link-card img{max-height:62px;width:auto;transition:transform .2s ease}.link-card:hover{text-decoration:none;border-color:var(--accent);color:var(--accent)}.link-card:hover img{transform:translateY(-1px)}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.contact-line{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;border-top:1px solid var(--line);padding:12px 0}.contact-line:first-child{border-top:0}.contact-line strong{color:var(--accent)}footer{background:#fff;border-top:1px solid var(--line);padding:28px 22px;color:var(--muted)}.footer-inner{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}dialog{border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--fg);padding:0;width:min(1180px,94vw)}dialog::backdrop{background:rgba(255,255,255,.92)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff}.modal-head button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.45rem .8rem;font:inherit;cursor:pointer}.modal-body{padding:12px;background:#fff}.modal-body img{display:block;margin:0 auto;background:#fff}@media (max-width:900px){.hero,.section-head,.contact-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.link-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.nav{display:none}.nav.open{display:flex;position:absolute;left:0;right:0;top:100%;padding:12px 22px;background:#fff;border-bottom:1px solid var(--line);justify-content:flex-start}.menu-button{display:inline-flex}.header-inner{position:relative}}@media (max-width:560px){.brand-image img{width:min(280px,70vw);max-height:132px}.linked-list li,.exhibition-list li{grid-template-columns:1fr}.gallery-grid,.link-strip{grid-template-columns:1fr}.hero{padding-top:42px}.section{padding:52px 18px}.header-inner{padding-inline:18px}.contact-line{grid-template-columns:1fr}.actions .button{width:100%}}@media print{.site-header,.actions,.work-tile button span,dialog{display:none}a{color:#000;text-decoration:none}.section,.hero{page-break-inside:avoid}}

/* v4 refinements */
.eyebrow,.kicker{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;margin:0 0 10px;}
.hero h1{font-size:clamp(1.12rem,2.15vw,1.55rem);letter-spacing:.14em;word-spacing:.10em;line-height:1.22;margin:.1em 0 .55em;}
.hero .subtitle{font-size:clamp(.98rem,1.85vw,1.16rem);}
.hero-card{border:0;padding:0;background:#fff;}
.hero-gif img{max-height:360px;object-fit:contain;background:transparent;}
.section-head{align-items:start;}
.section h2{font-size:clamp(1.55rem,3.15vw,2.35rem);}
.section-head>p{display:none;}
.linked-list>li,.exhibition-list>li{display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;border-top:1px solid var(--line);padding-top:12px;}
.linked-list>li:first-child,.exhibition-list>li:first-child{border-top:0;padding-top:0;}
.course-list{margin-top:14px;max-width:760px;}
.course-list ul{list-style:disc;margin:.35rem 0 0 1.2rem;padding:0;color:var(--muted);display:block;}
.course-list li{display:list-item!important;grid-template-columns:none!important;border-top:0!important;padding-top:0!important;margin:.15rem 0!important;}
.technology-list .video-wrap{margin-top:14px;max-width:560px;aspect-ratio:16/9;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;}
.video-wrap iframe{width:100%;height:100%;display:block;}
.icon-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;}
.icon-row a{display:inline-flex;align-items:center;justify-content:center;line-height:0;border:0;padding:0;background:#fff;}
.icon-row img{display:block;width:auto;height:auto;max-width:150px;max-height:52px;transition:transform .18s ease,opacity .18s ease;}
.social-row img{max-height:32px;max-width:36px;}
.resource-row img{max-height:58px;max-width:150px;}
.icon-row a:hover img{transform:translateY(-1px);}
.link-strip,.gallery-grid{display:none;}
@media (max-width:560px){.linked-list>li,.exhibition-list>li{grid-template-columns:1fr}.social-row img{max-height:30px}.resource-row img{max-width:136px}.hero h1{font-size:1.08rem}}


/* v5 refinements */
.section-head{display:block!important;margin-bottom:26px!important;max-width:1040px!important;}
.section-head>div{max-width:1040px!important;}
.section .kicker,.section-head .kicker{color:var(--accent)!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.16em!important;font-size:.74rem!important;margin:0 0 10px!important;font-family:var(--sans)!important;}
.section h2,.section-head h2{font-family:var(--serif)!important;font-size:clamp(1.12rem,2.15vw,1.55rem)!important;line-height:1.22!important;letter-spacing:.14em!important;word-spacing:.10em!important;font-weight:500!important;margin:.1em 0 .55em!important;color:var(--fg)!important;max-width:1040px!important;}
.section-head>p{display:none!important;}
.panel-note{margin:18px 22px 0!important;color:var(--muted)!important;font-size:.98rem!important;}
.accordion-card>.presentation-links{margin:0!important;padding:14px 22px 18px!important;}
.linked-list>li,.exhibition-list>li{grid-template-columns:122px minmax(0,1fr)!important;align-items:start!important;}
.linked-list>li>.list-text{min-width:0!important;}
.course-list{display:block!important;margin-top:10px!important;max-width:none!important;width:100%!important;}
.course-list ul{display:block!important;list-style:disc!important;margin:.45rem 0 0 1.2rem!important;padding:0!important;color:var(--muted)!important;}
.course-list ul li,.linked-list .course-list ul li,.teaching-list .course-list ul li{display:list-item!important;grid-template-columns:none!important;border-top:0!important;padding-top:0!important;margin:.22rem 0!important;min-width:0!important;}
.presentation-links li{font-size:1rem!important;}
.publication-list strong{font-weight:500!important;}
.publication-list a{font-weight:700!important;}
.icon-row{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;margin:0 0 14px!important;overflow-x:auto!important;padding-bottom:4px!important;}
.social-row img{max-height:42px!important;max-width:48px!important;}
.resource-row img{max-height:76px!important;max-width:170px!important;}
.icon-row a{flex:0 0 auto!important;}
.contact-grid{align-items:start!important;}
.contact-line span a{display:inline!important;}
.technology-list iframe,.technology-list .video-wrap{display:none!important;}
@media (max-width:700px){.icon-row{flex-wrap:wrap!important;overflow-x:visible!important}.resource-row img{max-width:145px!important}.linked-list>li,.exhibition-list>li{grid-template-columns:1fr!important}.section h2,.section-head h2{letter-spacing:.09em!important;}}

/* v6 refinements */
html{scroll-padding-top:210px!important;}
.section, .accordion-card, #top{scroll-margin-top:210px!important;}
.nav{gap:16px!important;}
.nav a{font-size:.88rem!important;white-space:nowrap!important;}
.section{padding-top:74px!important;}
.social-row img{max-height:52px!important;max-width:64px!important;}
.main-resource-row img{max-height:78px!important;max-width:230px!important;}
.secondary-resource-row img{max-height:96px!important;max-width:260px!important;}
.icon-row{gap:12px!important;margin-bottom:18px!important;}
.resource-row{gap:18px!important;}
.footer-inner{justify-content:flex-start!important;}
@media (max-width:900px){html{scroll-padding-top:170px!important}.section,.accordion-card,#top{scroll-margin-top:170px!important}.nav a{white-space:normal!important}.social-row img{max-height:46px!important}.main-resource-row img{max-height:68px!important;max-width:190px!important}.secondary-resource-row img{max-height:82px!important;max-width:220px!important}}


/* v9 targeted fixes, based on v6, preserving the overall layout */
.accordion-card > .presentation-links,
.presentation-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 32px!important;
}
.presentation-links li{
  border-top:0!important;
  padding-top:0!important;
}
.social-row a[aria-label="ORCID"] img{
  height:52px!important;
  max-height:52px!important;
  max-width:none!important;
  width:auto!important;
}
.main-resource-row a[aria-label="Blog"] img,
.main-resource-row a[aria-label="ITIA"] img,
.main-resource-row a[aria-label="Google Scholar"] img{
  height:62px!important;
  max-height:62px!important;
  max-width:270px!important;
  width:auto!important;
}
.main-resource-row a[aria-label="Clintel"] img{
  height:48px!important;
  max-height:48px!important;
  max-width:160px!important;
  width:auto!important;
}
.secondary-resource-row a[aria-label="Genesis game"] img{
  height:96px!important;
  max-height:96px!important;
  max-width:120px!important;
  width:auto!important;
}
@media (max-width:700px){
  .accordion-card > .presentation-links,
  .presentation-links{grid-template-columns:1fr!important;}
}


/* presentation-only adjustment */
.presentation-two-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 32px!important;margin:0!important;padding:18px 22px!important;}
.presentation-column{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:10px!important;}
.presentation-column li{border-top:0!important;padding-top:0!important;}
@media (max-width:700px){.presentation-two-columns{grid-template-columns:1fr!important;}}


/* v10 requested fixes */
.publication-list span{display:inline!important;margin-left:.45em!important;white-space:nowrap!important;}
.publication-list div{display:block!important;}
