/* Portfolio and case-study pages share the main site's typography and palette. */
.project-section{border-top:1px solid var(--hl2)}
.project-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:32px;flex-wrap:wrap}
.project-head .sub{max-width:570px;margin-top:20px;color:var(--s2)}
.demo-note{padding:14px 18px;border:1px solid #65571f;background:#211e12;color:#e5d799;font-size:13px;line-height:1.6;border-radius:4px;margin:24px 0}
.demo-note strong{color:var(--y)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}
.project-card{min-width:0;border-bottom:1px solid var(--hl);padding-bottom:24px}
.project-card>a{display:block}
.project-picture{position:relative;overflow:hidden;background:var(--s8);aspect-ratio:16/10}
.project-picture img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.project-card a:hover img{transform:scale(1.035)}
.project-picture .sample-chip{position:absolute;left:16px;top:16px;background:var(--y);color:#111;padding:6px 10px;font:700 10px/1.4 var(--u);letter-spacing:.12em;text-transform:uppercase}
.project-card .project-meta{margin:20px 0 9px;color:var(--y);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.project-card h3{font:800 clamp(26px,3vw,38px)/1 var(--d);text-transform:uppercase;color:var(--w)}
.project-card .card-summary{font-size:15px;line-height:1.65;margin-top:12px;max-width:550px;color:var(--s4)}
.card-bottom{margin-top:22px;display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:13px}
.card-bottom .card-stat{color:var(--w)}.card-bottom .card-stat small{color:var(--s4);display:block;font-size:11px}
.project-read{color:var(--y);font-weight:700;white-space:nowrap}
.projects-page{padding-top:var(--navh)}.projects-page h1{font-size:clamp(56px,10vw,128px);line-height:.9;max-width:1000px}
.portfolio-intro{padding:58px 0 42px}.portfolio-intro .lede{max-width:670px;margin-top:24px;font-size:18px;line-height:1.6}
.portfolio-intro .kick{color:var(--y)}.portfolio-intro .demo-note{max-width:860px}
.portfolio-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 28px}
.portfolio-tools label{font-size:13px;color:var(--s4);margin-right:8px}
.portfolio-tools select{min-height:44px;font:600 13px var(--u);padding:8px 36px 8px 12px;background:var(--s9);color:var(--w);border:1px solid var(--hl);border-radius:4px;max-width:100%}
.portfolio-count{margin-left:auto;font-size:12px;color:var(--s4)}.project-card[hidden]{display:none}
.portfolio-grid-section{padding-bottom:90px}.empty-projects{padding:36px;border:1px dashed var(--hl);margin-top:24px}
.portfolio-cta{border-top:1px solid var(--hl);padding:64px 0;background:var(--s9)}
.portfolio-cta h2{font-size:clamp(40px,7vw,76px)}.portfolio-cta p{max-width:630px;margin:20px 0 26px}
.projects-footer{border-top:1px solid var(--hl);padding:24px 0;font-size:12px;color:var(--s4)}.projects-footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.project-nav{position:sticky}.project-nav .project-nav-links{display:flex;gap:24px;margin-left:auto;align-items:center;font-size:13px;font-weight:700}.project-nav .project-nav-links a:hover{color:var(--y)}
.breadcrumbs{font-size:12px;color:var(--s4);padding-top:28px;display:flex;gap:9px;flex-wrap:wrap}.breadcrumbs a:hover{color:var(--y)}
.case-hero{padding:40px 0 0}.case-hero .kick{color:var(--y)}.case-hero h1{font-size:clamp(52px,8vw,110px);max-width:950px;line-height:.92}.case-hero .lede{max-width:700px;font-size:18px;line-height:1.65;margin-top:22px}
.case-image{margin-top:34px;position:relative}.case-image img{width:100%;height:clamp(280px,45vw,560px);object-fit:cover}.case-image figcaption{font-size:11px;color:var(--s4);padding:10px 0;line-height:1.6}
.case-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--hl);background:var(--s9);margin:20px 0 0}.case-metric{padding:28px;border-right:1px solid var(--hl)}.case-metric:last-child{border:0}.case-metric b{font:800 clamp(36px,5vw,64px)/1 var(--d);text-transform:uppercase;color:var(--y)}.case-metric span{display:block;font-size:12px;margin-top:7px;color:var(--s2)}
.case-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:70px;padding-top:52px;padding-bottom:72px;align-items:start}.case-copy section{margin-bottom:40px}.case-copy h2,.case-sidebar h2,.case-map h2{font:800 32px/1.05 var(--d);margin-bottom:16px}.case-copy p{font-size:16px;line-height:1.85;max-width:720px}.case-copy ol{list-style:none;counter-reset:steps}.case-copy ol li{counter-increment:steps;position:relative;padding:0 0 22px 40px;line-height:1.75;font-size:15px}.case-copy ol li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:2px;color:var(--y);font:700 12px/1.7 var(--u)}
.case-copy ul{padding-left:20px;line-height:1.8}.case-copy li+li{margin-top:8px}.case-copy .answer{padding:24px;background:var(--s9);border-left:3px solid var(--y)}.case-copy .answer h3{font-size:18px;line-height:1.5;color:var(--w);margin-bottom:12px}.case-copy .answer p{font-size:15px}
.case-sidebar{border:1px solid var(--hl);background:var(--s9);padding:28px}.case-sidebar .lab{color:var(--y);margin-bottom:16px}.case-facts div{padding:13px 0;border-top:1px solid var(--hl)}.case-facts dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--s4);margin-bottom:5px}.case-facts dd{font-size:14px;color:var(--w)}.case-sidebar .btn{width:100%;margin-top:20px;white-space:normal;text-align:center}.case-sidebar .small-print{font-size:12px;line-height:1.7;margin-top:14px;color:var(--s4)}
.case-map{border-top:1px solid var(--hl);padding:48px 0 64px}.map-heading{display:flex;gap:24px;justify-content:space-between;align-items:flex-start;margin-bottom:22px;flex-wrap:wrap}.map-heading p{font-size:14px;max-width:650px}.case-map iframe{display:block;width:100%;height:360px;border:1px solid var(--hl);background:var(--s8);border-radius:4px}.map-caption{font-size:12px;color:var(--s4);margin-top:12px}
.related-project{padding:40px 0;border-top:1px solid var(--hl)}.related-project .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.related-project h2{font-size:32px;margin-top:10px}
@media(min-width:1100px){.project-section .project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-section .project-card h3{font-size:32px}}
@media(max-width:767px){.project-grid{grid-template-columns:1fr;gap:32px}.case-layout{grid-template-columns:1fr;gap:12px}.case-sidebar{grid-row:1}.case-metric{padding:16px 12px}.case-metric b{font-size:36px}.case-metric span{font-size:10px}.project-nav-links .optional{display:none}.project-nav .project-nav-links{gap:16px}.projects-page{padding-top:0}.portfolio-intro{padding-top:36px}.portfolio-count{width:100%;margin-top:8px}.case-map iframe{height:290px}}
@media(prefers-reduced-motion:reduce){.project-picture img{transition:none}}
.projects-page{padding-top:0;padding-bottom:0}
.portfolio-tools[hidden]{display:none}
@media(max-width:767px){.project-nav .btn.pri{width:auto;padding:0 12px;font-size:12px}.project-nav .brand{flex-shrink:0}}
