/* Compact case studies using JFC's existing typography and accent. */
html:has(.project-detail){scroll-padding-top:84px}
.project-detail{font-size:14px}
.project-detail .wrap,.project-detail .nav{width:min(1080px,calc(100% - 48px));margin-inline:auto}
.project-detail>header{position:sticky;top:0;z-index:40;background:#0b0e0ef5;border-bottom:1px solid #ffffff1c;backdrop-filter:blur(14px)}
.project-detail .nav{min-height:74px;height:auto;padding:10px 0;gap:20px}
.project-detail .logo img{width:170px;height:auto;max-height:38px}
.project-detail .links{gap:4px;font-size:13px;letter-spacing:.04em}
.project-detail .links a{padding-inline:10px}
.project-detail .project-summary{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;padding-block:32px 26px}
.project-detail .project-summary .eyebrow{margin:0 0 12px;font-size:11px}
.project-detail .project-summary h1{font:900 clamp(2.6rem,4.2vw,4rem)/.93 "Barlow Condensed",sans-serif;margin:0 0 16px;letter-spacing:-.02em;text-transform:uppercase}
.project-detail .project-lead{font-size:14px;line-height:1.65;max-width:540px;margin:0 0 18px}
.project-detail .project-summary>figure{margin:0;min-width:0}
.project-detail .project-summary>figure>img{width:100%;aspect-ratio:1.65;max-height:300px;object-fit:cover;border:1px solid #ffffff20}
.project-detail .project-summary figcaption{padding-top:8px;font:700 11px/1.3 "Barlow Condensed",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#ffffff80}
.project-detail .project-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#ffffff20;padding:1px;margin:0}
.project-detail .project-facts>div{background:#101515;padding:10px 12px;min-width:0}
.project-detail .project-facts dt{font:700 10px/1.3 Manrope,sans-serif;letter-spacing:.025em;color:#ffffff85;margin-bottom:4px}
.project-detail .project-facts dd{font:800 17px/1.12 "Barlow Condensed",sans-serif;color:#f5f5f1;margin:0}
.project-detail .detail-section{padding-block:26px;border-top:1px solid #ffffff1c}
.project-detail .detail-section h2{font:900 30px/1 "Barlow Condensed",sans-serif;letter-spacing:-.01em;margin:0 0 16px}
.project-detail .detail-section h2:before{display:none}
.project-detail .project-about{display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:start}
.project-detail .project-about>p{font-size:14px;line-height:1.75;margin:0;max-width:840px}
.project-detail .detail-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:16px}
.project-detail .detail-section-heading h2{margin:0}
.project-detail .detail-section-heading>p{font-size:11px;line-height:1.5;color:#ffffff85;margin:0}
.project-detail .gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.project-detail .gallery button:first-child{grid-column:auto}
.project-detail .gallery button{border:1px solid #ffffff1c;background:#101515;transition:border-color .2s ease;min-width:0}
.project-detail .gallery button:hover,.project-detail .gallery button:focus-visible{border-color:#46d9db}
.project-detail .gallery img,.project-detail .gallery button:first-child img{width:100%;aspect-ratio:1.5;object-fit:cover}
.project-detail .gallery figcaption{padding:8px 10px;font-size:10px;line-height:1.3}
.project-detail .dialog{position:fixed;inset:0;margin:auto;max-width:94vw;max-height:94svh;padding:14px;background:#0b1011;border:1px solid #ffffff30}
.project-detail .dialog img{width:auto;height:auto;max-height:74svh;max-width:88vw;object-fit:contain;margin:auto}
.project-detail .dialog-actions{font-size:12px;padding:8px 0}
.project-detail .dialog-actions button{min-height:40px;padding:8px 14px;background:#112022;border-color:#46d9db66;font:700 13px Manrope,sans-serif}
.project-detail .project-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.project-detail .project-evidence>.project-sources:only-child{grid-column:1/-1;max-width:760px}
.project-detail .source-cards{display:grid;gap:10px}
.project-detail .source-cards>a{display:block;background:#101515;border:1px solid #ffffff20;padding:15px 17px;transition:border-color .2s ease}
.project-detail .source-cards>a:hover{border-color:#46d9db99}
.project-detail .source-cards strong{display:flex;align-items:center;justify-content:space-between;gap:12px;font:800 19px/1.2 "Barlow Condensed",sans-serif;color:#f5f5f1}
.project-detail .source-cards strong span{color:#46d9db}
.project-detail .source-cards p{font-size:12px;line-height:1.6;margin:8px 0 0;color:#ffffff99}
.project-detail .youtube-player{position:relative;aspect-ratio:16/9;width:100%;max-width:520px;background:#080c0d;border:1px solid #ffffff20}
.project-detail .youtube-player .youtube-load{position:relative;display:block;width:100%;height:100%;border:0;padding:0;background:#080c0d;cursor:pointer;color:#fff}
.project-detail .youtube-load img{width:100%;height:100%;object-fit:cover;filter:brightness(.65)}
.project-detail .project-play{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border:1px solid #46d9db;background:#101d1de6;border-radius:50%;color:#46d9db;font-size:19px;padding-left:3px}
.project-detail .project-play-label{position:absolute;left:0;right:0;top:65%;text-align:center;font:800 12px/1.2 "Barlow Condensed",sans-serif;letter-spacing:.12em}
.project-detail .youtube-player iframe{display:block;border:0;width:100%;height:100%}
.project-detail .project-video-link{display:inline-block;font-size:11px;margin-top:8px;color:#46d9db;text-decoration:underline;text-underline-offset:4px}
.project-detail .local-opening{grid-column:2;padding:12px 0;border-top:1px solid #ffffff20;font-size:12px}
.project-detail .local-opening summary{cursor:pointer;color:#46d9db}
.project-detail .local-opening video{display:block;width:100%;margin-top:12px}
.project-detail .project-related{display:flex;align-items:center;gap:12px;padding-block:18px;border-top:1px solid #ffffff1c}
.project-detail .project-related>span{margin-right:auto;font:800 12px "Barlow Condensed",sans-serif;letter-spacing:.08em;color:#ffffff80}
.project-detail .project-related>a{display:flex;align-items:center;gap:20px;padding:11px 14px;border:1px solid #ffffff25;background:#101515}
.project-detail .project-related>a:hover{border-color:#46d9db}
.project-detail .project-related>a>span{font:800 19px/1 "Barlow Condensed",sans-serif;color:#f5f5f1}
.project-detail .project-related small{font-size:10px;color:#46d9db}
.project-detail .project-contact{display:grid;grid-template-columns:1.3fr .7fr;gap:36px;align-items:center;margin-block:12px 28px;padding:26px 28px;border:1px solid #46d9db50;border-top:2px solid #46d9db;background:radial-gradient(ellipse at 0 50%,#46d9db12,transparent 65%),#101515;box-sizing:border-box}
.project-detail .project-contact .eyebrow{font-size:10px;margin:0 0 12px}
.project-detail .project-contact h2{font:900 clamp(1.8rem,2.8vw,2.6rem)/1.02 "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 12px;max-width:620px}
.project-detail .project-contact p:not(.eyebrow){font-size:13px;line-height:1.7;margin:0;max-width:600px}
.project-detail .project-contact-actions{display:grid;gap:10px;min-width:0}
.project-detail .project-contact-actions>strong{font:800 22px/1.1 "Barlow Condensed",sans-serif;margin-bottom:4px}
.project-detail .project-contact-actions>strong small{display:block;font:400 11px/1.6 Manrope,sans-serif;color:#ffffff99;margin-top:5px}
.project-detail .project-contact .btn{display:flex;justify-content:center;min-height:44px;margin:0;padding:12px;gap:8px;font-size:13px;line-height:1.3;text-align:center}
.project-detail .detail-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20;padding-block:20px 50px;font-size:11px;color:#ffffff85}
.project-detail .detail-footer a{color:#46d9db}
.project-detail .detail-draft{position:fixed;right:10px;bottom:10px;z-index:30;border:1px solid #46d9db40;padding:7px 10px;background:#0b1111ee;font-size:8px;letter-spacing:.05em;color:#ffffff99}
.project-detail .detail-draft a{text-decoration:underline}
@media(max-width:800px){.project-detail .links{display:none;position:absolute;top:100%;left:0;right:0;padding:15px 24px;background:#0b1111;border-bottom:1px solid #46d9db50;flex-direction:column;align-items:stretch}.project-detail .links.open{display:flex}.project-detail .links a{justify-content:flex-start}.project-detail .menu{display:block;min-height:44px}.project-detail .project-summary{gap:24px;grid-template-columns:1fr 1fr}.project-detail .project-summary h1{font-size:42px}.project-detail .project-facts{grid-template-columns:1fr 1fr}.project-detail .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.project-detail .project-about{grid-template-columns:1fr;gap:0}.project-detail .project-contact{gap:24px;grid-template-columns:1fr 1fr;padding:24px}.project-detail .project-contact h2{font-size:30px}.project-detail .project-related{flex-wrap:wrap}}
@media(max-width:600px){.project-detail .wrap,.project-detail .nav{width:calc(100% - 36px)}.project-detail .project-summary{grid-template-columns:1fr;padding-top:24px;gap:20px}.project-detail .project-summary h1{font-size:40px}.project-detail .project-summary>figure>img{max-height:240px;aspect-ratio:1.7}.project-detail .detail-section{padding-block:24px}.project-detail .detail-section-heading{align-items:start;flex-direction:column;gap:7px}.project-detail .detail-section h2{font-size:27px}.project-detail .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-detail .project-evidence,.project-detail .project-contact{grid-template-columns:1fr;gap:24px}.project-detail .local-opening{grid-column:1}.project-detail .project-related>span{width:100%;margin:0}.project-detail .project-related>a{flex:1;justify-content:space-between;gap:8px}.project-detail .project-related>a>span{font-size:18px}.project-detail .project-contact{padding:22px 20px;margin-top:12px}.project-detail .project-contact h2{font-size:29px}.project-detail .detail-footer{flex-direction:column;gap:12px}.project-detail .dialog-actions button{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.project-detail *{transition:none!important}}

/* Soft perimeter shading echoes the municipal lead photograph. */
.project-detail .project-summary>figure{position:relative;isolation:isolate;overflow:hidden}
.project-detail .project-summary>figure::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,rgba(4,9,9,.42),rgba(4,9,9,.08) 40%,transparent 65%),radial-gradient(ellipse at 54% 49%,transparent 38%,rgba(4,9,9,.12) 72%,rgba(4,9,9,.35) 100%);box-shadow:inset 0 -28px 35px rgba(4,9,9,.16)}

/* Return link uses the highlighted municipality entry treatment. */
.project-detail .links .project-back-button{border:1px solid rgba(70,217,219,.6);background:rgba(70,217,219,.12);color:#75e9eb;font-weight:800;border-radius:4px;box-shadow:0 0 18px rgba(70,217,219,.08);padding-inline:14px}
.project-detail .links .project-back-button:hover,.project-detail .links .project-back-button:focus-visible{background:rgba(70,217,219,.23);color:#fff;border-color:#46d9db;text-shadow:0 0 8px rgba(75,180,255,.95),0 0 22px rgba(35,145,255,.7);box-shadow:inset 0 0 22px rgba(35,145,255,.15),0 0 16px rgba(35,145,255,.14)}

/* Reference lead cards: photo aligned to the full information column. */
.project-detail .project-summary{align-items:stretch}
.project-detail .project-summary>figure{border:1px solid rgba(70,217,219,.5);border-radius:3px;background:#101818;box-shadow:0 0 38px rgba(35,145,255,.14),0 18px 38px rgba(0,0,0,.3);transition:border-color .35s ease,box-shadow .35s ease}
.project-detail .project-summary>figure>img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;border:0;object-fit:cover;transition:transform .65s ease,filter .45s ease}
.project-detail .project-summary>figure::before{content:"";position:absolute;inset:10px;z-index:2;pointer-events:none;background:linear-gradient(#71eef0,#71eef0) left top/28px 2px no-repeat,linear-gradient(#71eef0,#71eef0) left top/2px 28px no-repeat,linear-gradient(#71eef0,#71eef0) right bottom/28px 2px no-repeat,linear-gradient(#71eef0,#71eef0) right bottom/2px 28px no-repeat;opacity:.8;transition:opacity .35s ease}
@media(hover:hover){.project-detail .project-summary>figure:hover{border-color:#71eef0;box-shadow:0 0 52px rgba(35,145,255,.26),0 18px 38px rgba(0,0,0,.3)}.project-detail .project-summary>figure:hover>img{transform:scale(1.025);filter:brightness(1.06)}.project-detail .project-summary>figure:hover::before{opacity:1}}
@media(max-width:600px){.project-detail .project-summary>figure{aspect-ratio:1.7;min-height:0}.project-detail .project-summary>figure>img{max-height:none;aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){.project-detail .project-summary>figure:hover>img{transform:none}}
