.work-section > .wrap,
.live-section > .wrap {
  width: 90%;
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
@media (min-width: 721px) {
  .work-section .filters {
    position: sticky;
    top: 82px;
    right: auto;
    left: auto;
    transform: none;
    margin: 0 auto 40px;
    width: max-content;
    flex-direction: row;
    border-radius: 999px;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
  .work-section .filter { width: auto; }
  .work-section .project-panel { top: 154px; }
  .project-expanded .project-panel { top: auto; }
}
.nav-links .nav-projects,
.project-tag {
  color: #fff0f1;
  background: rgba(100, 0, 0, .34);
  border: 1px solid rgba(163, 0, 0, .5);
  box-shadow: inset 0 1px 0 rgba(255, 225, 230, .12), 0 4px 18px rgba(40, 0, 8, .10);
  backdrop-filter: blur(12px) saturate(130%);
  -webkit-backdrop-filter: blur(12px) saturate(130%);
}
.nav-links .nav-projects { padding: 9px 14px; border-radius: 999px; }
.nav-links .nav-projects:hover { background-color: rgba(130, 0, 0, .48); border-color: rgba(200, 15, 15, .65); }
.live-dot,
.development-timeline .current:before {
  background: radial-gradient(circle at 28% 20%, rgba(255,224,229,.38), transparent 38%), rgba(151, 5, 30, .38);
  border: 1px solid rgba(203,54,78,.75);
  box-shadow: inset 0 1px 2px rgba(255,255,255,.24), inset 0 -2px 3px rgba(66,0,10,.3), 0 0 10px rgba(145,10,33,.2);
  backdrop-filter: blur(2px);
  animation: glass-pulse 1.8s ease-in-out infinite;
}
.development-timeline li:not(.current):not(.planned):before {
  background: radial-gradient(circle at 28% 20%, rgba(230,255,239,.4), transparent 38%), rgba(45,172,101,.30);
  border: 1px solid rgba(160,243,193,.65);
  box-shadow: inset 0 1px 2px rgba(255,255,255,.28), 0 0 9px rgba(69,192,122,.12);
  backdrop-filter: blur(2px);
}
@keyframes glass-pulse { 0%,100% { opacity: 1; } 50% { opacity: .4; } }
@media (max-width: 720px) {
  .work-section > .wrap, .live-section > .wrap { width: 90%; }
  .nav-links .nav-projects { padding: 8px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .live-dot, .development-timeline .current:before { animation: none; }
}
:root { --accent: #950000; --red: var(--accent); }
.logo { letter-spacing: -.04em; font-size: 22px; }
.projects-hero-stage > img { object-position: 52% 53%; }
.wind-image.drawing a, .wind-image.drawing img { background: #fff; }
.case-gallery { display: grid; gap: 16px; padding: 20px; align-content: center; min-width: 0; }
.case-image { margin: 0; border-radius: 18px; overflow: hidden; background: #101115; border: 1px solid rgba(255,255,255,.1); }
.case-image a { display: block; background: #0c1016; }
.case-image.white a { background: #fff; }
.case-image img { display: block; width: 100%; height: auto; max-height: 540px; object-fit: contain; }
.case-image figcaption { padding: 12px 16px; color: #bcbcc1; font-size: 12px; line-height: 1.5; }
.case-link { margin-top: 24px; }
.project-expanded .case-panel { display: flex; flex-direction: column; }
.project-expanded .case-panel .project-info { order: -1; width: 100%; }
.project-expanded .case-panel .project-description { max-width: 100ch; }
.project-expanded .case-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; padding: 0 32px 32px; }
.project-expanded .case-gallery:has(.graph) .case-image:first-child { grid-column: 1/-1; }
.project-expanded .case-gallery .graph { align-self: center; }
.case-story { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; padding: 16px 32px 32px; }
.case-story h3 { font-size: 21px; margin-bottom: 14px; }
.case-story p { color: #bcbcc1; font-size: 15px; line-height: 1.75; }
.project-scene[id] { scroll-margin-top: 100px; }
@media (max-width: 980px) {
 .case-story { grid-template-columns: 1fr; gap: 24px; }
 .project-expanded .case-gallery { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
 .case-gallery { padding: 12px; }
 .case-story { padding: 12px 20px 24px; }
 .project-expanded .case-gallery { padding: 0 12px 20px; }
 .projects-hero-stage > img { object-position: 52% 52%; }
}
/* Shared dark red glass and persistent frosted navigation. */
.nav-shell, body.scrolled .nav-shell { background:rgba(8,8,9,.26); border:0; box-shadow:none; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.nav, body.scrolled .nav { border:0; box-shadow:none; }
.project-info .metrics .metric, .wind-results .metric { background:rgba(100,0,0,.25); border:1px solid rgba(160,0,0,.35); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter:blur(12px); }
.project-info .project-tag { color:#e6dada; }
.live-dot, .development-timeline .current:before { background:radial-gradient(circle at 28% 20%,rgba(255,220,220,.32),transparent 38%),rgba(150,0,0,.5); border-color:rgba(180,15,15,.8); }
.page-curtain { position:fixed; inset:0; z-index:10000; background:#000; opacity:0; pointer-events:none; transition:opacity 480ms ease; }
.page-curtain.is-black { opacity:1; pointer-events:auto; }
.projects-hero { height:60svh; min-height:370px; }
.projects-hero-stage { height:56svh; min-height:350px; }
.projects-hero-stage > img { object-position:52% 34%; }
.live-section { padding-top:44px; border-top:0; }
.live-section + .live-section { padding-top:48px; }
.experience-section { position:relative; isolation:isolate; overflow:hidden; border:0; background:#060709; }
.experience-background { position:absolute; inset:-80px 0; width:100%; height:calc(100% + 160px); object-fit:cover; object-position:50% 65%; z-index:-2; will-change:transform; }
.experience-section:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.68),rgba(0,0,0,.56),rgba(0,0,0,.83)); z-index:-1; pointer-events:none; }
.experience-row { background:rgba(12,13,16,.5); backdrop-filter:blur(10px); }
.experience-row:hover { background:rgba(25,27,30,.7); }
.org-logo { display:block; width:136px; height:54px; object-fit:contain; object-position:left center; padding:0; border-radius:0; background:transparent; margin-bottom:14px; }
@media(max-width:720px) { .projects-hero { height:55svh; min-height:350px; } .projects-hero-stage { height:52svh; min-height:330px; } .projects-hero-stage > img { object-position:52% 35%; } .live-section { padding-top:32px; } }
@media(prefers-reduced-motion:reduce) { .page-curtain { transition:none; } .experience-background { transform:none!important; } }
/* Experience polish and a tighter rhythm between sections. */
.experience-details { font-size:16px; }
.experience-org { font-size:20px; }
.experience-role { font-size:15px; }
.experience-date { font-size:13px; color:#fff; }
.org-logo { width:148px; height:64px; object-fit:contain; }
.org-logo-square { width:76px; height:76px; }
.org-logo-dark { background:transparent; }
#work { padding-bottom:65px; }
#experience { padding-top:65px; }
#practice { padding-bottom:48px; }
#contact { padding-top:36px; }
@media(max-width:720px){#work{padding-bottom:48px}#experience{padding-top:48px}#practice{padding-bottom:32px}#contact{padding-top:24px}}
/* Keep the supplied launch photograph inside the rounded contact panel. */
#contact .wrap {
  background:
    linear-gradient(100deg,rgba(2,4,7,.9),rgba(3,7,11,.68) 56%,rgba(3,5,8,.84)),
    url('/contact-launch.jpg') center 48% / cover no-repeat;
  border-color:rgba(255,255,255,.17);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 80px rgba(0,0,0,.34);
}
