:root{--yellow:#edc528;--ink:#1b1e1b;--paper:#ecece4;--line:#b7b9af;--mono:"IBM Plex Mono",monospace;--sans:"IBM Plex Sans",Arial,sans-serif;--display:"Barlow Condensed","Arial Narrow",Impact,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;font:400 17px/1.6 var(--sans);color:var(--ink);background:var(--paper)}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:.9;letter-spacing:-.025em}h2{font-size:clamp(48px,6.4vw,95px)}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button{cursor:pointer}button,a{touch-action:manipulation}img{width:100%;height:100%;object-fit:cover;display:block}:focus-visible{outline:3px solid #bc5b00;outline-offset:5px}.skip{position:fixed;top:-80px;left:12px;z-index:5;background:white;padding:10px}.skip:focus{top:10px}.concept-bar{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;gap:20px;padding:10px 4vw;font:400 10px var(--mono)}.concept-bar a{text-decoration:none}header{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:23px 4vw;border-bottom:1px solid var(--ink);background:var(--yellow)}.brand{display:flex;align-items:center;text-decoration:none;font:800 40px/1 var(--display);letter-spacing:-.015em;gap:10px}.brand-symbol{display:flex;align-items:center;justify-content:center;width:33px;height:37px;background:var(--ink);color:var(--yellow);font-size:36px;transform:skew(-10deg);margin-right:5px}.brand-civil{font:600 9px/1.3 var(--mono);padding-left:10px;border-left:1px solid var(--ink);letter-spacing:.02em}nav{display:flex;align-items:center;gap:30px;font-size:12px;text-transform:uppercase;font-weight:600}nav a{text-decoration:none}.nav-cta{border:1px solid var(--ink);padding:11px 18px}.nav-cta:hover{background:var(--ink);color:var(--yellow)}.hero{padding:30px 4vw 0;background:var(--yellow)}.hero-top{display:flex;justify-content:space-between;gap:20px;font:500 10px/1.5 var(--mono)}.hero-top>span{text-align:right}h1{font-size:clamp(78px,12.8vw,195px);font-weight:800;line-height:.8;letter-spacing:-.02em;margin:38px 0 35px}h1>span{color:#343a2d}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:32px 0}.hero-bottom p{font-size:16px;line-height:1.5}.hero-bottom a{display:flex;gap:60px;align-items:center;font:500 11px var(--mono);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:10px}.hero-bottom a span{font-size:26px}.hero-image{position:relative;height:420px;margin:0 -4vw;overflow:hidden}.hero-image img{object-position:center 48%;filter:saturate(.8)}.hero-image figcaption{position:absolute;bottom:0;width:100%;display:flex;justify-content:space-between;gap:20px;padding:70px 4vw 22px;color:#fff;font:400 10px var(--mono);background:linear-gradient(transparent,#000a)}.section{padding:90px 6vw}.section-id{font:500 11px/1.6 var(--mono);letter-spacing:.05em}.intro{display:grid;grid-template-columns:1fr 3fr;gap:6vw;border-bottom:1px solid var(--line)}.intro>div h2{font-size:clamp(48px,6vw,90px)}.intro>div h2>span{color:#626b5b}.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;font-size:16px;color:#52594e}.section-heading{display:grid;grid-template-columns:.7fr 1.5fr .65fr;gap:35px;align-items:start;margin-bottom:50px}.section-heading h2{font-size:clamp(44px,5vw,76px)}.section-heading>p:last-child{font-size:13px;align-self:end;color:#52594e}.capabilities{background:#dedfd5}.cap-workbench{display:grid;grid-template-columns:.8fr 2.2fr;border:1px solid var(--ink)}.cap-controls{display:flex;flex-direction:column;align-items:stretch;background:var(--paper)}.cap-controls button{display:flex;align-items:center;gap:15px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:28px 22px;font:600 25px var(--display);text-transform:uppercase;color:var(--ink)}.cap-controls button span{font:400 10px var(--mono)}.cap-controls button b{font:400 22px var(--sans);margin-left:auto}.cap-controls button[aria-pressed=true]{background:var(--yellow)}.cap-controls button:last-child{border-bottom:0}.cap-detail{border-left:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}.cap-detail figure{min-height:400px}.cap-detail img{object-position:50% 50%}.cap-copy{padding:30px}.cap-copy h3{font-size:39px;margin:25px 0 20px}.cap-copy>p:not(.section-id){font-size:15px;line-height:1.65;color:#d0d5cb}.cap-copy ul{list-style:none;padding:0;margin:20px 0;font:400 12px/1.6 var(--sans);color:#d4d7cd}.cap-copy li{border-top:1px solid #555d50;padding:9px 0}.cap-copy button{font:500 11px/1.5 var(--mono);border:0;border-bottom:1px solid var(--yellow);padding:10px 0;background:none;color:var(--yellow);text-align:left}.projects{background:var(--paper)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 30px}.project-wide{grid-column:1/-1}.project figure{height:300px;position:relative}.project-wide figure{height:430px}.project-code{position:absolute;top:18px;left:18px;padding:8px 12px;background:var(--yellow);font:500 10px var(--mono)}.project-info{border:1px solid var(--line);border-top:0;padding:28px}.project-info h3{font-size:47px;margin-top:18px}.project-wide .project-info{display:grid;grid-template-columns:1fr 1fr;gap:50px}.project details{margin-top:25px}.project-wide details{margin-top:0}.project summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font:500 10px var(--mono);padding:12px 0;cursor:pointer;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.project summary::-webkit-details-marker{display:none}.project summary span{font-size:24px}.project details[open] summary span{transform:rotate(45deg)}.project details>div{padding:15px 0;font-size:15px;color:#52594e}.project details p{margin-bottom:15px}.project details strong{display:block;margin-bottom:4px;color:var(--ink);font-size:12px}.project details small{font-size:12px}.sequence{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:.7fr 1.5fr;gap:45px}.sequence>.section-id{grid-row:1/3}.sequence>h2{color:var(--yellow);font-size:clamp(55px,6vw,90px)}.sequence ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;grid-column:2}.sequence li{border-top:1px solid #7c8475;padding-top:25px}.sequence li>span{font:400 10px var(--mono);color:var(--yellow)}.sequence h3{font-size:29px;margin:22px 0 14px;line-height:1}.sequence li p{font-size:15px;color:#c9cec3}.brief{display:grid;grid-template-columns:1fr 1fr;gap:12vw;background:var(--yellow)}.brief h2{font-size:clamp(60px,6vw,93px);margin:30px 0}.brief h2 span{color:#4d502b}.brief>div>p:not(.section-id){font-size:15px}.brief .small{font-size:11px!important;margin-top:25px;max-width:350px}.brief form{padding-top:6px}.brief label,.brief legend{font:500 11px var(--mono)}.brief form>label{display:block;margin-bottom:12px}.brief select{width:100%;border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:0;padding:14px;font-size:15px;margin-bottom:25px}.brief fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}.brief legend{margin-bottom:15px}.constraint-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.constraint-options label{position:relative;cursor:pointer}.constraint-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.constraint-options span{display:block;border:1px solid #807321;padding:13px 10px;font-size:12px}.constraint-options input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--yellow)}.constraint-options input:focus-visible+span{outline:3px solid #754200;outline-offset:3px}.submit{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);border:1px solid var(--ink);color:var(--yellow);padding:17px 20px;font:500 12px var(--mono)}.submit>span{font-size:25px}.submit:hover{background:#353d2e}#brief-result{border-top:1px solid #7b721f;margin-top:24px;padding-top:20px;font:400 12px/1.7 var(--mono);min-height:80px}#brief-result strong{display:block;font-weight:500;margin-bottom:10px}#brief-result small{display:block;font-size:12px;margin-top:13px}footer{background:var(--ink);color:var(--paper);padding:45px 4vw 28px}.footer-mark{font:800 clamp(75px,17.1vw,260px)/.85 var(--display);letter-spacing:-.01em;color:var(--yellow);padding-bottom:35px}.footer-base{border-top:1px solid #68705d;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:30px;font:400 10px/1.8 var(--mono)}.footer-base>a:last-child{font-size:25px;text-decoration:none}.noscript{padding:20px}@media(min-width:1600px){body{max-width:2000px;margin:auto}.hero-image{height:500px}}@media(max-width:1050px){.cap-detail{grid-template-columns:1fr}.cap-detail figure{height:240px;min-height:0}.cap-copy h3{margin:10px 0 18px}.cap-copy ul{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}.cap-controls button{padding:25px 16px}.section-heading{grid-template-columns:.7fr 1.5fr}.section-heading>p:last-child{grid-column:2}.section{padding:70px 5vw}.brief{gap:6vw}.hero-image{height:350px}.hero-bottom{margin-bottom:25px}.sequence{grid-template-columns:.7fr 2fr}.sequence ol{gap:18px}.sequence h3{font-size:25px}.brand{font-size:34px}nav{gap:20px;font-size:11px}}@media(max-width:650px),(max-width:1000px) and (max-height:500px){.concept-bar{font-size:8px;gap:15px;align-items:center}.concept-bar>span{max-width:130px;text-align:right}header{padding:20px 5vw;gap:20px}.brand{font-size:29px;gap:6px}.brand-symbol{width:25px;height:30px;font-size:28px;margin-right:4px}.brand-civil{font-size:7px;padding-left:7px}nav a:not(.nav-cta){display:none}.nav-cta{padding:9px 10px;font-size:9px}.hero{padding:25px 5vw 0}.hero-top{font-size:8px}h1{font-size:clamp(67px,15vw,95px);margin:35px 0 25px;line-height:.88}.hero-bottom{display:block}.hero-bottom p{font-size:15px}.hero-bottom a{margin-top:25px;max-width:280px;font-size:10px}.hero-image{height:290px;margin:0 -5vw}.hero-image figcaption{font-size:8px;padding:70px 5vw 20px}.hero-image figcaption>span:last-child{display:none}.section{padding:55px 6vw}.intro{display:block}.intro>.section-id{margin-bottom:30px}.intro>div h2{font-size:53px}.intro-copy{display:block;font-size:14px;margin-top:28px}.intro-copy>p+p{margin-top:20px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin:27px 0 20px;font-size:48px}.section-heading>p:last-child{font-size:12px}.cap-workbench{display:block}.cap-controls{display:grid;grid-template-columns:1fr 1fr}.cap-controls button{font-size:21px;padding:18px 12px;gap:9px;border-bottom:1px solid var(--line)}.cap-controls button:nth-child(odd){border-right:1px solid var(--line)}.cap-controls button:last-child{border-bottom:1px solid var(--line)}.cap-controls button b{font-size:18px}.cap-controls button span{font-size:8px}.cap-detail{border-left:0}.cap-detail figure{height:250px}.cap-copy{padding:25px}.cap-copy h3{font-size:36px;margin-top:15px}.cap-copy ul{display:block}.cap-copy button{font-size:10px}.project-grid{display:block}.project+.project{margin-top:35px}.project figure,.project-wide figure{height:250px}.project-info,.project-wide .project-info{display:block;padding:22px}.project-info h3{font-size:43px}.project-wide details{margin-top:25px}.project-code{font-size:9px}.sequence{display:block}.sequence h2{font-size:60px;margin:25px 0 35px}.sequence ol{display:block}.sequence li{display:grid;grid-template-columns:25px 1fr;gap:0 20px;padding:22px 0}.sequence h3{margin:0 0 12px;font-size:29px}.sequence li>span{padding-top:4px}.sequence li p{grid-column:2}.brief{display:block}.brief h2{font-size:64px}.brief form{margin-top:40px}.constraint-options span{font-size:9px}.footer-mark{font-size:20vw;padding-bottom:30px}.footer-base{flex-wrap:wrap;font-size:9px;gap:25px}.footer-base>p{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:380px){.cap-controls{grid-template-columns:1fr}.cap-controls button:nth-child(odd){border-right:0}.cap-controls button{font-size:24px}.brand{font-size:25px}.brand-civil{display:none}}


/* Native page scrolling drives this photographic work sequence. */
.field-story{background:var(--ink);color:var(--paper);padding:85px 5vw}
.field-heading{display:grid;grid-template-columns:.75fr 1.5fr .65fr;gap:35px;margin-bottom:65px;align-items:end}
.field-heading>.section-id{align-self:start}
.field-heading h2{font-size:clamp(55px,7vw,108px)}
.field-heading h2 span{color:var(--yellow)}
.field-heading>p:last-child{font-size:14px;color:#d4d7ce}
.field-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:start}
.field-visual{display:none}
.story-ready .field-visual{display:block;position:sticky;top:28px}
.field-visual figure{height:min(67vh,720px);min-height:440px;position:relative;overflow:hidden}
.field-visual img{object-position:center;transition:filter .4s}
.field-visual figcaption{position:absolute;bottom:0;width:100%;display:flex;justify-content:space-between;gap:15px;padding:75px 22px 24px;background:linear-gradient(transparent,#000b);font:400 10px/1.5 var(--mono);color:#fff}
.field-progress{height:3px;background:#51584a}
.field-progress span{display:block;height:100%;width:var(--field-progress,33.333%);background:var(--yellow);transition:width .6s}
.field-visual nav{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font:500 10px var(--mono);padding-top:22px}
.field-visual nav a{display:flex;gap:12px;color:#aeb6a6;padding:10px 0;text-decoration:none}
.field-visual nav a[aria-current=step]{color:var(--yellow)}
.field-visual nav a span{font-size:9px}
.field-chapters{grid-column:1/-1}
.story-ready .field-chapters{grid-column:auto}
.field-chapter{position:relative;padding:20px 0 95px;scroll-margin-top:45px}
.story-ready .field-chapter{min-height:85vh;padding-top:25px}
.field-chapter:last-child{padding-bottom:20px;min-height:72vh}
.field-number{font:800 clamp(80px,10vw,155px)/.85 var(--display);letter-spacing:-.03em;color:#59614f;margin:0 0 30px;transition:color .4s}
.field-chapter.is-current .field-number{color:var(--yellow)}
.field-chapter h3{font-size:clamp(48px,5vw,77px);margin:25px 0}
.field-chapter>p:not(.field-number):not(.section-id){font-size:17px;color:#e0e3d9;line-height:1.65;max-width:43ch}
.field-chapter dl{margin:35px 0 0}
.field-chapter dl>div{border-top:1px solid #68715d;padding:16px 0}
.field-chapter dt{font:500 10px var(--mono);color:#b9c2ad;margin-bottom:8px}
.field-chapter dd{font-size:14px;margin:0}
.field-fallback{height:350px;margin-bottom:30px}
.story-ready .field-fallback{display:none}
.field-cta{display:flex;gap:25px;justify-content:space-between;border-bottom:1px solid var(--yellow);padding:18px 0;font:500 12px var(--mono);color:var(--yellow);text-decoration:none;margin-top:25px}
@keyframes field-image{from{opacity:.45;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@keyframes ironmark-arrive{from{opacity:.4;transform:translateY(22px)}to{opacity:1;transform:none}}
.field-image-changing{animation:field-image .65s ease both}
.is-revealed{animation:ironmark-arrive .7s cubic-bezier(.2,.7,.3,1) both}
.project figure{overflow:hidden}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.project figure img{transition:transform .7s}.project:hover figure img{transform:scale(1.025)}}
@media(max-width:1000px){.field-heading{grid-template-columns:1fr 1.5fr}.field-heading>p:last-child{grid-column:2}.field-layout{gap:5vw;grid-template-columns:1fr 1fr}.field-visual figure{height:64vh;min-height:390px}.field-visual nav{font-size:9px}.field-visual nav a{gap:5px}.field-chapter h3{font-size:55px}.field-chapter>p:not(.field-number):not(.section-id){font-size:15px}.field-visual figcaption{font-size:9px;padding-inline:15px}.field-visual figcaption>span:last-child{display:none}}
@media(max-width:650px),(max-width:1000px) and (max-height:500px){.field-story{padding:55px 6vw}.field-heading{display:block;margin-bottom:40px}.field-heading h2{font-size:64px;margin:25px 0}.field-heading>p:last-child{font-size:13px}.field-layout{display:block}.story-ready .field-visual{position:sticky;top:0;z-index:2;background:var(--ink);margin:0 -6vw}.field-visual figure{height:34vh;min-height:220px;max-height:310px}.field-visual figcaption{padding:50px 6vw 15px}.field-visual nav{padding:6px 6vw 8px;font-size:10px}.field-visual nav a{padding:8px 0}.story-ready .field-chapter{min-height:95vh;padding:40px 0 65px;scroll-margin-top:45vh}.field-number{font-size:88px;margin-bottom:25px}.field-chapter h3{font-size:59px;margin:23px 0}.field-chapter>p:not(.field-number):not(.section-id){font-size:16px}.field-chapter dl{margin-top:27px}.field-chapter dd{font-size:14px}.field-chapter:last-child{min-height:85vh;padding-bottom:0}.field-fallback{height:280px}}
@media(prefers-reduced-motion:reduce){.field-image-changing,.is-revealed{animation:none}.field-progress span,.field-visual img,.field-number{transition:none}}


/* The photo stays visible until the shared scroll controller decodes a video frame. */
.field-media{isolation:isolate;background:#242b23}
.field-media>#field-image{position:absolute;inset:0;z-index:0}
.field-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;visibility:hidden;z-index:1;pointer-events:none;transition:opacity .25s ease}
.field-layout.is-video-ready .field-film{opacity:1;visibility:visible}
.field-media figcaption{z-index:3;pointer-events:none}
.field-scrub-cue{display:none;position:absolute;top:20px;right:20px;z-index:3;padding:8px 10px;background:#1b1e1be8;color:var(--paper);font:500 9px/1.5 var(--mono);letter-spacing:.03em;pointer-events:none}
.field-layout.is-video-ready .field-scrub-cue{display:block}
.field-layout.is-video-ready .field-progress span{transition:none}
@media(max-width:650px),(max-width:1000px) and (max-height:500px){
  .field-story{--field-media-height:clamp(176px,27vh,240px);--field-sticky-height:calc(var(--field-media-height) + 50px)}
  @supports(height:1svh){.field-story{--field-media-height:clamp(176px,27svh,240px)}}
  .field-visual figure{height:var(--field-media-height);min-height:0;max-height:none}
  .field-visual nav{min-height:47px;align-items:center;padding:3px 6vw 5px}
  .field-visual nav a{min-height:39px;align-items:center;font-size:9px;gap:5px}
  .story-ready .field-chapter{scroll-margin-top:calc(var(--field-sticky-height) + 18px);min-height:max(660px,95svh);padding:32px 0 60px}
  .story-ready .field-chapter:last-child{min-height:max(650px,90svh);padding-bottom:20px}
  .field-number{font-size:74px;margin-bottom:23px}
  .field-chapter h3{font-size:clamp(45px,13vw,59px);margin:20px 0}
  .field-chapter>.section-id{font-size:10px}
  .field-scrub-cue{top:12px;right:6vw;font-size:8px;padding:6px 8px}
  .field-media figcaption{padding-top:45px;padding-bottom:12px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.field-layout .field-film,.field-layout.is-video-ready .field-scrub-cue{display:none}.field-film{transition:none}}

.field-film-enable{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 18px;border:1px solid var(--yellow);background:#1b1e1bf2;color:#fff;font:500 12px/1.5 var(--mono);min-height:44px;cursor:pointer}.field-film-enable[hidden]{display:none}.field-film-enable:focus-visible{outline:2px solid #fff;outline-offset:4px}
