.project-portfolio-title{background-color:#20201c;background-image:linear-gradient(115deg,transparent 24%,#e7be311a 24.1%,transparent 24.3%,transparent 41%,#e7be3110 41.1%,transparent 41.3%),linear-gradient(110deg,#3d3520 0%,#24241e 45%,#191a18 100%);border-bottom:1px solid #e7be3159}
.project-portfolio-title:before{content:none}
.project-portfolio-title h1:after{content:'';display:block;width:56px;height:3px;margin-top:14px;background:var(--gold)}
.project-portfolio-title .bread-crumb a:hover{color:var(--gold)}
.project-section{padding:64px 0 80px}
.project-features{display:grid;gap:28px}
.project-section h2{font-size:clamp(1.4rem,2.3vw,2rem)}
.project-section h3{font-size:1.125rem}
.project-section p,.project-section li,.project-section dd{overflow-wrap:anywhere}
.project-eyebrow{font-size:.9375rem;color:#705918;font-weight:700;margin-bottom:12px}
.project-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);border:1px solid var(--line);border-top:4px solid var(--gold);background:var(--paper)}
.project-cover{display:flex;align-items:center;background:#f1f0ec}
.project-cover img{display:block;width:100%;height:auto;object-fit:contain}
.project-feature-copy{padding:32px}
.project-feature-copy h2{margin-bottom:18px}
.project-contract{font-size:.875rem}
.project-contract bdi{display:inline-block;max-width:100%;overflow-wrap:anywhere}
.project-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;background:var(--gold);border:1px solid #c6a329;color:var(--ink);font-size:.9375rem;font-weight:700;text-align:center}
.project-link:hover{background:#d6ad25;color:#171717}
.project-register-section{margin-top:60px}
.project-register-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:24px}
.project-register-heading h2{margin-bottom:4px}
.project-register-heading p{margin:0;color:var(--muted);font-size:.875rem}
.project-filter{display:flex;align-items:center;gap:12px;max-width:100%}
.project-filter label{font-size:.875rem}
.project-filter select{max-width:100%;min-width:185px;min-height:44px;font:inherit;font-size:.9375rem;padding:8px 12px;color:var(--ink);background:#fff;border:1px solid #bdb7a8}
.project-register{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.project-entry{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:24px 12px}
.project-entry[hidden]{display:none}
.project-entry:target{background:#fcf8e8}
.project-number{align-self:start;color:#705918;font-size:.875rem;padding-top:4px;font-variant-numeric:tabular-nums}
.project-entry h3{margin:0 0 8px;font-size:1.0625rem}
.project-entry p{margin:0;font-size:.875rem;color:var(--muted)}
.project-entry-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:flex-end}
.project-status{font-size:.875rem;color:var(--muted)}
.project-more,.project-return{display:inline-block;min-height:44px;padding:9px 0;color:#705918;text-decoration:underline;text-underline-offset:5px;font-weight:700;font-size:.9375rem}
.project-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:44px}
.project-intro-photo{margin:0;border:1px solid var(--line);border-bottom:3px solid var(--gold);background:var(--paper)}
.project-intro-photo img{display:block;width:100%;height:auto}
.project-cover-portrait img,.project-intro-photo-portrait img{max-height:560px;object-fit:contain}
.project-intro-photo figcaption{padding:12px 16px;color:var(--muted);font-size:.875rem}
.project-facts{display:grid;grid-template-columns:1.4fr .65fr 1.2fr .55fr;margin:40px 0 0;border-top:3px solid var(--gold);background:var(--paper)}
.project-facts>div{padding:24px;border-bottom:1px solid var(--line);min-width:0}
.project-facts dt{font-size:.875rem;color:var(--muted);margin-bottom:8px}
.project-facts dd{margin:0;font-size:1rem;font-weight:700}
.project-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-top:3px solid var(--gold);margin:36px 0 0}
.project-metrics>div{display:flex;flex-direction:column;padding:24px;background:var(--paper);min-width:0}
.project-metrics dt{font-size:.875rem;color:var(--muted)}
.project-metrics dd{order:-1;margin:0 0 8px;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}
.project-metrics+.project-facts{margin-top:24px}
.project-detail-section{margin-top:52px}
.project-detail-section h2{padding-bottom:14px;border-bottom:2px solid var(--gold);margin-bottom:24px}
.project-facilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.project-facilities-single{grid-template-columns:minmax(0,1fr)}
.project-facility{padding:26px;border:1px solid var(--line);border-inline-start:3px solid var(--gold)}
.project-facility h3{margin-bottom:10px}
.project-facility p{margin:0;color:var(--muted)}
.project-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.project-scope,.project-equipment{margin:0;padding-inline-start:26px}
.project-scope li,.project-equipment li{padding:5px 0}
.project-scope li::marker,.project-equipment li::marker{color:#856400}
.project-gallery-hint{color:var(--muted)}
.project-gallery-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0 16px}
.project-gallery-tools label{display:block;font-size:.875rem;margin-bottom:8px}
.project-gallery-tools>div{min-width:0}
.project-gallery-tools input,.project-gallery-tools select{width:100%;min-width:0;min-height:46px;padding:10px 12px;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid #bdb7a8}
.project-photo-item[hidden],.project-photo-group[hidden],#project-photo-empty[hidden]{display:none}
.project-gallery-nav{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 36px}
.project-gallery-nav a{display:inline-flex;align-items:center;min-height:44px;border:1px solid #cabb83;padding:9px 16px;font-size:.875rem}
.project-gallery-nav a:hover{background:var(--gold);color:var(--ink)}
.project-photo-group{margin-top:38px}
.project-photo-group h3{margin-bottom:20px}
.project-photo-count{color:var(--muted);font-weight:400}
.project-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px}
.project-photo-item{margin:0;border:1px solid var(--line);background:#fff;min-width:0}
.project-photo{display:block;background:#f2f1ed}
.project-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.project-photo-item figcaption{font-size:.875rem;line-height:1.8;padding:14px;color:#505050}
.project-photo:focus-visible{outline-offset:-4px}
.project-return{margin-top:38px}
.project-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;margin:0;padding:0}
.project-timeline li{padding:24px;border:1px solid var(--line);border-top:3px solid var(--gold);background:var(--paper)}
.project-timeline h3{margin-bottom:12px}
.project-external-links{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.project-source-link{display:inline-block;min-height:44px;padding:9px 0;color:#705918;text-decoration:underline;text-underline-offset:4px;font-size:.9375rem}
@media(max-width:650px){.project-timeline{grid-template-columns:minmax(0,1fr)}}
.project-gallery-open{overflow:hidden}
.project-lightbox{width:min(1050px,calc(100% - 24px));max-height:calc(100vh - 24px);max-height:calc(100svh - 24px);padding:18px 24px;border:1px solid var(--gold);background:#1c1c1c;color:#fff;overflow:auto}
.project-lightbox::backdrop{background:#000d}
.project-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.project-lightbox-counter{margin:0;direction:ltr;font-size:.9375rem}
.project-lightbox button{font:inherit;color:#fff;border:1px solid #88764c;background:#252525;min-width:44px;min-height:44px;cursor:pointer}
.project-lightbox button:hover{background:var(--gold);color:var(--ink)}
.project-lightbox .project-lightbox-close{font-size:1.75rem;line-height:1}
.project-lightbox figure{margin:0}
.project-lightbox-image{display:block;width:100%;height:min(65vh,720px);height:min(65svh,720px);object-fit:contain}
.project-lightbox-caption{font-size:.875rem;text-align:center;padding:16px 4px}
.project-lightbox-controls{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.project-lightbox-controls button{padding:8px 18px;font-size:.875rem}
.project-lightbox :focus-visible{outline-color:var(--gold)}
@media(max-width:650px){.project-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.project-metrics>div{padding:20px 16px}.project-gallery-tools{grid-template-columns:minmax(0,1fr)}}
@media(max-width:950px){.project-feature-copy{padding:24px}.project-intro{gap:28px}.project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.project-section{padding:36px 0 50px}.project-feature,.project-intro,.project-facilities,.project-scope-grid{grid-template-columns:minmax(0,1fr)}.project-feature-copy{padding:24px 20px}.project-feature .project-cover{order:2}.project-intro{gap:28px}.project-facts{grid-template-columns:minmax(0,1fr);margin-top:28px}.project-facts>div{padding:18px 20px}.project-detail-section{margin-top:36px}.project-scope-grid{gap:0}.project-register-section{margin-top:40px}.project-register-heading{align-items:flex-start}.project-filter{width:100%}.project-filter select{flex:1;min-width:0}.project-entry{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:20px 0}.project-entry-actions{grid-column:2;justify-content:flex-start;gap:24px}.project-photo-grid{grid-template-columns:minmax(0,1fr)}.project-photo img{aspect-ratio:auto;max-height:560px}.project-gallery-nav{display:grid;grid-template-columns:minmax(0,1fr)}.project-gallery-nav a{justify-content:center;text-align:center}.project-lightbox{padding:12px}.project-lightbox-image{height:57vh;height:57svh}.project-lightbox-controls{gap:10px}.project-lightbox-controls button{padding:8px 12px}.bread-crumb{flex-wrap:wrap;row-gap:4px}}

.project-gallery-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0;border-bottom:2px solid #e7be31;padding-bottom:16px}
.project-gallery-tabs button{font:inherit;font-size:1rem;min-height:48px;padding:10px 18px;border:1px solid #b58c28;background:#fff;color:#191919;cursor:pointer}
.project-gallery-tabs button[aria-selected="true"]{background:#e7be31;color:#111;border-color:#e7be31;font-weight:700}
.project-gallery-tabs button:focus-visible{outline:3px solid #111;outline-offset:3px}
.project-photo-group[hidden]{display:none!important}
.project-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0;margin:18px 0;background:#111}
@media(max-width:650px){.project-gallery-tabs{gap:8px}.project-gallery-tabs button{flex:1 0 calc(33.33% - 8px);padding:10px 8px}.project-video h3{font-size:1.15rem}}

.project-location-photo-cards{display:grid;gap:24px}
.project-facility-photo-card{border:1px solid #e2e2da;border-inline-start:4px solid #e7be31;background:#fff;margin-bottom:24px}
.project-facility-photo-card summary{position:relative;list-style:none;cursor:pointer;padding:28px;min-height:100px;text-align:start}
.project-facility-photo-card summary::-webkit-details-marker{display:none}
.project-facility-name{display:block;font-size:1.35rem;font-weight:700;line-height:1.6;color:#222}
.project-facility-description{display:block;color:#666;font-size:1rem;margin-top:12px}
.project-card-action{display:block;color:#65500d;font-size:1rem;margin-top:16px}
.project-facility-photo-card summary:focus-visible{outline:3px solid #111;outline-offset:3px}
.project-facility-photo-card[open] summary{border-bottom:1px solid #e2e2da}
.project-facility-photo-card>.project-photo-grid{padding:20px}
@media(max-width:650px){.project-facility-photo-card summary{padding:22px}.project-facility-photo-card>.project-photo-grid{padding:12px}}

/* Consistent card rhythm and explicit open/closed states. */
.project-location-photo-cards>.project-facility-photo-card{margin-bottom:0}
.project-location-photo-cards,.project-feature-copy,.project-intro>div{min-width:0}
.project-facility-name,.project-facility-description{overflow-wrap:anywhere}
.project-facility-photo-card summary{scroll-margin-top:140px}
.project-card-action{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.project-card-hide{display:none}
.project-card-symbol{margin-inline-start:auto;font-size:1.3rem;line-height:1}
.project-card-symbol::before{content:'＋'}
.project-facility-photo-card[open] .project-card-show{display:none}
.project-facility-photo-card[open] .project-card-hide{display:inline}
.project-facility-photo-card[open] .project-card-symbol::before{content:'−'}
.project-facility-photo-card[open]{border-color:#c7ab50}
.project-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
.project-timeline{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}
.project-section :is(a,button,input,select,summary):focus-visible{outline:3px solid #856400;outline-offset:3px}
@media(hover:hover){.project-facility-photo-card summary:hover{background:#faf9f6}.project-photo:hover{outline:2px solid var(--gold);outline-offset:-2px}}
@media(max-width:950px){.project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.project-facts{grid-template-columns:minmax(0,1fr)}.project-lightbox-controls button{flex:1;min-width:0}.project-lightbox-caption{overflow-wrap:anywhere}}

.project-exhibition-feature{margin-top:28px}
.media-hub-intro{max-width:850px;margin:0 0 32px;color:var(--muted);font-size:1.0625rem}
.conference-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center}
.conference-hero-copy>p:not(.project-eyebrow){font-size:1.0625rem;line-height:2}
.conference-hero-photo{margin:0;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--gold)}
.conference-hero-photo img{display:block;width:100%;height:auto}
.conference-hero-photo figcaption{padding:12px 16px;color:var(--muted);font-size:.875rem}
.conference-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.conference-actions .project-link.secondary{background:#fff;border-color:#bdb7a8}
.conference-actions .project-link.secondary:hover{background:var(--paper)}
.conference-days,.conference-outcomes,.conference-coverage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.conference-day,.conference-outcome,.conference-source{padding:22px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold)}
.conference-day time,.conference-day strong{display:block;font-weight:700;color:#705918;margin-bottom:7px}
.conference-outcome h3,.conference-source h3{margin-bottom:8px}
.conference-source a{color:#705918;text-decoration:underline;text-underline-offset:4px}
.conference-source a:hover{color:#332b16}
@media(max-width:950px){.conference-hero{grid-template-columns:minmax(0,1fr)}.conference-days,.conference-outcomes,.conference-coverage{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.conference-hero{gap:24px}.conference-days,.conference-outcomes,.conference-coverage{grid-template-columns:minmax(0,1fr)}.conference-actions{display:grid}.conference-actions .project-link{width:100%}}
