/*
Theme Name: Huckel Lab
Description: Accessible laboratory theme using native WordPress content. No ACF or WPML dependency.
Version: 1.0.0
Text Domain: huckel-lab
Requires PHP: 8.0
*/
:root{--red:#b32216;--red-dark:#8c1a11;--ink:#202326;--muted:#62666b;--line:#deded9;--paper:#fff;--wash:#f4f4f0;--width:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}a{color:var(--red);text-underline-offset:4px}a:hover{color:var(--red-dark)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #1669a8;outline-offset:4px}img{max-width:100%;height:auto}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}.container{width:min(var(--width),calc(100% - 80px));margin-inline:auto}.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;top:10px;left:10px;padding:12px 20px;background:white;z-index:1000}.utility{background:var(--wash);border-top:4px solid var(--red);font-size:12px;letter-spacing:.025em}.utility .container{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:38px}.utility a{color:#444;text-decoration:none}.masthead{min-height:142px;display:flex;align-items:center;justify-content:space-between;gap:40px}.university-logo{display:block;line-height:1}.university-logo img{width:268px;display:block}.lab-name{display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:28px;color:var(--ink);text-decoration:none;font-size:20px;line-height:1.3;max-width:390px;font-weight:600}.lab-name span{color:var(--red);letter-spacing:.17em;font-size:11px;margin-bottom:8px;font-weight:700}.navigation-wrap{border-block:1px solid var(--line)}.navigation{display:flex;align-items:center;justify-content:space-between;gap:20px}.main-menu{display:flex;list-style:none;padding:0;margin:0}.main-menu>li{position:relative}.main-menu>li>a{display:block;padding:18px 15px;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;border-bottom:3px solid transparent}.main-menu>li:first-child>a{padding-left:0;padding-right:20px}.main-menu>li>a:hover,.main-menu>li.current-menu-item>a,.main-menu>li.current-menu-ancestor>a{border-bottom-color:var(--red);color:var(--red)}.sub-menu{display:none;position:absolute;top:100%;left:0;min-width:190px;background:white;box-shadow:0 8px 20px #0002;border-top:3px solid var(--red);z-index:20;list-style:none;padding:8px 0;margin:0}.sub-menu a{display:block;padding:9px 18px;text-decoration:none;color:var(--ink);font-size:14px}.sub-menu a:hover{background:var(--wash)}li:hover>.sub-menu,li:focus-within>.sub-menu{display:block}.search-form{display:flex;align-items:center;border-left:1px solid var(--line);padding-left:16px}.search-form input{width:95px;min-width:0;border:0;background:transparent;padding:8px;font-size:14px}.search-form button{border:0;background:transparent;padding:6px;cursor:pointer;color:var(--ink);display:grid;place-items:center}.menu-toggle{display:none}.hero{background:var(--wash);border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;min-height:485px;align-items:stretch}.hero-copy{padding:58px 36px 60px 0;align-self:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;line-height:1.5;color:var(--red);margin:0 0 16px}.hero h1{font-size:clamp(36px,3.5vw,51px);line-height:1.12;font-weight:600;letter-spacing:-.04em;margin:0}.hero-rule{width:55px;height:4px;background:var(--red);margin:25px 0 21px}.hero-description{font-size:17px;line-height:1.7;max-width:450px;color:#52565a;margin:0 0 28px}.hero-links{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--red);color:white;padding:12px 19px;text-decoration:none;font-size:14px;font-weight:600;min-height:48px}.button:hover{background:var(--red-dark);color:white}.text-link{font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:17px}.text-link:hover{text-decoration:underline}.hero-visual{margin:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e9e9e3}.hero-visual img{width:100%;height:100%;object-fit:contain;padding:40px;mix-blend-mode:multiply;max-height:520px}.hero-visual figcaption{position:absolute;bottom:20px;left:25px;font-size:9px;letter-spacing:.19em;color:#555}.section{padding-block:66px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:9px}h2{font-size:31px;line-height:1.2;letter-spacing:-.03em;font-weight:600;margin:0 0 20px}.section-heading h2{margin:0}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.news-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:23px}.news-image{display:block;aspect-ratio:1.65;background:var(--wash);overflow:hidden;margin-bottom:20px}.news-image img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.news-image:hover img{transform:scale(1.025)}time{font-size:12px;color:var(--muted)}.news-card h3{font-size:20px;font-weight:600;line-height:1.35;letter-spacing:-.02em;margin:10px 0 14px}.news-card h3 a{color:var(--ink);text-decoration:none}.news-card h3 a:hover{color:var(--red)}.news-card p{font-size:14px;color:var(--muted);line-height:1.75;margin:0 0 18px}.research-section{background:var(--wash);border-block:1px solid var(--line)}.research-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}.research-item{display:grid;grid-template-columns:28px 1fr 24px;gap:15px;padding:25px 0;border-top:1px solid #cccec8;text-decoration:none;color:var(--ink);align-items:start}.research-number{color:var(--red);font-size:11px;padding-top:5px}.research-item h3{font-size:19px;line-height:1.45;font-weight:500;margin:0}.research-arrow{color:var(--red)}.quick-links{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;align-items:center}.quick-links h2{margin:0;font-size:27px}.quick-links>a{color:var(--ink);border-bottom:2px solid var(--red);padding:18px 0;text-decoration:none;font-weight:600;font-size:16px;display:flex;justify-content:space-between}.quick-links>a span{color:var(--red)}.site-footer{background:#242628;color:#ececea;border-top:5px solid var(--red);font-size:14px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:70px;padding-block:48px}.site-footer h2{font-size:23px;max-width:300px}.site-footer h3{font-size:14px;margin:0 0 15px}.site-footer .eyebrow{color:#edaba3}.site-footer p{color:#c1c3c3}.site-footer a{color:#eee;text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-menu{list-style:none;padding:0;margin:0;display:grid;gap:7px}.footer-bottom{border-top:1px solid #505151;display:flex;justify-content:space-between;padding-block:20px;font-size:11px;color:#b8baba}.page-shell{padding-block:30px 75px;min-height:55vh}.breadcrumbs{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-bottom:38px;flex-wrap:wrap}.breadcrumbs a{color:var(--muted)}.page-heading{margin-bottom:40px;max-width:950px}.page-heading h1{font-size:clamp(32px,4vw,48px);font-weight:600;line-height:1.18;letter-spacing:-.035em;margin:0 0 20px}.entry-content{max-width:100%;overflow-wrap:anywhere}.entry-content>p,.entry-content>ul,.entry-content>ol{max-width:850px}.entry-content p{margin-block:0 1.3em}.entry-content h2{margin-top:45px}.entry-content h3{font-size:23px;font-weight:600;margin:28px 0 15px}.entry-content h4{font-size:19px}.entry-content figure{max-width:100%;margin-inline:0}.entry-content iframe{max-width:100%}.entry-content table{border-collapse:collapse;width:100%;font-size:15px}.entry-content td,.entry-content th{border:1px solid var(--line);padding:12px;text-align:left}.entry-content .wp-block-table{overflow-x:auto}.entry-content .alignright{float:right;margin:0 0 25px 30px}.entry-content .alignleft{float:left;margin:0 30px 25px 0}.article-image{max-height:500px;width:100%;object-fit:contain;background:var(--wash);margin-bottom:35px}.profile-header{display:grid;grid-template-columns:200px 1fr;gap:40px;background:var(--wash);padding:30px;margin-bottom:40px;align-items:start}.profile-photo{width:200px;max-height:260px;object-fit:cover}.profile-header p{margin:0 0 8px;font-size:15px}.profile-header .profile-position{font-size:21px;margin-bottom:16px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.person-card{padding:25px;border:1px solid var(--line)}.person-card img{width:150px;height:180px;object-fit:cover}.person-card h2{font-size:24px;margin-top:15px}.person-card p{font-size:15px}.cv-entry{padding:18px 0;border-bottom:1px solid var(--line);max-width:850px}.cv-entry p{margin:0 0 7px}.cv-date{font-size:13px;color:var(--muted)}.navigation.pagination{margin-block:30px}.nav-links{display:flex;gap:15px}.wp-caption-text,figcaption{font-size:13px;color:var(--muted)}.entry-content .zotpress{font-size:15px}.entry-content .csl-entry{margin-bottom:18px}.entry-content .kt-tabs-wrap{margin-top:25px}body:has(.admin-bar) .site-header{scroll-margin-top:32px}
.group-section+.group-section{margin-top:55px;padding-top:40px;border-top:1px solid var(--line)}.group-section>h2{margin-top:0}.person-card h3{font-size:23px;line-height:1.25;margin:16px 0 12px;letter-spacing:-.02em}.person-card .person-title{color:var(--ink);text-decoration:none}.person-card .person-role{color:var(--red);font-size:13px;font-weight:600;margin-bottom:12px}.person-card .person-summary{font-size:14px;line-height:1.7;color:var(--muted)}.person-card>.text-link{margin-top:12px;font-size:13px}.former-grid .person-card{border:0;border-top:3px solid var(--red);background:var(--wash)}.shared-publications{padding-left:25px;max-width:960px!important}.shared-publications li{padding-left:7px;margin-bottom:22px;font-size:15px;line-height:1.7}.shared-publications .publication-authors{color:var(--muted)}#shared-publications{scroll-margin-top:25px}.profile-links{margin-top:20px}
#current-members+.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#current-members+.people-grid .person-card{display:flow-root}#current-members+.people-grid .person-card img{float:right;width:110px;height:138px;margin:0 0 15px 18px;object-fit:cover}
@media(max-width:600px){#current-members+.people-grid{grid-template-columns:1fr}#current-members+.people-grid .person-card img{width:85px;height:106px}}
.former-grid .person-card{display:flow-root}.former-grid .person-card img{float:right;width:72px;height:90px;object-fit:cover;margin:0 0 12px 16px}.former-profile-photo{float:right;width:150px;height:auto;margin:0 0 25px 30px}#shared-publications{clear:both}
@media(max-width:520px){.former-profile-photo{float:none;display:block;margin:0 0 22px;width:130px}}
.research-profile-links{margin:24px 0 32px}.research-profile-links ul{display:flex;flex-wrap:wrap;gap:10px 12px;list-style:none;padding:0;margin:0}.research-profile-links a{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);padding:9px 12px;color:var(--ink);text-decoration:none;font-size:14px;line-height:1.3;min-height:44px;background:#fff}.research-profile-links a:hover{border-color:var(--red);color:var(--red);background:var(--wash)}.research-profile-links .research-profile-icon{display:block;flex-shrink:0;width:22px;height:22px;max-width:none;margin:0;object-fit:contain}.profile-external{color:var(--red);font-size:13px;margin-left:3px}
.research-topic-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:35px 0 45px}.research-topic-card{display:flex;flex-direction:column;padding:30px;border:1px solid var(--line)}.entry-content .research-topic-card h2{font-size:27px;line-height:1.25;margin:0 0 16px}.research-topic-card>p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.75;margin-bottom:22px}.research-topic-card>.text-link{margin-top:auto;align-self:flex-start}.research-topic-primary{grid-column:1/-1;border-left:5px solid var(--red);background:var(--wash);padding:32px}.entry-content .research-topic-primary h2{font-size:33px}.research-topic-primary>p:not(.eyebrow){max-width:940px}.research-topic-card:last-child{grid-column:1/-1}.research-references{padding-left:25px;max-width:1000px!important}.research-references li{padding-left:6px;margin-bottom:20px;font-size:15px;line-height:1.75}.research-back-link{font-size:14px;margin-top:35px!important}
@media(max-width:600px){.research-topic-cards{grid-template-columns:1fr;gap:18px}.research-topic-card,.research-topic-primary{padding:23px}.entry-content .research-topic-card h2{font-size:25px}.entry-content .research-topic-primary h2{font-size:28px}}
@media(min-width:801px){#main-navigation{display:block!important}}
@media(max-width:1050px){.container{width:calc(100% - 48px)}.main-menu>li>a{padding-inline:10px;font-size:13px}.hero-copy{padding-right:25px}.hero h1{font-size:39px}.hero-links{gap:18px}.search-form input{width:60px}.footer-grid{gap:35px}.news-grid{gap:22px}}
@media(max-width:800px){.container{width:calc(100% - 36px)}.utility .container{min-height:34px}.utility span{display:none}.utility{font-size:10px}.masthead{min-height:120px;gap:20px}.university-logo img{width:205px}.lab-name{font-size:16px;padding-left:18px;max-width:245px}.navigation{flex-wrap:wrap;gap:0}.menu-toggle{display:flex;align-items:center;gap:30px;border:0;background:none;color:var(--ink);padding:14px 0;font-size:14px;font-weight:600;cursor:pointer}.navigation nav{display:none;order:3;width:100%;border-top:1px solid var(--line)}.navigation nav.is-open{display:block}.main-menu{display:block;padding-block:8px}.main-menu>li>a,.main-menu>li:first-child>a{padding:10px 0;border:0;font-size:15px}.sub-menu{position:static;display:block;box-shadow:none;border:0;padding:0 0 5px 12px}.sub-menu a{padding:7px 12px;font-size:14px}.search-form{margin-left:auto}.search-form input{width:115px}.hero-grid{grid-template-columns:1fr 1fr;min-height:400px}.hero-copy{padding:36px 20px 36px 0}.hero h1{font-size:33px}.hero-description{font-size:15px}.hero-visual img{padding:18px}.hero-visual figcaption{left:15px;font-size:8px}.section{padding-block:44px}.news-grid{grid-template-columns:1fr 1fr}.news-card h3{font-size:19px}.news-grid .news-card:last-child:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:22px}.news-grid .news-card:last-child:nth-child(3) .news-image{margin:0}.research-grid{column-gap:25px}.research-item h3{font-size:17px}.quick-links{grid-template-columns:1fr 1fr;gap:18px 30px}.quick-links>div{grid-column:1/-1}.footer-grid{grid-template-columns:1.5fr 1fr;gap:30px}.footer-grid>div:last-child{grid-column:1/-1}.people-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.masthead{flex-direction:column;align-items:flex-start;padding-block:22px;gap:16px}.university-logo img{width:215px}.lab-name{border:0;padding:0;max-width:none;font-size:16px;gap:3px;flex-direction:row;align-items:baseline;flex-wrap:wrap}.lab-name span{margin:0 10px 0 0;font-size:10px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:35px 0}.hero h1{font-size:38px}.hero-description{font-size:16px}.hero-visual{min-height:235px;max-height:295px;margin-inline:-18px}.hero-visual img{height:275px;width:100%;padding:22px 35px}.hero-links{gap:22px}.section-heading{align-items:flex-start}.section-heading h2{font-size:27px}.section-heading>.text-link{padding-top:25px;font-size:12px;white-space:nowrap;gap:8px}.news-grid{grid-template-columns:1fr;gap:28px}.news-grid .news-card:last-child:nth-child(3){display:block;grid-column:auto}.news-grid .news-card:last-child:nth-child(3) .news-image{margin-bottom:20px}.news-image{aspect-ratio:1.8}.research-grid{grid-template-columns:1fr}.research-item h3{font-size:19px}.quick-links{grid-template-columns:1fr;gap:8px}.quick-links>div{margin-bottom:10px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{gap:20px;flex-wrap:wrap}.page-heading{margin-bottom:25px}.page-heading h1{font-size:33px}.breadcrumbs{margin-bottom:25px}.profile-header{grid-template-columns:1fr;padding:22px;gap:22px}.profile-photo{width:155px}.people-grid{grid-template-columns:1fr}.entry-content .alignright,.entry-content .alignleft{float:none;margin:15px 0}.entry-content h2{font-size:27px}.entry-content h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
