/* PPT-inspired diagrams and media layouts sized to the source material. */
.method-icon{width:56px;height:56px;flex:none}
.lifecycle-diagram{--phase-1:#557b91;--phase-2:#49867c;--phase-3:#aa864a;--phase-4:#81728d}
.lifecycle-plot{height:106px;position:relative;color:var(--gold-dark);margin-bottom:14px}
.lifecycle-plot svg{height:100%;width:100%;overflow:visible}
.lifecycle-plot .curve-line{stroke:var(--gold);stroke-width:2;fill:none}
.lifecycle-plot .curve-guide{stroke:var(--line);stroke-width:1;stroke-dasharray:3 6}
.lifecycle-plot circle{fill:var(--bg);stroke:var(--gold);stroke-width:3}
.lifecycle-plot>span{position:absolute;top:0;left:0;font-size:13px;color:var(--muted)}
.lifecycle-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);gap:0}
.lifecycle-column{--phase:var(--phase-1);padding:28px 24px 0;border-right:1px solid var(--line);min-width:0}
.lifecycle-column:nth-child(2){--phase:var(--phase-2)}.lifecycle-column:nth-child(3){--phase:var(--phase-3)}.lifecycle-column:nth-child(4){--phase:var(--phase-4);border-right:0}
.lifecycle-column:first-child{padding-left:0}.lifecycle-column:last-child{padding-right:0}
.lifecycle-column header{display:flex;align-items:center;gap:14px;color:var(--phase);min-height:76px}
.lifecycle-column .method-icon{width:44px;height:44px}.lifecycle-column h3{font-size:23px;line-height:1.3;margin:5px 0 0;color:var(--text)}
.phase-number{font-size:12px;font-weight:600;letter-spacing:.1em}.phase-goal{padding:12px 0;border-block:2px solid var(--phase);font-size:18px;font-weight:500;color:var(--phase);margin:24px 0}
.phase-description{font-size:14px;line-height:1.85;min-height:100px;color:var(--muted)}
.lifecycle-column dl{margin:0}.lifecycle-column dl>div{padding:20px 0;border-top:1px solid var(--line)}
.lifecycle-column dl>div:first-child{min-height:172px}.lifecycle-column dl>div:nth-child(2){min-height:182px}
.lifecycle-column dt{font-size:12px;color:var(--phase);font-weight:500;margin-bottom:12px}
.lifecycle-column dd{font-size:14px;line-height:1.85;color:var(--muted);margin:0}.lifecycle-column ul{padding:0;list-style:none}.lifecycle-column li+li{margin-top:5px}
.method-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;position:relative}
.method-flow:before{content:'';position:absolute;top:88px;left:12%;right:12%;border-top:1px solid var(--line)}
.flow-stage{position:relative;min-width:0}.flow-visual{position:relative;display:flex;align-items:center;justify-content:center;height:176px;margin-bottom:28px}
.flow-orbit{display:grid;place-items:center;width:144px;height:144px;border-radius:50%;border:1px solid #97adaf;background:var(--bg);color:#557b91;box-shadow:0 0 0 11px var(--bg),0 0 0 12px var(--line)}
.flow-stage:nth-child(2) .flow-orbit{color:#49867c;border-color:#8bb5aa}.flow-stage:nth-child(3) .flow-orbit{color:var(--gold-dark);border-color:var(--gold)}
.flow-index{position:absolute;bottom:0;left:50%;transform:translateX(-50%);background:var(--bg);padding:0 12px;font-size:13px;color:var(--gold-dark)}
.flow-stage h3{font-size:25px;line-height:1.4;margin:0 0 16px}.flow-stage p,.flow-stage li{font-size:15px;line-height:1.85;color:var(--muted)}
.flow-stage ul{padding-left:18px;margin-top:20px}.flow-stage li+li{margin-top:7px}
.photo-flow:before{display:none}.photo-flow .flow-visual{height:225px;margin-bottom:32px}.photo-flow .flow-visual img{width:100%;height:100%;object-fit:cover}.photo-flow .flow-index{bottom:-14px;left:0;transform:none;padding:6px 14px;background:var(--gold);color:#181818}
.partnership-visuals{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;gap:24px 45px}
.partnership-visuals li{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:20px 0;font-size:18px}.partnership-visuals .method-icon{color:var(--gold-dark);width:38px;height:38px}
.global-map{padding:0;background:none;color:var(--muted);mix-blend-mode:multiply}.global-map img{background:none}.global-map figcaption{text-align:left;font-size:11px;margin-top:8px}
[data-theme=dark] .global-map{mix-blend-mode:normal}[data-theme=dark] .global-map img{filter:invert(1) hue-rotate(180deg) brightness(1.6);mix-blend-mode:screen}
.market-continuation{display:flex;gap:26px;align-items:center;padding:27px 0;color:var(--muted)}.market-continuation>span{font-size:32px;line-height:1;letter-spacing:5px}.market-continuation p{font-size:14px;margin:0}
.large-list li{justify-content:flex-start;padding:28px 0;cursor:default;line-height:1.5}.large-list li:before{content:'';width:5px;height:5px;background:var(--gold);border-radius:50%;flex:none}
.case-story{padding-top:60px}.case-intro{gap:6vw;grid-template-columns:.65fr 1.35fr;margin-bottom:54px}.case-role{gap:8px 24px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.case-role span{border:0;padding:0;font-size:13px}.case-role span:before{content:'·';margin-right:8px;color:var(--gold-dark)}
.case-media-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin-bottom:32px;border-top:1px solid var(--line);padding-top:38px}.case-media-heading h2{font-size:28px;margin:0}.case-media-heading p{font-size:14px;color:var(--muted);margin:0}
.case-gallery.editorial-gallery{display:flex;flex-direction:column;gap:44px;align-items:stretch}
.media-row{display:flex;gap:24px;width:min(100%,var(--row-width));margin-inline:auto;align-items:flex-start}
.editorial-gallery .media-piece{flex:var(--media-weight) 1 0;min-width:0;background:none;margin:0;max-width:none}
.media-frame{aspect-ratio:var(--media-ratio);position:relative;width:100%;background:var(--surface);overflow:hidden}
.editorial-gallery .gallery-open{padding:0;min-height:0;height:100%;width:100%;display:block;cursor:zoom-in}
.editorial-gallery .gallery-open img{width:100%;height:100%;max-height:none;object-fit:contain}
.editorial-gallery .gallery-open .zoom-control{right:12px;bottom:12px;padding:7px;width:32px;height:32px;background:#ffffffd9;border-radius:50%;opacity:0;transition:opacity .2s}
.editorial-gallery .gallery-open:hover .zoom-control,.editorial-gallery .gallery-open:focus-visible .zoom-control{opacity:1}
.editorial-gallery video{height:100%;width:100%;max-height:none;display:block;object-fit:contain;background:#141719}
.editorial-gallery figcaption{padding:13px 0 0;color:var(--muted);font-size:12px;line-height:1.65;display:flex;gap:10px;align-items:baseline;background:none}
.media-kind{color:var(--gold-dark);font-size:10px;flex:none;border-right:1px solid var(--line);padding-right:10px}
.work-card:nth-child(even){padding-top:0}.work-image{aspect-ratio:1.5}.work-grid{align-items:start}
@media(max-width:1050px){.lifecycle-column{padding-inline:16px}.lifecycle-column header{gap:8px}.lifecycle-column h3{font-size:21px}.lifecycle-column .method-icon{width:33px;height:33px}.phase-description{min-height:140px}.lifecycle-column dl>div:first-child{min-height:210px}.lifecycle-column dl>div:nth-child(2){min-height:215px}.method-flow{gap:28px}.flow-stage h3{font-size:22px}}
@media(max-width:760px){.lifecycle-plot{display:none}.lifecycle-columns{grid-template-columns:1fr 1fr;gap:30px 24px;border:0}.lifecycle-column,.lifecycle-column:first-child,.lifecycle-column:last-child{padding:0;border:0}.phase-description{min-height:0}.lifecycle-column dl>div:first-child,.lifecycle-column dl>div:nth-child(2){min-height:0}.lifecycle-column dl>div{padding-block:16px}.lifecycle-column h3{font-size:21px}.phase-goal{font-size:16px;margin-block:18px}.method-flow{grid-template-columns:1fr;gap:34px}.method-flow:before{display:none}.flow-stage{display:grid;grid-template-columns:100px 1fr;gap:0 24px}.flow-visual{grid-column:1;grid-row:1/5;height:108px;margin:0}.flow-orbit{width:80px;height:80px;box-shadow:0 0 0 5px var(--bg),0 0 0 6px var(--line)}.flow-orbit .method-icon{width:40px;height:40px}.flow-stage h3,.flow-stage p,.flow-stage ul{grid-column:2}.flow-stage h3{font-size:22px}.flow-stage p{margin:0}.flow-stage ul{margin-top:12px}.flow-index{bottom:-5px}.photo-flow .flow-stage{display:block}.photo-flow .flow-visual{height:240px;margin-bottom:30px}.partnership-visuals{grid-template-columns:1fr 1fr;gap:10px 24px}.partnership-visuals li{font-size:15px;gap:12px}.partnership-visuals .method-icon{width:30px;height:30px}.case-intro{grid-template-columns:1fr;gap:10px;margin-bottom:35px}.case-media-heading{display:block;padding-top:28px}.case-media-heading p{margin-top:12px}.case-gallery.editorial-gallery{gap:30px}.media-row{gap:15px;flex-wrap:wrap;width:100%}.editorial-gallery .media-piece{flex:none;width:100%}.editorial-gallery .portrait-media{width:min(100%,320px);margin-inline:auto}.editorial-gallery .gallery-open .zoom-control{opacity:1}.editorial-gallery figcaption{font-size:11px}.market-continuation{gap:18px}.market-continuation p{font-size:12px}}
@media(max-width:480px){.lifecycle-columns{grid-template-columns:1fr;gap:36px}.lifecycle-column{border-left:3px solid var(--phase);padding-left:20px!important}.lifecycle-column header{min-height:55px}.lifecycle-column .method-icon{height:42px;width:42px}.lifecycle-column dl{display:grid;grid-template-columns:1fr}.lifecycle-column dd{font-size:14px}.phase-description{margin-bottom:18px}.flow-stage{grid-template-columns:68px 1fr;gap:0 20px}.flow-visual{height:90px}.flow-orbit{width:60px;height:60px}.flow-orbit .method-icon{width:34px;height:34px}.partnership-visuals{grid-template-columns:1fr}.case-media-heading h2{font-size:25px}}
[data-theme=dark] .lifecycle-diagram{--phase-1:#91b7cb;--phase-2:#8dc8ba;--phase-3:#d5b26e;--phase-4:#bfb0ce}
[data-theme=dark] .flow-orbit{color:#91b7cb}[data-theme=dark] .flow-stage:nth-child(2) .flow-orbit{color:#8dc8ba}
@media(prefers-reduced-motion:reduce){.editorial-gallery .zoom-control{transition:none}}
.methodology{padding-block:78px}.methodology .section-heading{margin-bottom:34px}
.lifecycle-plot{height:82px;margin-bottom:0}
.lifecycle-column header{border-top:3px solid var(--phase);background:color-mix(in srgb,var(--phase) 9%,transparent);padding:18px 14px}
@media(min-width:761px){.lifecycle-columns{grid-template-rows:repeat(5,auto)}.lifecycle-column{display:grid;grid-row:span 5;grid-template-rows:subgrid}.lifecycle-column dl{display:contents}.lifecycle-column dl>div:first-child,.lifecycle-column dl>div:nth-child(2){min-height:0}.phase-description{min-height:0;margin:0 0 22px}.lifecycle-column dl>div{padding-block:18px}.phase-goal{margin-block:22px}}
@media(max-width:760px){.methodology{padding-block:55px}.lifecycle-column header{padding:14px 10px}.lifecycle-columns{align-items:start}}
.method-flow:not(.photo-flow):before{top:84px}
.method-flow:not(.photo-flow) .flow-visual{height:205px;align-items:flex-start;padding-top:12px}
.method-flow:not(.photo-flow) .flow-index{bottom:0;background:none;padding:0;line-height:24px}
@media(max-width:760px){.method-flow:not(.photo-flow) .flow-visual{height:126px;padding-top:8px}.method-flow:not(.photo-flow) .flow-index{bottom:0}}
@media(max-width:480px){.method-flow:not(.photo-flow) .flow-visual{height:104px}}
