/* A single landscape carries the camera between project scenes. */
.map-toolbar{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px;gap:20px;color:var(--muted);font-size:14px}.map-toolbar>div{display:flex;align-items:center;gap:10px}.map-toolbar button{border:1px solid var(--border);border-radius:24px;padding:7px 14px;font-size:14px}.map-toolbar button:hover{border-color:var(--green)}
.project-map{height:730px;min-height:0;position:relative;overflow:hidden;border:1px solid var(--border);background:radial-gradient(circle at 50% 50%,#e8e2d744,transparent 70%),var(--cream);touch-action:pan-y;cursor:grab;margin:12px 0 25px;border-radius:6px;display:block}.project-map.is-dragging{cursor:grabbing;touch-action:none}.map-world,.camera-world{width:1340px;height:945px;position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.map-world>.connections,.camera-world>.connections{z-index:0;opacity:.85}.connections path{stroke-dasharray:0;stroke-width:2;opacity:.6}.map-world>.project-node,.camera-world>.project-node{width:335px;height:245px;min-height:0;padding:29px 31px;transform:none;animation:none;border-radius:4px;z-index:1}.map-world>.summit,.camera-world>.summit{left:95px;top:65px;right:auto}.map-world>.camp,.camera-world>.camp{left:870px;top:65px;right:auto}.map-world>.circuit,.camera-world>.circuit{left:510px;top:360px;right:auto}.map-world>.education,.camera-world>.education{left:105px;top:540px;right:auto}.map-world>.team,.camera-world>.team{left:895px;top:545px;right:auto}.map-world .node-number,.camera-world .node-number{font-size:16px;margin-bottom:20px}.map-world .project-node strong,.camera-world .project-node strong{font-size:37px;letter-spacing:-1px}.map-world .node-sub,.camera-world .node-sub{font-size:17px}.map-world .node-action,.camera-world .node-action{font-size:16px;margin-top:auto}.map-world .project-node:hover{transform:translateY(-5px);box-shadow:0 20px 35px #1112}.map-world .map-center,.camera-world .map-center{display:flex;position:absolute;left:445px;top:145px;width:350px;height:130px;flex-direction:column;gap:2px}.map-center span{font-size:15px;letter-spacing:3px}.map-center i{font-size:50px;line-height:1.2;letter-spacing:-2px;color:var(--dark-green)}
.camera-viewport{position:fixed;inset:0;z-index:70;background:var(--cream);overflow:hidden;pointer-events:none}.camera-world{pointer-events:none}.travel-caption{position:absolute;bottom:38px;left:0;right:0;text-align:center;letter-spacing:2px;font-size:13px;font-weight:600;text-transform:uppercase}.case-chapter{color:var(--dark-green);font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600}.scene-number{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:100px;line-height:1;margin:0 0 18px;letter-spacing:-5px}.case-intent{margin-top:22px}.detail.view-enter .case-hero{animation:scene-reveal .65s both}@keyframes scene-reveal{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}
/* Presentation mode is an immersive scene, rather than a second navigation bar. */
.is-presenting{overflow:hidden;padding:0}.is-presenting .site-header,.is-presenting .site-footer{display:none}.is-presenting main{position:fixed;inset:0 0 84px;overflow:auto;padding:0}.is-presenting main>section{min-height:100%;padding:28px 6% 35px;max-width:none}.is-presenting .overview{display:flex;flex-direction:column;overflow:hidden;height:100%;padding:25px 5% 15px}.is-presenting .intro-block{padding-top:0;animation:none;flex-shrink:0}.is-presenting .intro-block h1{font-size:clamp(35px,4.5vw,60px);line-height:1.05;margin:12px 0}.is-presenting .intro-block h1 br{display:none}.is-presenting .intro-block h1 .serif{margin-left:10px}.is-presenting .intro-bottom{display:none}.is-presenting .map-heading{margin:6px 0 0;padding-top:10px}.is-presenting .map-toolbar{margin:6px 0;font-size:12px}.is-presenting .map-toolbar button{font-size:12px;padding:4px 10px}.is-presenting .project-map{flex:1;height:auto;min-height:220px;margin-bottom:0}.is-presenting .overview-footer{display:none}.is-presenting .presentation-bar{bottom:0;left:0;right:0;transform:none;max-width:none;width:100%;margin:0;padding:16px 5%;height:84px;border-radius:0;justify-content:flex-end;gap:15px}.is-presenting #presentation-progress{margin-right:10px;color:var(--gold);font-weight:600;letter-spacing:1px}.is-presenting #presentation-scene{margin-right:auto;color:var(--cream);font-size:14px}.is-presenting .presentation-bar button{font-size:14px;padding:9px 17px;border:1px solid #ffffff30}.is-presenting .presentation-bar button:last-child{border-radius:24px}.is-presenting .presentation-bar #presentation-next{background:var(--green);color:#111;border-color:var(--green);font-weight:600}.is-presenting .detail-top{padding:0 0 12px}.is-presenting .detail .case-navigation{display:none}.is-presenting .detail .case-hero{min-height:calc(100dvh - 190px);align-items:center;margin:0;padding:0;grid-template-columns:1.1fr .9fr;gap:6%}.is-presenting .case-hero h2{font-size:clamp(42px,5vw,76px);line-height:1.06}.is-presenting .detail[data-beat="0"] .case-panel,.is-presenting .detail[data-beat="0"] .case-context,.is-presenting .detail[data-beat="0"] .media-section,.is-presenting .detail[data-beat="0"] .case-credit{display:none}.is-presenting .detail[data-beat="0"] .case-hero{display:flex;max-width:1100px}.is-presenting .detail[data-beat="0"] .case-summary{max-width:720px;font-size:23px}.is-presenting .detail[data-beat="0"] .case-intent{max-width:800px}.is-presenting .detail[data-beat="0"] .case-intent p{font-size:20px}.is-presenting .detail[data-beat="1"] .case-hero>div:first-child,.is-presenting .detail[data-beat="1"] .media-section,.is-presenting .detail[data-beat="1"] .case-credit{display:none}.is-presenting .detail[data-beat="1"] .case-hero{min-height:0;display:block}.is-presenting .detail[data-beat="1"] .case-panel{margin-top:35px;padding:42px;max-width:1150px}.is-presenting .detail[data-beat="1"] .case-panel p{font-size:clamp(23px,2.8vw,37px);line-height:1.5;max-width:1000px}.is-presenting .detail[data-beat="1"] .case-context{margin-top:35px;border:0;max-width:1150px}.is-presenting .detail[data-beat="2"] .case-hero,.is-presenting .detail[data-beat="2"] .case-context{display:none}.is-presenting .detail[data-beat="2"] .media-heading{border:0;padding:25px 0}.is-presenting .detail[data-beat="2"] .media-heading h3{font-size:38px}.is-presenting .detail[data-beat="2"] .media-stage{height:clamp(240px,44vh,480px)}.is-presenting .detail[data-beat="2"] .case-credit{max-width:1100px}.is-presenting .process{display:flex;flex-direction:column;justify-content:center}.is-presenting .process h2{margin-top:0}.is-presenting .about-layout{align-items:center;padding-bottom:30px}.is-presenting .about-close{margin-bottom:0}
@media(max-width:900px){.project-map{height:590px}.is-presenting .case-hero h2{font-size:50px}.is-presenting .detail[data-beat="1"] .case-panel{padding:28px}.is-presenting #presentation-scene{font-size:12px}.is-presenting .presentation-bar{gap:7px;padding:12px 3%}.is-presenting .presentation-bar button{font-size:13px;padding:8px 12px}}
@media(max-width:1000px){.map-toolbar{display:none}.project-map{height:auto;border:0;background:none;overflow:visible;cursor:default;margin-top:15px}.map-world{position:relative;width:auto;height:auto;display:grid;gap:18px;transform:none!important;will-change:auto}.map-world>.project-node{position:relative;left:auto;top:auto;width:100%;height:230px;padding:27px;transform:none!important}.map-world>.connections,.map-world>.map-center{display:none}.map-world .project-node strong{font-size:34px}.map-world .node-number{font-size:12px}.map-world .node-sub,.map-world .node-action{font-size:14px}.is-presenting main{bottom:110px}.is-presenting .presentation-bar{height:110px;flex-wrap:wrap;justify-content:center;gap:6px;padding:10px 12px}.is-presenting #presentation-scene{order:-1;flex-basis:75%;margin:0;font-size:13px}.is-presenting #presentation-progress{order:-2;margin:0;font-size:12px}.is-presenting .presentation-bar button{font-size:12px;padding:7px 10px}.is-presenting .overview{height:auto;overflow:auto}.is-presenting .intro-block h1{font-size:36px}.is-presenting .intro-block h1 br{display:block}.is-presenting .intro-block h1 .serif{margin:0}.is-presenting .project-map{flex:none;min-height:0}.is-presenting .detail .case-hero{min-height:calc(100dvh - 230px)}.is-presenting .detail[data-beat="0"] .case-summary{font-size:19px}.is-presenting .detail[data-beat="0"] .case-intent p{font-size:17px}.is-presenting .detail[data-beat="1"] .case-panel{margin-top:20px;padding:25px}.is-presenting .detail[data-beat="1"] .case-panel p{font-size:23px}.is-presenting .detail[data-beat="2"] .media-stage{height:300px}.is-presenting .detail[data-beat="2"] .media-heading{align-items:flex-start;flex-direction:column;gap:8px}.is-presenting .detail[data-beat="2"] .media-heading h3{font-size:30px}.is-presenting .case-hero h2{font-size:43px}.scene-number{font-size:75px}.is-presenting .detail-top .eyebrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){.camera-viewport{display:none!important}.map-world{will-change:auto}.detail.view-enter .case-hero,.detail.view-enter .case-panel,.detail.view-enter .case-context,.detail.view-enter .media-grid,.detail[data-beat]{animation:none}.map-world .project-node:hover{transform:none}}
@media print{.map-toolbar,.camera-viewport{display:none!important}.project-map{height:auto;overflow:visible}.map-world{position:relative;transform:none!important;width:100%;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:15px}.map-world>.project-node{position:relative;left:auto;top:auto;width:auto;height:auto;min-height:220px}.map-world>.connections,.map-world>.map-center{display:none}}

.map-world>.showcase,.camera-world>.showcase{left:510px;top:65px;background:var(--gold);border-color:var(--gold);color:var(--black)}.map-world>.development,.camera-world>.development{left:510px;top:655px;background:var(--dark-green);border-color:var(--dark-green);color:var(--cream)}
@media(max-width:1000px){.map-world>.showcase,.map-world>.development{left:auto;top:auto}}
.opening-copy{max-width:650px}.opening-copy>p:first-child{font-size:20px;line-height:1.6;margin-bottom:18px}.opening-copy .opening-background{font-size:14px;line-height:1.7;color:var(--muted);max-width:590px;margin-bottom:23px}.intro-bottom{align-items:flex-end}.featured-node{box-shadow:0 0 0 2px var(--gold),0 12px 30px #1111}.capability-label{display:block;color:var(--dark-green);font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-top:22px}.capability-copy{font-size:14px!important;margin-top:8px}.project-connect{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--border);padding:26px 0;margin-top:25px}.project-connect p{margin:0;font-size:17px}.is-presenting .project-connect{display:none}.contact{padding:0 4.2% 60px;max-width:1600px;margin:auto}.contact-intro{font-size:19px;color:var(--muted);max-width:650px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:45px 0}.contact-grid article{padding:30px;background:var(--black);color:var(--cream);border-top:3px solid var(--gold)}.contact-grid .eyebrow{font-size:12px;color:#b8d9c4;line-height:1.6}.contact-grid h3{font-family:var(--display);font-size:27px;line-height:1.25;margin:30px 0 20px}.contact-grid a{font-size:16px;overflow-wrap:anywhere;text-underline-offset:5px}.site-footer button{font-size:14px;text-decoration:underline;text-underline-offset:4px}.is-presenting .contact{display:flex;flex-direction:column;justify-content:center}.is-presenting .contact-grid{margin:25px 0}.is-presenting .contact h2{margin-top:0}
@media(max-width:900px){.site-header{flex-wrap:wrap}.site-header nav{order:3;width:100%;justify-content:space-between;gap:10px}.contact-grid{grid-template-columns:1fr}.contact-grid h3{margin:18px 0}.contact-grid article{padding:25px}.intro-signature{display:none}}
@media(max-width:700px){.opening-copy>p:first-child{font-size:18px}.opening-copy .opening-background{font-size:14px}.project-connect{flex-direction:column;align-items:flex-start}.contact{padding:0 6% 35px}.contact-intro{font-size:17px}.contact-grid a{font-size:16px}.is-presenting .contact{justify-content:flex-start}.site-header nav button{font-size:13px}}

.about-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.studio-link{font-size:14px;text-underline-offset:5px}.about-actions .studio-link{color:var(--cream)}.contact-grid .studio-link{display:block;margin-top:22px;font-size:14px;color:#b8d9c4}.footer-actions{display:flex;align-items:center;gap:24px}@media(max-width:700px){.footer-actions{flex-wrap:wrap;gap:18px}}

/* Proof has its own reading order and stays distinct from project outcomes. */
.results-strip{margin:32px 0 0;padding:24px 0 6px;border-top:1px solid var(--border)}
.results-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:20px}.results-heading>span:last-child{font-size:12px;color:var(--muted)}
.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.results-grid article{border-left:2px solid var(--gold);padding:0 0 0 20px}.results-grid strong{display:block;font-family:var(--display);font-size:clamp(32px,4vw,50px);line-height:1.1;letter-spacing:-1px;color:var(--dark-green)}.results-grid span{display:block;font-size:15px;margin:10px 0 5px}.results-grid small{display:block;color:var(--muted);font-size:12px;line-height:1.6}
.leadership-scope{margin:28px 0;padding:22px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.leadership-scope .eyebrow{line-height:1.7;margin-bottom:14px}.leadership-scope p{margin-bottom:0}.project-status{display:inline-block;font-size:12px;line-height:1.6;padding:6px 12px;border:1px solid var(--gold);border-radius:20px;margin-bottom:4px}
.detail.view-enter{animation:none}.detail.view-enter .case-hero{animation:scene-reveal .6s both}
.case-hero>div,.case-context>div,.about-layout>div,.contact-grid article{min-width:0}.case-panel{padding:clamp(25px,3vw,42px)}.case-panel p{line-height:1.75}.case-context{gap:clamp(28px,6vw,90px)}.media-card figcaption{padding-right:8px}.detail-top .eyebrow{line-height:1.6}.node-number{line-height:1.4}.map-world .node-sub,.camera-world .node-sub{line-height:1.35}.map-world>.project-node,.camera-world>.project-node{padding:25px 28px}.map-world .node-number,.camera-world .node-number{font-size:13px;margin-bottom:15px}.map-world .project-node strong,.camera-world .project-node strong{font-size:34px}.map-world .node-sub,.camera-world .node-sub{font-size:15px}.map-world .node-action,.camera-world .node-action{padding-top:12px}
.is-presenting .results-strip{margin-top:8px;padding:12px 0}.is-presenting .results-heading{margin-bottom:10px}.is-presenting .results-grid strong{font-size:28px}.is-presenting .results-grid span{font-size:12px;margin:5px 0}.is-presenting .results-grid small{font-size:10px}.is-presenting .results-heading>span:last-child{display:none}
@media(max-width:1000px){.map-world>.project-node{height:auto;min-height:230px}.is-presenting .overview{overflow:auto;flex:none}.is-presenting .results-strip{flex-shrink:0}.is-presenting .about-layout{align-items:start}}
@media(max-width:700px){.results-strip{margin-top:26px;padding-top:20px}.results-heading{align-items:flex-start;flex-direction:column;gap:5px}.results-grid{grid-template-columns:1fr;gap:22px}.results-grid article{padding-left:16px}.results-grid strong{font-size:36px}.results-grid span{margin-top:6px}.is-presenting .results-grid{grid-template-columns:1fr;gap:14px}.media-heading{align-items:flex-start;flex-direction:column;gap:6px}.case-hero{padding-top:0}.case-hero h2{overflow-wrap:break-word}.about-close{gap:24px}.about-actions{gap:18px}.site-header{gap:16px}.detail-top .eyebrow{max-width:65%}.leadership-scope{margin:22px 0}.project-status{max-width:100%}}
@media(prefers-reduced-motion:reduce){.detail.view-enter .case-hero{animation:none}}

.intro-block>.results-strip{margin:24px 0 28px;padding:20px 0 22px;border-bottom:1px solid var(--border)}.is-presenting .intro-block>.results-strip{margin:8px 0 12px;padding:10px 0 12px}@media(min-width:1001px){.intro-block{padding-top:32px}.intro-block h1{font-size:clamp(52px,5.4vw,80px)}}

@media(max-width:1000px){.identity-label>span{display:block;font-size:9px;line-height:1.45;letter-spacing:.3px;max-width:190px}.identity-label{max-width:190px}}@media(max-width:700px){.identity-label>span{max-width:160px;font-size:8px}.identity{gap:10px}.present-button{padding:8px 12px}}

/* The marketing story joins the existing landscape and guided journey. */
.map-world>.marketing,.camera-world>.marketing{left:95px;top:65px;background:var(--dark-green);border-color:var(--dark-green);color:var(--cream)}
.map-world>.summit,.camera-world>.summit{left:510px;top:65px}
.map-world>.showcase,.camera-world>.showcase{left:870px;top:65px}
.map-world>.circuit,.camera-world>.circuit{left:95px;top:360px}
.map-world>.development,.camera-world>.development{left:510px;top:360px}
.map-world>.camp,.camera-world>.camp{left:870px;top:360px}
.map-world>.education,.camera-world>.education{left:105px;top:655px}
.map-world>.team,.camera-world>.team{left:870px;top:655px}
.results-link{font-size:14px;color:var(--dark-green);padding:0;margin-top:20px;text-decoration:underline;text-underline-offset:5px}.results-link span{margin-left:8px}.is-presenting .results-link{display:none}
.portrait{margin:30px 0 0;max-width:480px}.portrait img{display:block;width:100%;height:auto;border-radius:4px}.portrait figcaption{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.6}.about-copy .large-copy{font-size:23px;line-height:1.5}.about-layout{align-items:start}.about-copy{padding-top:26px}.earlier-milestones{font-size:14px!important;color:var(--muted)}
.business-context{border-top:1px solid var(--border);padding:26px 0 34px;max-width:1100px}.business-context h3,.case-results h3{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--dark-green)}.business-context p{max-width:1000px;margin-bottom:0}.case-results{padding:24px 0 30px;border-top:1px solid var(--border)}.evidence-note{font-size:13px;color:var(--muted);max-width:1000px;line-height:1.7}.case-results-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:26px 0}.case-results-grid article{border-left:2px solid var(--gold);padding-left:16px}.case-results-grid strong{display:block;font-family:var(--display);font-size:clamp(28px,3vw,44px);line-height:1.2;color:var(--dark-green);letter-spacing:-1px}.case-results-grid span{display:block;font-size:15px;margin:8px 0}.case-results-grid small{display:block;color:var(--muted);font-size:12px;line-height:1.6}.evidence-example{margin-top:24px;max-width:1000px}.evidence-example h4{font-family:var(--display);font-size:18px;margin:0 0 8px}.evidence-example p{font-size:15px;margin:0}
.is-presenting .detail[data-beat="0"] .business-context,.is-presenting .detail[data-beat="1"] .business-context{display:none}.is-presenting .about{justify-content:flex-start}.is-presenting .portrait{max-width:380px}.is-presenting .portrait img{max-height:440px;width:100%;object-fit:contain;object-position:left}.is-presenting .about-layout{align-items:start}
@media(max-width:1000px){.map-world>.marketing,.map-world>.summit,.map-world>.showcase,.map-world>.circuit,.map-world>.development,.map-world>.camp,.map-world>.education,.map-world>.team{left:auto;top:auto}.case-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait{max-width:430px}.about-copy{padding-top:0}}
@media(max-width:700px){.case-results-grid{grid-template-columns:1fr;gap:22px}.case-results-grid strong{font-size:34px}.portrait{margin-top:22px;max-width:100%}.about-copy .large-copy{font-size:21px}.about-layout{gap:30px}.business-context{padding:24px 0}.is-presenting .portrait img{max-height:390px}}

.is-presenting .results-heading>span:last-child{display:block;font-size:11px}@media(max-width:700px){.is-presenting .results-heading>span:last-child{font-size:10px}}

/* Selected project media */
.media-stage img{object-fit:contain;background:#111111}.media-stage{background:#111111}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f5f0e8ed;color:#111111;font-size:23px;padding-left:4px;box-shadow:0 4px 25px #11111150}.has-video:hover .video-play{background:var(--gold)}#lightbox-content video{display:block;width:100%;max-height:70dvh;background:#111111}#lightbox-content h3{font-size:20px;margin:18px 0 8px}#lightbox-content img{object-fit:contain;max-height:70dvh}.supporting-results{padding:24px;border:1px solid var(--border);margin:0 0 36px;background:#ede8de}.supporting-results h3{font-family:var(--display);font-size:19px}.supporting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:20px}.supporting-grid strong{display:block;font-size:29px;font-family:var(--display);color:var(--dark-green)}.supporting-grid span{font-size:13px}.supporting-results .evidence-note{margin:0}.editor-media video{width:100%;max-height:240px}@media(max-width:600px){.supporting-grid{grid-template-columns:1fr;gap:12px}.supporting-grid>div{display:flex;align-items:center;gap:16px}.supporting-grid strong{min-width:110px}#lightbox-content video{max-height:60dvh}}
.media-stage video{width:100%;height:100%;object-fit:contain}
.media-transcript{border-top:1px solid #ffffff40;margin-top:20px;padding-top:16px}.media-transcript summary{cursor:pointer;font-weight:700}.media-transcript p{font-size:16px;line-height:1.6;margin:14px 0}

/* Four pieces give the showcase equal space for experience and planning. */
.media-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.media-grid-four{grid-template-columns:1fr}}

/* Put the purpose and contact path before the evidence on small screens. */
.hero-positioning{max-width:680px;font-size:clamp(17px,1.6vw,21px);line-height:1.55;margin:0 0 20px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:26px}
.client-bridge{margin:28px 0;padding:24px;border-left:3px solid var(--gold);background:#ede8de}
.client-bridge h3{font-family:var(--display);font-size:20px;line-height:1.35}
.client-bridge p{font-size:16px}
@media(max-width:700px){.intro-block{padding-top:26px}.intro-block h1{font-size:clamp(39px,10vw,62px);letter-spacing:-1.8px;margin:20px 0}.intro-block h1 .serif{letter-spacing:-1.8px}.hero-positioning{font-size:17px}.hero-actions{gap:16px;margin-bottom:22px}.results-grid{gap:16px}.results-grid strong{font-size:32px}.results-grid small{line-height:1.5}.intro-signature{display:none}.client-bridge{padding:20px}}
