/* Gallery and short-form research posts. All principal text remains in static HTML. */
:is(.gallery-home,.restored-home){--gallery-ink:#16334b;--gallery-blue:#1455a0}
.gallery-hero{display:grid;grid-template-columns:1fr 1.08fr;gap:56px;align-items:center;padding-block:64px 36px}
.gallery-intro .eyebrow{display:block;color:#356087;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:19px}
.gallery-intro h1{font-size:clamp(48px,5.1vw,72px);color:var(--gallery-ink);letter-spacing:-.05em}
.gallery-statement{font-size:clamp(24px,2.5vw,35px);line-height:1.22;letter-spacing:-.025em;margin-top:24px;max-width:530px}
.gallery-description{color:#536170;font-size:17px;line-height:1.65;max-width:480px;margin-top:21px}
.gallery-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:29px}.gallery-actions .text-link{font-size:14px}
.hero-project{display:block;padding:24px;background:#f4f8fc;border:1px solid #d4e1ee;border-radius:12px;transition:border-color .2s}
.hero-project:hover,.gallery-feature:hover{border-color:#80a8ce}
.hero-project-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:11px}
.hero-project-heading .eyebrow{color:#305374;font-size:11px}
.hero-project>img{width:100%;height:230px;object-fit:contain;background:white;border-radius:6px;margin-block:26px}
.hero-project-caption{display:flex;gap:20px;justify-content:space-between;align-items:center}.hero-project-caption h2{font-size:30px;color:#143e65}
.hero-project-caption p{font-size:15px;line-height:1.5;margin-top:8px;max-width:340px;color:#465d72}.hero-project-caption>span{font-size:27px;color:var(--gallery-blue)}
.gallery-featured{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:76px}
.gallery-feature{display:grid;grid-template-columns:42% 1fr;gap:22px;align-items:center;padding:22px;border:1px solid #dee5ec;border-radius:10px}
.feature-image{padding:6px;background:white;min-width:0}.feature-image img{width:100%;height:135px;object-fit:contain}.feature-copy .eyebrow{font-size:10px;color:#4d6072}.feature-copy h3{font-size:27px;margin-top:12px}.feature-copy p{font-size:14px;line-height:1.5;color:#526170;margin-top:9px}.feature-copy .text-link{display:inline-flex;font-size:12px;margin-top:14px}
:is(.gallery-home,.restored-home) .section-heading .eyebrow{display:block;font-size:12px;color:#536170;margin-bottom:10px}:is(.gallery-home,.restored-home) .section-heading h2{font-size:38px;color:var(--gallery-ink)}
:is(.gallery-home,.restored-home) .research-tools{flex-wrap:wrap;gap:18px}.gallery-topics{gap:7px}.gallery-topics .filter{font-size:13px;padding:9px 12px}:is(.gallery-home,.restored-home) .search{width:215px}
:is(.gallery-home,.restored-home) .research-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px}
:is(.gallery-home,.restored-home) .research-card{display:flex;flex-direction:column;grid-column:auto;gap:0;padding:0;border:0}
:is(.gallery-home,.restored-home) .research-card .cover-link{display:flex;aspect-ratio:1.9;padding:16px;background:#f8fafc;border:1px solid #e0e6ed;align-self:stretch}
:is(.gallery-home,.restored-home) .research-card .cover-link img{object-fit:contain}
:is(.gallery-home,.restored-home) .research-card .card-body{display:flex;flex:1;padding:17px 0 0}
.card-theme{font-size:11px;color:#355b7f;line-height:1.55;margin-bottom:10px}.card-theme span{display:block;color:#606b75;margin-top:3px}
:is(.gallery-home,.restored-home) .research-card .card-body h3{font-size:26px;line-height:1.17}
:is(.gallery-home,.restored-home) .research-card .card-body p{display:block;font-size:16px;line-height:1.55;margin-top:11px;color:#485664;overflow:visible;-webkit-line-clamp:unset}
:is(.gallery-home,.restored-home) .research-card .card-meta{margin-top:17px;margin-bottom:13px;gap:6px}:is(.gallery-home,.restored-home) .card-date{font-size:11px;color:#65717c}
.card-resources{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:13px;border-top:1px solid #e3e8ee;font-size:12px}
:is(.gallery-home,.restored-home) .research-card .card-link{display:inline-flex;margin:0;color:#1455a0;font-size:13px;min-height:30px}.card-resources>div{display:flex;flex-wrap:wrap;gap:12px;color:#365976}.card-resources a:hover{text-decoration:underline;text-underline-offset:3px}
:is(.gallery-home,.restored-home) .research-section{padding-bottom:70px}
.gallery-resources{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px;border-top:1px solid #dce3eb;padding-block:39px 58px}
.gallery-resources h2{font-size:29px;max-width:340px;margin-top:12px}.gallery-resources .eyebrow{font-size:12px;color:#536170}.gallery-resources>a{padding-left:26px;border-left:1px solid #dce3eb}.resource-number{color:#4f7394;font-size:22px}.gallery-resources h3{font-size:21px;color:#1455a0;margin-top:10px}.gallery-resources p{font-size:14px;line-height:1.6;color:#526170;margin-top:12px}
.contact-email{font-size:13px;color:#174e86;text-decoration:underline;text-underline-offset:3px}.contribute-banner{scroll-margin-top:100px}
.research-post{--post-width:850px;color:#263642}
.post-head.shell{max-width:1040px;padding-block:45px 39px}
.post-kicker{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;font-size:12px;color:#315f88}.post-kicker>span{color:#5d6b77}
.post-head h1{font-size:clamp(40px,5vw,65px);letter-spacing:-.045em;color:#163b5a;margin-block:20px 15px}
.post-headline{font-size:clamp(24px,3vw,34px);line-height:1.25;letter-spacing:-.025em;max-width:830px}
.post-deck{font-size:18px;line-height:1.65;color:#536170;max-width:790px;margin-top:19px}
.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;font-size:12px;color:#5b6875;margin-top:22px}.post-meta .status-chip{font-size:12px}
.post-head .actions{margin-top:25px}.post-head .button{font-size:14px}
.post-tabs{background:#f9fbfd;color:#345675;gap:44px}.post-tabs a{min-height:24px}
.post-section.shell{max-width:var(--post-width);padding-block:46px 0}
.post-section-label{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#37678e;margin-bottom:12px}
.post-section h2{font-size:32px;line-height:1.2;margin-bottom:22px;color:#203f59}
.post-section p{font-size:17px;line-height:1.85;color:#354958;margin:0 0 18px}
.post-section a:not(.button){color:#155998;text-decoration:underline;text-underline-offset:3px}
.post-takeaway{margin-top:26px;padding:23px 26px;background:#edf4fb;border-left:3px solid #3573aa;border-radius:0 8px 8px 0}
.post-takeaway>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#315f88}.post-takeaway p{font-size:19px;line-height:1.6;margin:9px 0 0;color:#214563}
.post-steps{list-style:none;counter-reset:steps;padding:0;margin:0}
.post-steps li{counter-increment:steps;position:relative;padding-left:50px;margin-top:27px}
.post-steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:1px;font-size:13px;color:#3f7098;border-bottom:1px solid #b8cddd;padding-bottom:5px}
.post-steps h3{font-size:21px;line-height:1.3;margin-bottom:9px;color:#254a68}
.post-figure{margin-block:32px 0}.post-figure .framework{padding:15px;border-color:#dce4ec}.post-figure .framework img{height:auto;width:100%;object-fit:contain}
.post-figure .figure-credit{font-size:12px}.post-figure-caption{font-size:13px!important;line-height:1.7!important;color:#5a6a77!important;padding:14px 2px 0}
.post-figure-caption .text-link{display:inline;font-size:inherit}.post-figure-caption strong{font-weight:600}
.post-section .results-source{font-size:13px;color:#576c7d;margin-top:-10px}.results-source .text-link{display:inline;font-size:inherit}
.post-results{border-top:1px solid #dce5ed}.post-results>section{display:grid;grid-template-columns:210px 1fr;gap:28px;padding-block:24px;border-bottom:1px solid #dce5ed}
.post-results h3{font-size:21px;line-height:1.35;color:#1f527b}.post-results p{margin:0;font-size:16px;line-height:1.8}
.post-section .post-context{font-size:14px;line-height:1.8;color:#566775;margin-top:21px}.post-context strong{font-weight:600}
.resource-links{display:flex;gap:14px 22px;flex-wrap:wrap;align-items:center;padding:19px 22px;background:#f5f8fb;border-radius:8px;color:#5b6975;font-size:13px}.resource-links .text-link{font-size:14px}
.post-source{margin-top:13px;border-top:1px solid #e3e8ed}
.post-source h2{font-size:25px}.post-source .paper-authors{margin-top:0;font-size:14px;line-height:1.85;color:#4a5d6c}
.post-source .source-meta{font-size:12px;line-height:1.9;color:#5b6b78;margin-top:22px}.source-meta .text-link{font-size:inherit;display:inline}
.post-source .post-editorial{font-size:12px;color:#5b6b78}
.post-original{border-block:1px solid #dce5ed;margin-top:23px;padding:18px 0}
.post-original summary{font-size:14px;color:#255f91;cursor:pointer;min-height:26px}.post-original[open] summary{margin-bottom:18px}
.post-original .abstract p{font-size:15px;line-height:1.8}
.research-post .citation{max-width:var(--post-width);padding-top:35px}.research-post .citation .section-title{font-size:25px}
.research-post .related-data{max-width:var(--post-width)}.research-post .next-project h2{font-size:29px}
.research-post section[id],.research-post details[id]{scroll-margin-top:35px}
@media(max-width:1100px){
.gallery-hero{gap:32px}.hero-project{padding:20px}.hero-project>img{height:190px}.gallery-feature{grid-template-columns:36% 1fr;gap:16px;padding:18px}.feature-copy h3{font-size:24px}.feature-image img{height:120px}
:is(.gallery-home,.restored-home) .research-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-resources{gap:25px}.gallery-resources h2{font-size:26px}
}
@media(max-width:760px){
.gallery-hero{grid-template-columns:1fr;padding-block:35px 22px;gap:29px}.gallery-intro h1{font-size:49px}.gallery-statement{font-size:28px;margin-top:16px;max-width:530px}.gallery-description{font-size:16px;margin-top:16px}.gallery-actions{margin-top:22px}.gallery-intro .eyebrow{margin-bottom:14px}.hero-project>img{height:auto;max-height:230px;min-height:150px;margin-block:21px}
.gallery-featured{grid-template-columns:1fr;gap:16px;margin-bottom:47px}.gallery-feature{grid-template-columns:36% 1fr;padding:16px;gap:18px}.feature-copy h3{font-size:25px}.feature-copy .eyebrow{font-size:10px}
:is(.gallery-home,.restored-home) .section-heading h2{font-size:32px}:is(.gallery-home,.restored-home) .research-tools{gap:14px}.gallery-topics{flex-wrap:wrap;gap:7px}.gallery-topics .filter{font-size:12px;min-height:44px;padding:9px 11px}
:is(.gallery-home,.restored-home) .search{width:100%}:is(.gallery-home,.restored-home) .research-grid{grid-template-columns:1fr;gap:32px}
:is(.gallery-home,.restored-home) .research-card .cover-link{aspect-ratio:2.1;max-height:235px}:is(.gallery-home,.restored-home) .research-card .card-body{padding-top:16px}:is(.gallery-home,.restored-home) .research-card .card-body h3{font-size:27px}
:is(.gallery-home,.restored-home) .research-card .card-body p{font-size:16px;line-height:1.6}:is(.gallery-home,.restored-home) .research-card .card-meta{margin-top:14px;margin-bottom:10px}.card-theme{font-size:12px}.card-theme span{display:inline;margin-left:10px}
.card-resources a{min-height:40px;display:inline-flex;align-items:center}:is(.gallery-home,.restored-home) .research-card .card-link{min-height:40px}.card-resources{padding-top:6px}:is(.gallery-home,.restored-home) .research-section{padding-bottom:43px}
.gallery-resources{grid-template-columns:1fr;gap:26px;padding-block:30px 39px}.gallery-resources>a{padding:0;border:0}.gallery-resources h2{max-width:none;font-size:28px}.resource-number{float:right;font-size:26px}.gallery-resources h3{margin-top:0}.gallery-resources p{margin-top:8px}
.post-head.shell{padding-block:31px}.post-head h1{font-size:41px;overflow-wrap:anywhere;margin-top:17px}.post-headline{font-size:26px}.post-deck{font-size:16px;line-height:1.75}.post-kicker{gap:8px 15px;font-size:11px}.post-meta{gap:9px 16px}.post-head .actions{gap:9px}.post-head .button{font-size:13px;padding:10px 15px}
.post-tabs{gap:0;justify-content:space-around;position:static;box-shadow:none;padding:0;font-size:12px}.post-tabs a{display:flex;align-items:center;justify-content:center;padding:14px 4px;min-height:48px}
.post-section.shell{padding-top:33px}.post-section h2{font-size:27px;margin-bottom:18px}.post-section p{font-size:16px;line-height:1.85}.post-takeaway{padding:19px 20px}.post-takeaway p{font-size:18px}.post-steps li{padding-left:35px;margin-top:23px}.post-steps h3{font-size:20px}.post-figure .framework{padding:9px}.post-figure-caption{font-size:12px!important}
.post-results>section{grid-template-columns:1fr;gap:10px;padding-block:21px}.post-results h3{font-size:21px}.post-results p{font-size:16px}.post-source h2{font-size:23px}.resource-links{padding:16px;gap:12px 18px}.post-source .source-meta{overflow-wrap:anywhere}
}
