:root{color-scheme:light;--bg:#f8f7f3;--surface:#fff;--surface-muted:#f0f2f4;--ink:#132033;--ink-soft:#546172;--line:#dbe2e9;--line-strong:#c3ced9;--accent:#003f78;--accent-bright:#0b69a9;--accent-soft:#e6f0f8;--navy:#071f3a;--navy-ink:#f3f7fb;--shadow:0 18px 50px #0d243d14;--radius:18px;--radius-sm:10px;--shell:1160px;--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:Iowan Old Style, Palatino Linotype, Book Antiqua, Palatino, Georgia, serif}:root[data-theme=dark]{color-scheme:dark;--bg:#09111d;--surface:#0f1a29;--surface-muted:#142235;--ink:#edf3f8;--ink-soft:#a8b7c7;--line:#24354a;--line-strong:#39516c;--accent:#76b9e8;--accent-bright:#99cef1;--accent-soft:#112d46;--navy:#030a13;--navy-ink:#f4f8fb;--shadow:0 18px 50px #0000003d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--bg);min-width:320px;color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.65;overflow-x:hidden}button,input,textarea,select{font:inherit}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration-color:color-mix(in srgb, var(--accent) 50%, transparent);text-underline-offset:.18em}a:hover{color:var(--accent-bright)}h1,h2,h3,p,ul{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:-.025em;font-weight:650;line-height:1.12}h1{font-size:clamp(3rem,8vw,6.6rem)}h2{font-size:clamp(2rem,4.5vw,3.8rem)}h3{font-size:clamp(1.15rem,2vw,1.4rem)}::selection{background:var(--accent);color:#fff}:focus-visible{outline:3px solid var(--accent-bright);outline-offset:4px;border-radius:3px}.shell{width:min(calc(100% - 2.5rem), var(--shell));margin-inline:auto}.skip-link{z-index:1000;border-radius:var(--radius-sm);background:var(--accent);color:#fff;padding:.7rem 1rem;font-weight:700;position:fixed;top:.8rem;left:.8rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem;font-size:.76rem;font-weight:800}.muted{color:var(--ink-soft)}.site-header{z-index:100;border-bottom:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--bg) 91%, transparent);backdrop-filter:blur(12px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.6rem;display:flex}.wordmark{color:var(--ink);align-items:center;gap:.75rem;font-weight:750;text-decoration:none;display:inline-flex}.wordmark:hover{color:var(--ink)}.wordmark-mark{border:1px solid var(--accent);width:2.15rem;height:2.15rem;color:var(--accent);letter-spacing:.04em;border-radius:50%;place-items:center;font-size:.72rem;display:grid}.desktop-nav{align-items:center;gap:1.45rem;margin-left:auto;display:flex}.desktop-nav a{color:var(--ink-soft);font-size:.86rem;font-weight:650;text-decoration:none;position:relative}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--ink)}.desktop-nav a[aria-current=page]:after{background:var(--accent);content:"";height:2px;position:absolute;bottom:-.68rem;left:0;right:0}.header-actions{align-items:center;gap:.55rem;display:flex}.theme-toggle{border:1px solid var(--line);background:var(--surface);width:2.35rem;height:2.35rem;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.mobile-nav{display:none;position:relative}.mobile-nav summary{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;padding:.44rem .68rem;font-size:.82rem;font-weight:700;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:min(17rem,100vw - 2.5rem);box-shadow:var(--shadow);padding:.6rem;display:grid;position:absolute;top:calc(100% + .75rem);right:0}.mobile-nav nav a{border-radius:7px;padding:.72rem .8rem;text-decoration:none}.mobile-nav nav a:hover,.mobile-nav nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.button-row{flex-wrap:wrap;gap:.7rem;display:flex}.button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:2.9rem;padding:.7rem 1rem;font-size:.88rem;font-weight:750;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-bright);color:#fff}.button.secondary{border-color:var(--line-strong);color:var(--ink);background:0 0}.button.secondary:hover{border-color:var(--accent);color:var(--accent)}.button[aria-disabled=true]{border-color:var(--line);background:var(--surface-muted);color:var(--ink-soft);cursor:not-allowed}.text-link{color:var(--accent);font-size:.86rem;font-weight:750;text-decoration:none}.text-link:hover span{display:inline-block;transform:translate(2px,-2px)}.hero{border-bottom:1px solid var(--line);padding:clamp(4.5rem,9vw,8.5rem) 0 clamp(4rem,8vw,7rem);position:relative}.hero:before{top:10%;right:max(2rem, calc((100vw - var(--shell)) / 2));background:var(--line);content:"";opacity:.8;width:1px;height:62%;position:absolute}.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:center;gap:clamp(3rem,7vw,7rem);display:grid}.hero h1{max-width:9ch;font-family:var(--font-serif);margin-bottom:1.2rem;font-weight:500}.hero-role{max-width:45rem;color:var(--ink);margin-bottom:1rem;font-size:clamp(1.2rem,2.4vw,1.72rem);line-height:1.42}.hero-role strong,.hero-role span{display:block}.hero-role strong{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.18rem;font-size:.78em;font-weight:800}.hero-role span:last-child{color:var(--ink-soft);font-size:.78em}.hero-summary{max-width:42rem;color:var(--ink-soft);margin-bottom:1.8rem;font-size:1.05rem}.area-list{flex-wrap:wrap;gap:.5rem;margin-bottom:2.2rem;padding:0;list-style:none;display:flex}.area-list li,.tag{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:.32rem .68rem;font-size:.78rem}.profile-links{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.7rem 1rem;margin-top:1.35rem;font-size:.78rem;display:flex}.profile-links>span{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;font-weight:750}.profile-links a{color:var(--ink-soft);font-weight:650;text-decoration:none}.profile-links a:hover{color:var(--accent)}.hero-portrait{border:1px solid var(--line);background:var(--surface);width:min(100%,23rem);box-shadow:var(--shadow);border-radius:24px;margin-inline:auto;padding:.65rem}.hero-portrait picture{width:100%;display:block}.hero-portrait img{aspect-ratio:1;object-fit:cover;object-position:center top;border-radius:17px;width:100%;height:auto;display:block}.section{padding:clamp(4.5rem,8vw,7.5rem) 0}.section+.section{border-top:1px solid var(--line)}.section-head{grid-template-columns:1fr minmax(260px,.65fr);align-items:end;gap:2rem;margin-bottom:2.6rem;display:grid}.section-head h2{max-width:12ch;font-family:var(--font-serif);margin-bottom:0;font-weight:500}.section-head p:last-child{color:var(--ink-soft);margin-bottom:0}.section-head .text-link{justify-self:end}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.research-card,.skill-card,.info-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:clamp(1.4rem,3vw,2.2rem);position:relative}.research-card{min-height:23rem;padding:0;transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden}.research-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-3px)}.research-number{color:var(--accent);letter-spacing:.12em;margin-bottom:1.35rem;font-size:.75rem;font-weight:800;display:block}.research-card-body{padding:clamp(1.4rem,3vw,2rem)}.research-visual{border-bottom:1px solid var(--line);background-color:var(--surface-muted);height:8rem;display:block;position:relative;overflow:hidden}.research-visual span{display:block;position:absolute}.visual-01 span{border:1px solid var(--accent);border-radius:50%;width:3.6rem;height:3.6rem;top:50%;left:50%;transform:translate(-50%,-50%)}.visual-01 span:nth-child(2){border-color:color-mix(in srgb, var(--accent) 55%, transparent);width:6.3rem;height:6.3rem}.visual-01 span:nth-child(3){border-color:color-mix(in srgb, var(--accent) 24%, transparent);width:9.2rem;height:9.2rem}.visual-02 span{background:var(--accent);width:.42rem;height:.42rem;box-shadow:1.6rem -1.1rem 0 -1px var(--accent), 3rem .5rem 0 -2px var(--accent), 4.5rem -1.5rem 0 -1px var(--accent), 6rem .2rem 0 -2px var(--accent), 7.5rem -.8rem 0 -1px var(--accent), 9rem 1.1rem 0 -2px var(--accent), 10.5rem -1rem 0 -1px var(--accent);border-radius:50%}.visual-02 span:first-child{top:45%;left:12%}.visual-02 span:nth-child(2){opacity:.55;top:68%;left:20%}.visual-02 span:nth-child(3){opacity:.35;top:26%;left:28%}.visual-03{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:2rem 2rem}.visual-03 span{border:1px solid var(--accent);width:8.5rem;height:3.3rem;top:50%;left:50%;transform:translate(-50%,-50%)skew(-20deg)}.visual-03 span:nth-child(2){opacity:.6;transform:translate(-43%,-38%)skew(-20deg)}.visual-03 span:nth-child(3){opacity:.28;transform:translate(-36%,-26%)skew(-20deg)}.visual-04 span{background:var(--accent);width:110%;height:1px;top:58%;left:-5%;transform:rotate(-7deg)}.visual-04 span:nth-child(2){opacity:.55;top:42%;transform:rotate(6deg)}.visual-04 span:nth-child(3){opacity:.25;top:69%;transform:rotate(-15deg)}.research-card h3{margin-bottom:.8rem}.research-card p{color:var(--ink-soft);margin-bottom:1.2rem}.tag-list{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.publication-list{gap:1rem;display:grid}.publication-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:clamp(1.35rem,3vw,2rem)}.publication-card.compact{grid-template-columns:10rem minmax(0,1fr);column-gap:1.5rem;display:grid}.publication-card.compact>:not(.publication-meta){grid-column:2}.publication-meta{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;gap:.55rem;margin-bottom:1.1rem;font-size:.72rem;font-weight:750;display:flex}.publication-card.compact .publication-meta{grid-row:1/span 5;align-content:start}.selected-label{color:var(--accent);align-items:center;gap:.35rem;display:inline-flex}.selected-label:before{content:"";background:currentColor;border-radius:50%;width:.35rem;height:.35rem}.publication-card h3{margin-bottom:.7rem}.publication-card h3 a,.presentation-item h3 a{text-decoration:none}.authors,.venue{color:var(--ink-soft);font-size:.9rem}.authors{margin-bottom:.35rem}.authors strong{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.18rem;font-weight:800;text-decoration-thickness:2px}.venue{margin-bottom:.8rem}.activity-list{border-top:1px solid var(--line)}.activity-item{border-bottom:1px solid var(--line);grid-template-columns:10rem 1fr auto;align-items:baseline;gap:1.5rem;padding:1.25rem 0;display:grid}.activity-item time,.activity-type{color:var(--ink-soft);font-size:.8rem}.activity-item p{margin-bottom:0;font-weight:600}.contact-cta{border-radius:calc(var(--radius) + 8px);background:var(--navy);color:var(--navy-ink);padding:clamp(2rem,6vw,4.8rem)}.contact-cta .eyebrow,.contact-cta h2,.contact-cta p{color:var(--navy-ink)}.contact-cta h2{max-width:14ch;font-family:var(--font-serif);font-weight:500}.contact-cta p{opacity:.76;max-width:42rem}.contact-cta .button.secondary{color:var(--navy-ink);border-color:#fff6}.page-header{border-bottom:1px solid var(--line);padding:clamp(4rem,9vw,8rem) 0 clamp(3.5rem,7vw,6rem)}.page-header-grid{grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr);gap:2rem;display:grid}.page-header h1{max-width:13ch;font-family:var(--font-serif);margin-bottom:1.1rem;font-size:clamp(3rem,7vw,5.8rem);font-weight:500}.page-lede{max-width:47rem;color:var(--ink-soft);margin-bottom:0;font-size:clamp(1.05rem,2vw,1.3rem)}.research-detail{border-bottom:1px solid var(--line);grid-template-columns:minmax(13rem,.45fr) minmax(0,1fr);gap:clamp(2rem,7vw,6rem);padding:clamp(3.5rem,7vw,6.5rem) 0;display:grid}.research-detail:last-child{border-bottom:0}.research-detail h2{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.3rem);font-weight:500}.research-detail-content>p{max-width:48rem;color:var(--ink-soft);font-size:1.05rem}.related-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem;display:grid}.related-block{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:1.3rem}.related-block h3{letter-spacing:.1em;text-transform:uppercase;margin-bottom:.9rem;font-size:.8rem}.related-block ul{margin-bottom:0;padding-left:1.1rem}.related-block li+li{margin-top:.6rem}.related-block a{font-size:.88rem;text-decoration:none}.related-block .related-more{color:var(--accent);margin-top:1rem;display:inline-flex}.filter-bar{flex-wrap:wrap;gap:.55rem;margin-bottom:2.5rem;display:flex}.filter-button{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:.55rem .85rem;font-size:.82rem;font-weight:700}.filter-button:hover,.filter-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.year-group+.year-group{margin-top:4rem}.year-heading{font-family:var(--font-serif);align-items:center;gap:1rem;margin-bottom:1.2rem;font-size:2rem;font-weight:500;display:flex}.year-heading:after{background:var(--line);content:"";flex:1;height:1px}.presentation-list{border-top:1px solid var(--line)}.presentation-item{border-bottom:1px solid var(--line);grid-template-columns:13rem minmax(0,1fr);gap:2rem;padding:1.6rem 0;display:grid}.presentation-date{color:var(--ink-soft);flex-direction:column;font-size:.82rem;display:flex}.presentation-date small{color:var(--accent);font-weight:700}.presentation-item h3{margin-bottom:.6rem}.timeline{gap:0;display:grid;position:relative}.timeline:before{background:var(--line-strong);content:"";width:1px;position:absolute;top:.7rem;bottom:.7rem;left:.27rem}.timeline-item{grid-template-columns:1.6rem 10rem minmax(0,1fr);gap:1rem;padding-bottom:2rem;display:grid;position:relative}.timeline-item:before{z-index:1;border:2px solid var(--bg);background:var(--accent);width:.58rem;height:.58rem;box-shadow:0 0 0 1px var(--accent);content:"";border-radius:50%;margin-top:.45rem;position:relative}.timeline-date{color:var(--ink-soft);font-size:.82rem}.timeline-item h3{margin-bottom:.3rem}.timeline-item p{color:var(--ink-soft);margin-bottom:0}.skill-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.project-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-work-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;min-height:20rem;padding:clamp(1.5rem,3vw,2.25rem);transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.project-work-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.project-work-card.featured{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));box-shadow:inset 3px 0 0 var(--accent)}.project-work-card.subdued{background:color-mix(in srgb, var(--surface) 72%, var(--surface-muted))}.project-work-card.compact{min-height:17rem;padding:1.45rem}.project-card-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:3rem;display:flex}.project-work-card.compact .project-card-top{margin-bottom:2.2rem}.project-badge{border:1px solid var(--line);width:fit-content;color:var(--accent);border-radius:999px;align-items:center;padding:.32rem .6rem;font-size:.75rem;font-weight:750;display:inline-flex}.project-badge.status-active{border-color:color-mix(in srgb, var(--accent) 36%, var(--line));background:var(--accent-soft)}.project-badge.status-paused,.project-badge.status-exploration{background:var(--surface-muted);color:var(--ink-soft)}.project-index{color:var(--line-strong);font-family:var(--font-serif);font-size:1.35rem}.project-work-card h3{max-width:20ch;font-family:var(--font-serif);margin-bottom:.8rem;font-size:clamp(1.45rem,2.6vw,2rem);font-weight:550}.project-work-card p{color:var(--ink-soft)}.project-progress-wrap{grid-template-columns:1fr auto;align-items:center;gap:.85rem;margin-top:auto;padding-top:1.5rem;display:grid}.project-progress{background:var(--surface-muted);border-radius:999px;height:.3rem;overflow:hidden}.project-progress span{border-radius:inherit;background:var(--accent);height:100%;display:block}.project-work-card.subdued .project-progress span{background:var(--ink-soft)}.project-progress-value{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.76rem}.project-stage{border-top:1px solid var(--line);margin-top:auto;margin-bottom:0;padding-top:1.5rem;font-size:.78rem;font-weight:700}.project-progress-note{color:var(--ink-soft);margin:1.2rem 0 0;font-size:.78rem}.compact-cta{padding-block:clamp(2rem,5vw,3.6rem)}.skill-card h3,.info-card h3{margin-bottom:1rem}.skill-card ul{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.skill-card li{background:var(--surface-muted);color:var(--ink-soft);border-radius:6px;padding:.4rem .62rem;font-size:.82rem}.cv-layout{grid-template-columns:minmax(13rem,.3fr) minmax(0,1fr);gap:clamp(2rem,7vw,6rem);display:grid}.cv-toolbar{border-bottom:1px solid var(--line);background:var(--surface)}.cv-toolbar-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:8.5rem;padding-block:1.5rem;display:flex}.cv-toolbar .eyebrow{margin-bottom:.35rem}.cv-toolbar p:last-child{color:var(--ink-soft);margin-bottom:0}.cv-aside{align-self:start}.cv-aside-inner{position:sticky;top:7rem}.cv-aside nav{margin-top:2rem;display:grid}.cv-aside nav a{color:var(--ink-soft);padding:.42rem 0;font-size:.84rem;text-decoration:none}.cv-aside nav a:hover{color:var(--accent)}.cv-section{border-bottom:1px solid var(--line);margin-bottom:4rem;padding:0 0 4rem}.cv-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.cv-section>h2{font-family:var(--font-serif);margin-bottom:1.8rem;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500}.cv-record{border-top:1px solid var(--line);grid-template-columns:minmax(9rem,.3fr) minmax(0,1fr);gap:1rem;padding:1.2rem 0;display:grid}.cv-record time,.cv-record .record-meta{color:var(--ink-soft);font-size:.83rem}.cv-record h3{margin-bottom:.3rem}.cv-record p{color:var(--ink-soft);margin-bottom:.25rem}.notice{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink-soft);padding:.9rem 1rem;font-size:.86rem}.contact-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;min-height:15rem;padding:clamp(1.5rem,3vw,2.3rem);display:flex}.contact-card .contact-label{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:auto;font-size:.72rem;font-weight:800}.contact-card h2{font-family:var(--font-serif);margin-top:3rem;margin-bottom:.5rem;font-size:2rem;font-weight:500}.contact-card p{color:var(--ink-soft)}.button:disabled{border-color:var(--line);background:var(--surface-muted);color:var(--ink-soft);cursor:not-allowed}.meeting-layout{grid-template-columns:minmax(15rem,.38fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.meeting-policy{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1.7rem;position:sticky;top:7rem}.meeting-policy h2{font-family:var(--font-serif);margin-bottom:1.2rem;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:500}.meeting-policy ul{color:var(--ink-soft);padding-left:1.2rem}.meeting-policy li+li{margin-top:.7rem}.meeting-policy .notice{margin:1.5rem 0 0}.meeting-panel,.meeting-review-card,.meeting-result-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:clamp(1.5rem,4vw,3rem)}.meeting-form{gap:2.4rem;display:grid}.meeting-step{border:0;border-bottom:1px solid var(--line);min-width:0;padding:0 0 2.4rem}.meeting-step legend{width:100%;color:var(--ink);font-family:var(--font-serif);align-items:center;gap:.8rem;margin-bottom:1.3rem;font-size:1.55rem;font-weight:600;display:flex}.meeting-step legend span{border:1px solid var(--line-strong);width:2rem;height:2rem;color:var(--accent);font-family:var(--font-sans);border-radius:50%;place-items:center;font-size:.76rem;font-weight:800;display:grid}.duration-options,.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.duration-option{cursor:pointer;position:relative}.duration-option input{opacity:0;width:1px;height:1px;position:absolute}.duration-option span,.slot-button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);min-height:3rem;color:var(--ink);place-items:center;padding:.65rem .8rem;font-size:.88rem;font-weight:700;display:grid}.duration-option input:focus-visible+span{outline:3px solid var(--accent-bright);outline-offset:3px}.duration-option input:checked+span,.slot-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.slot-button{cursor:pointer}.slot-button:hover{border-color:var(--accent);color:var(--accent)}.meeting-field,.meeting-slot-group{gap:.45rem;margin-bottom:1.1rem;display:grid}.meeting-field>span,.meeting-field-label{color:var(--ink);font-size:.86rem;font-weight:750}.meeting-field small{color:var(--ink-soft);font-weight:500}.meeting-field input,.meeting-field select,.meeting-field textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--ink)}.meeting-field input,.meeting-field select{min-height:3rem;padding:.65rem .8rem}.meeting-field textarea{resize:vertical;padding:.75rem .8rem}.meeting-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.meeting-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.meeting-submit-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.meeting-status{color:var(--ink-soft);margin:0;font-size:.86rem}.meeting-status[data-state=error]{color:#a73939}:root[data-theme=dark] .meeting-status[data-state=error]{color:#f1a2a2}.meeting-unavailable h2{max-width:15ch;font-family:var(--font-serif);margin-bottom:1rem;font-weight:500}.meeting-unavailable p:not(.eyebrow){max-width:52ch;color:var(--ink-soft)}.meeting-manage-shell{max-width:880px}.meeting-result-card h1,.meeting-review-card h1{max-width:14ch;font-family:var(--font-serif);margin-bottom:1rem;font-size:clamp(2.5rem,6vw,4.8rem);font-weight:500}.meeting-result-card>p:not(.eyebrow),.meeting-review-card header>p:not(.eyebrow){max-width:62ch;color:var(--ink-soft);margin-bottom:2rem}.meeting-review-list{border-top:1px solid var(--line);margin:2.5rem 0}.meeting-review-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(8rem,.28fr) minmax(0,1fr);gap:1rem;padding:1rem 0;display:grid}.meeting-review-list dt{color:var(--ink-soft);font-size:.82rem;font-weight:700}.meeting-review-list dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.meeting-decision-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.meeting-decision-grid section{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);padding:1.4rem}.meeting-decision-grid h2{font-family:var(--font-serif);margin-bottom:.45rem;font-size:1.65rem;font-weight:500}.meeting-decision-grid p{color:var(--ink-soft);font-size:.86rem}.meeting-decision-grid .meeting-field{margin-bottom:.8rem}.meeting-review-card>.meeting-status{margin-top:1rem}.meeting-result{align-items:center;min-height:calc(100vh - 12rem);display:grid}.meeting-result-card{max-width:850px;margin-inline:auto}.site-footer{border-top:1px solid var(--line);background:var(--surface);padding:3rem 0}.footer-grid{grid-template-columns:1fr auto;align-items:end;gap:2rem;display:grid}.footer-name{font-family:var(--font-serif);font-size:1.35rem;font-weight:600;text-decoration:none}.site-footer p{color:var(--ink-soft);margin-bottom:0;font-size:.82rem}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:1rem;display:flex}.footer-links a{color:var(--ink-soft);font-size:.82rem;text-decoration:none}.footer-meta{border-top:1px solid var(--line);grid-column:1/-1;padding-top:1.5rem}.not-found{text-align:center;place-items:center;min-height:70vh;display:grid}.not-found h1{font-family:var(--font-serif);margin-bottom:.5rem}[hidden]{display:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#09111d;--surface:#0f1a29;--surface-muted:#142235;--ink:#edf3f8;--ink-soft:#a8b7c7;--line:#24354a;--line-strong:#39516c;--accent:#76b9e8;--accent-bright:#99cef1;--accent-soft:#112d46;--navy:#030a13;--navy-ink:#f4f8fb;--shadow:0 18px 50px #0000003d}}@media (width<=900px){.desktop-nav{display:none}.mobile-nav{display:block}.hero-grid{grid-template-columns:1fr}.hero-portrait{width:min(100%,18rem);margin-top:1rem}.project-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero:before{display:none}.section-head,.page-header-grid,.research-detail,.cv-layout,.meeting-layout{grid-template-columns:1fr}.meeting-policy{position:static}.page-header-grid{gap:.6rem}.section-head .text-link{justify-self:start}.cv-aside nav{display:none}.cv-aside-inner{position:static}}@media (width<=680px){.shell{width:min(calc(100% - 1.5rem), var(--shell))}.wordmark-name{display:none}.card-grid,.project-preview-grid,.project-work-grid,.skill-grid,.contact-grid,.related-links{grid-template-columns:1fr}.research-card{min-height:0}.hero-portrait{width:min(100%,15.5rem)}.research-number{margin-bottom:1.1rem}.cv-toolbar-inner{flex-direction:column;align-items:flex-start;gap:1.2rem}.cv-toolbar .button-row,.cv-toolbar .button{width:100%}.publication-card.compact{display:block}.activity-item{grid-template-columns:1fr auto;gap:.35rem 1rem}.activity-item p{grid-column:1/-1}.presentation-item,.cv-record{grid-template-columns:1fr;gap:.45rem}.timeline-item{grid-template-columns:1.6rem 1fr}.timeline-date,.timeline-item>div:last-child{grid-column:2}.footer-grid{grid-template-columns:1fr;align-items:start}.footer-links{justify-content:flex-start}.meeting-field-grid,.meeting-decision-grid{grid-template-columns:1fr}.duration-options,.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-submit-row{flex-direction:column;align-items:stretch}.meeting-submit-row .button{width:100%}.meeting-review-list>div{grid-template-columns:1fr;gap:.25rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
