:root{--ink:#154f4b;--deep:#0b3835;--muted:#607470;--cream:#f6f8f6;--amber:#ed6a24;--line:#d3ddda;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.project-header{height:90px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;line-height:1}.brand strong{font:700 25px Manrope,sans-serif;letter-spacing:-.06em}.brand strong span{color:var(--amber)}.brand small{margin-top:5px;font-size:8px;letter-spacing:.2em;text-transform:uppercase}.project-header nav{display:flex;align-items:center;gap:32px;font-size:13px}.header-cta,.button{display:inline-flex;padding:15px 19px;background:var(--ink);color:#fff;font-weight:600}.case-hero{display:grid;grid-template-columns:.85fr 1.15fr;min-height:690px}.case-intro{padding:100px 6vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0 0 30px;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:600;display:flex;align-items:center;gap:12px}.eyebrow span{width:28px;height:1px;background:var(--amber)}.case-hero h1,.story h2,.timeline h2,.visualizations h2,.case-contact h2{font:600 clamp(48px,6vw,88px)/.98 Manrope,sans-serif;letter-spacing:-.055em;margin:0}.case-hero h1 em{font-family:Georgia,serif;font-weight:400}.lead{max-width:520px;margin:32px 0 0;color:var(--muted);font-size:18px;line-height:1.7}.hero-image{position:relative;margin:0;min-height:690px;background:var(--deep);overflow:hidden}.hero-image img{height:100%;object-fit:cover}.hero-image figcaption,.render-grid figcaption{position:absolute;left:18px;bottom:18px;padding:9px 12px;background:rgba(11,56,53,.88);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.project-facts{display:grid;grid-template-columns:repeat(4,1fr);padding:0 6vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-facts div{padding:28px 3vw 28px 0;border-right:1px solid var(--line)}.project-facts div+div{padding-left:3vw}.project-facts div:last-child{border:0}.project-facts span{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.15em}.project-facts strong{font:600 16px Manrope,sans-serif}.status i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--amber)}.story,.case-contact{padding:120px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.story h2,.timeline h2,.visualizations h2,.case-contact h2{font-size:clamp(42px,5vw,68px)}.story-copy p,.visualization-copy>p:last-child,.case-contact p{margin:0 0 24px;color:var(--muted);line-height:1.75;font-size:17px}.timeline{padding:110px 6vw;background:#eef2ef}.timeline-head{margin-bottom:55px}.stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.stage-grid figure{margin:0;background:#fff}.stage-grid figure.wide{grid-column:1/-1}.stage-grid img{height:500px;object-fit:cover}.stage-grid figure:not(.wide) img{height:620px}.stage-grid figcaption{display:grid;grid-template-columns:42px 1fr;padding:20px 22px}.stage-grid figcaption span{grid-row:1/3;color:var(--amber);font-size:11px}.stage-grid figcaption strong{font:600 17px Manrope,sans-serif}.stage-grid figcaption small{margin-top:5px;color:var(--muted);line-height:1.45}.visualizations{padding:110px 6vw;background:var(--deep);color:#fff}.eyebrow.light{color:#d7dfdb}.visualizations .eyebrow span{background:var(--amber)}.visualization-copy{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:55px}.visualization-copy .eyebrow{grid-column:1/-1}.visualization-copy>p:last-child{color:#b8c3bf}.render-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.render-grid figure{position:relative;margin:0;overflow:hidden}.render-grid img{height:440px;object-fit:cover;transition:transform .5s ease}.render-grid figure:hover img{transform:scale(1.02)}.case-contact{align-items:center}.case-contact>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.case-contact p{margin-bottom:10px}.case-contact .button{margin-bottom:10px;background:var(--amber);color:var(--deep)}.case-contact>div:last-child>a:not(.button){font-weight:600;border-bottom:1px solid currentColor}footer{padding:55px 6vw;background:var(--deep);color:#fff;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;font-size:13px}footer span{color:#aebbb6}@media(max-width:800px){.project-header{height:76px;padding:0 20px}.project-header nav>a:first-child{display:none}.case-hero{grid-template-columns:1fr;min-height:0}.case-intro{padding:72px 20px 58px}.case-hero h1{font-size:54px}.lead{font-size:16px}.hero-image{min-height:0}.hero-image img{height:auto;aspect-ratio:4/3}.project-facts{grid-template-columns:1fr 1fr;padding:0 20px}.project-facts div,.project-facts div+div{padding:22px 0}.project-facts div:nth-child(odd){padding-right:18px;border-right:1px solid var(--line)}.project-facts div:nth-child(even){padding-left:18px;border-right:0}.project-facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}.story,.case-contact{padding:80px 20px;grid-template-columns:1fr;gap:40px}.story h2,.timeline h2,.visualizations h2,.case-contact h2{font-size:42px}.story-copy p,.visualization-copy>p:last-child,.case-contact p{font-size:16px}.timeline,.visualizations{padding:75px 20px}.stage-grid{grid-template-columns:1fr;gap:18px}.stage-grid figure.wide{grid-column:auto}.stage-grid img,.stage-grid figure:not(.wide) img{height:auto;max-height:520px;aspect-ratio:4/5}.stage-grid figure.wide img{aspect-ratio:4/3}.visualization-copy{grid-template-columns:1fr;gap:30px}.visualization-copy .eyebrow{grid-column:auto}.render-grid{grid-template-columns:1fr}.render-grid img{height:auto;aspect-ratio:4/3}footer{grid-template-columns:1fr;padding:48px 20px}}@media(max-width:420px){.header-cta{padding:12px;font-size:12px}.project-facts strong{font-size:14px}.case-hero h1{font-size:48px}.stage-grid figcaption{padding:17px}.hero-image figcaption,.render-grid figcaption{left:10px;bottom:10px}}
