/* Projects: visual case studies within the portfolio's glass design system. */
.project-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:5%;align-items:center;padding:48px 6% 65px;background:radial-gradient(ellipse at 75% 15%,#3d697c66,transparent 65%),#111e29;color:white}.project-hero h1{font-size:clamp(36px,4.4vw,64px);line-height:1.1;letter-spacing:-2px;margin:22px 0}.project-deck{color:#c7d8e2;font-size:19px;line-height:1.7;max-width:650px}.project-status{color:#d1fa75;font-size:12px;text-transform:uppercase;letter-spacing:1.3px;line-height:1.8}.project-discipline{font-size:14px;color:#b5c9d6;margin-top:26px}.project-banner{margin:0;border:1px solid #ffffff40;border-radius:24px;overflow:hidden;background:#ffffff0b;box-shadow:0 26px 70px #0003}.project-banner img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain}.project-banner figcaption{font-size:12px;padding:13px 20px;color:#bfd1dd}.project-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1200px;margin:0 auto;padding:35px 40px;gap:30px;border-bottom:1px solid #b5cbd3}.project-stats strong{display:block;font-size:clamp(25px,3.4vw,46px);line-height:1.2;color:#1c3b4c;letter-spacing:-1px}.project-stats span{display:block;font-size:14px;color:#54707f;margin-top:10px}.project-flow{display:grid;grid-template-columns:1fr 1fr;list-style:none!important;padding:0!important;gap:14px;margin:32px 0!important}.project-flow li{padding:22px!important;margin:0!important;border:1px solid #bfd0d9;border-radius:16px;background:linear-gradient(135deg,#ffffffee,#dce9ef66);backdrop-filter:blur(16px)}.project-flow span{display:block;color:#608330;font-size:13px;letter-spacing:1px}.project-flow strong{display:block;font-size:17px;line-height:1.4;margin-top:8px}.project-chart{margin:30px 0}.project-chart img{display:block;width:100%;height:auto}.project-chart figcaption{font-size:13px;line-height:1.6;margin-top:12px;color:#5d7280}.project-detail{padding:26px;background:#ffffff8c;border:1px solid white;border-radius:16px;margin-top:32px}.project-detail>span{font-size:12px;letter-spacing:1.4px;color:#537422;font-weight:700}.project-detail p{font-size:14px;line-height:1.7;margin:12px 0 0}.project-cta{padding:65px 6%;text-align:center;color:white;background:radial-gradient(ellipse at top,#31526466,transparent),#111e29}.project-cta .eyebrow{color:#d1fa75}.project-cta h2{font-size:clamp(30px,4vw,48px);letter-spacing:-1px;margin:20px 0}.project-cta>p:not(.eyebrow){color:#bfd1dd}.project-cta .button{margin-top:20px}.project-back{display:block;font-size:14px;margin-top:30px;color:#c7d7e1}.project-collection{padding-top:1px}.project-jump{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.project-jump a{border:1px solid #ffffff40;border-radius:30px;padding:12px 20px;font-size:14px;background:#ffffff08}.project-jump a:hover{background:#ffffff18}.project-card .card-image{background:#d9e3e9}.project-card .card-image img{object-fit:contain;aspect-ratio:1.45}.card-result{display:flex;align-items:center;gap:12px;border-top:1px solid #b4c6d34d;padding:18px 0}.card-result strong{font-size:24px;color:#294c20;white-space:nowrap}.card-result span{font-size:12px;color:#526b78;line-height:1.5}.project-card .article-read{margin-top:auto}.project-card .card-copy>p:not(.article-kicker){margin-bottom:12px}.concept-section{background:#e1ebe7;padding-top:1px}.concept-intro{max-width:740px;padding:55px 0 35px}.concept-intro h2{font-size:clamp(32px,4vw,48px);letter-spacing:-1.5px;line-height:1.15}.concept-intro>p:not(.eyebrow){font-size:18px;line-height:1.7;color:#536c71}.concept-badge{display:inline-block;align-self:flex-start;padding:5px 10px;font-size:11px;line-height:1.6;text-transform:uppercase;letter-spacing:.5px;border:1px solid #80987b;background:#edf6e8;border-radius:6px;color:#35512b;margin-bottom:16px}.home-projects{background:linear-gradient(140deg,#e3ecef,#f2f5ee)}.projects-page .article-prose section>p{line-height:1.85}.projects-page section[id]{scroll-margin-top:100px}.editorial-nav nav{gap:24px}
@media(min-width:801px) and (max-width:1150px){body:not(.editorial-page) header nav a[href="#impact"],body:not(.editorial-page) header nav a[href="#credentials"],body:not(.editorial-page) header nav a[href="#linkedin"]{display:none}}
@media(max-width:900px){.project-hero{grid-template-columns:1fr;gap:28px}.project-banner{max-width:650px;width:100%}.project-banner img{max-height:450px}.project-hero h1{max-width:720px}.project-stats{padding:28px 6%;gap:20px}.editorial-nav nav{gap:18px}.editorial-nav nav>a[href="/#experience"]{display:none!important}}
@media(max-width:600px){.project-hero{padding:30px 6% 40px}.project-hero h1{font-size:37px;letter-spacing:-1.2px}.project-stats{grid-template-columns:1fr;gap:19px}.project-stats>div{display:flex;gap:20px;align-items:center}.project-stats strong{font-size:27px;min-width:115px;max-width:60%}.project-stats span{margin:0;font-size:13px}.project-flow{grid-template-columns:1fr}.project-flow li{display:flex;align-items:center;gap:18px}.project-flow strong{margin:0}.project-deck{font-size:17px}.editorial-nav nav>a[href="/#about"]{display:none!important}.editorial-nav nav{gap:14px}.editorial-nav nav>a{font-size:12px}.editorial-nav .nav-contact{padding:9px 11px}.projects-page .article-layout{padding-top:25px}.project-jump a{font-size:13px;padding:10px 16px}}
@media(max-width:450px){body:not(.editorial-page) header nav a[href="#about"]{display:none}.editorial-nav nav{gap:10px}.editorial-nav .brand{font-size:28px}.editorial-nav{gap:12px}}
.motion-enabled .project-stats,.motion-enabled .project-flow,.motion-enabled .project-cta{transition:opacity .7s ease var(--reveal-delay,0ms),translate .7s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}
@media(max-width:1150px){body:not(.editorial-page) header nav a[href="#impact"],body:not(.editorial-page) header nav a[href="#credentials"],body:not(.editorial-page) header nav a[href="#linkedin"]{display:none}}
@media(max-width:800px){body:not(.editorial-page) header nav a[href="#experience"]{display:none}}
@media(max-width:450px){body:not(.editorial-page) header nav{gap:12px;font-size:12px}body:not(.editorial-page) header .nav-contact{padding:9px 11px}}
