:root{--ink:#202622;--muted:#69716a;--orange:#ff6600}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;color:var(--ink);font-family:Barlow,Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}header,.wrap{width:min(1400px,88%);margin:auto}header{height:100px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:700;font-size:40px;letter-spacing:-2px}.logo span,.orange{color:var(--orange)}nav{display:flex;align-items:center;gap:35px;font-size:15px}.button{display:inline-flex;gap:50px;align-items:center;background:var(--ink);color:#fff;border-radius:40px;padding:19px 28px;font-weight:500}.button:hover{background:var(--orange)}.small{padding:13px 22px;gap:25px}.eyebrow,.index{font-size:12px;letter-spacing:.13em;font-weight:500}.eyebrow{color:var(--muted)}.hero{padding-top:45px}.hero-top,.hero-bottom,h1{width:min(1400px,88%);margin-left:auto;margin-right:auto}.hero-top,.hero-bottom{display:flex;align-items:center;justify-content:space-between}.index{color:#858b86}h1,h2,h3{font-weight:600;letter-spacing:-.045em;margin:0;line-height:1.02}h1{font-size:clamp(52px,6.5vw,106px);margin-top:25px;margin-bottom:28px}.hero-bottom p{font-size:19px;line-height:1.6;color:var(--muted)}.textlink{display:inline-block;border-bottom:1px solid var(--orange);padding-bottom:9px;font-weight:500}.hero-image{position:relative;width:min(1150px,94%);margin:10px auto 0}.hero-image img{width:100%;display:block}.image-note{display:flex;justify-content:space-between;padding:5px 5% 30px;font-size:11px;letter-spacing:.1em;color:var(--muted)}.progress{height:2px;background:#e8eae7;overflow:hidden}.progress i{display:block;height:100%;width:28%;background:var(--orange);animation:sweep 9s linear infinite}@keyframes sweep{from{transform:translateX(-110%)}to{transform:translateX(460%)}}.grid-zone{position:relative;background-image:linear-gradient(#313d3410 1px,transparent 1px),linear-gradient(90deg,#313d3410 1px,transparent 1px);background-size:300px 300px;background-position:center top}.grid-zone:before{content:'';position:absolute;top:300px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent 20%,#ff66008c 40%,transparent 43%);background-size:250% 100%;animation:glow 12s linear infinite;pointer-events:none}@keyframes glow{to{background-position:250% 0}}.pathways{padding-top:120px}.section-intro{max-width:800px}.section-intro h2,h2{font-size:clamp(40px,4.6vw,72px);margin:22px 0}.section-intro>p:last-child{font-size:20px;color:var(--muted);line-height:1.6;max-width:630px}.path-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-bottom:1px solid #cbd0ca}.path-tabs button{background:transparent;border:0;text-align:left;padding:26px 20px;font-size:clamp(30px,3.5vw,55px);letter-spacing:-.04em;font-weight:600;color:#7e857e;border-bottom:3px solid transparent}.path-tabs small{font-size:12px;vertical-align:top;display:inline-block;margin:8px 20px 0 0;letter-spacing:0}.path-tabs button>span{float:right}.path-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--orange);background:#fff9f2}.path-panel{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:70px 3% 90px;align-items:center}.path-art{height:400px;position:relative;background:#f4eee4;overflow:hidden}.art-sheet{position:absolute;width:58%;height:77%;top:12%;left:22%;box-shadow:0 18px 40px #36362b20}.sheet-back{background:var(--orange);transform:rotate(-12deg)}.sheet-front{background:#fffef8;padding:30px;transform:rotate(6deg);transition:transform .7s}.path-art:hover .sheet-front{transform:rotate(0)}.sheet-front>span{font-size:9px;letter-spacing:.13em}.sheet-front b{display:block;font-size:clamp(44px,4.5vw,70px);line-height:.98;letter-spacing:-.05em;margin-top:45px;font-weight:600}.sheet-front i{position:absolute;bottom:25px;font-weight:700;font-style:normal}.art-seal{position:absolute;bottom:23px;right:25px;background:var(--orange);border-radius:100%;height:95px;width:95px;display:grid;place-content:center;text-align:center;font-size:13px;transform:rotate(-10deg)}h3{font-size:clamp(32px,3.1vw,48px)}.path-copy p:not(.eyebrow),.stories p{font-size:18px;color:var(--muted);line-height:1.65}.path-copy ul{list-style:none;padding:0;margin:25px 0 32px;line-height:2;font-size:15px}.path-copy li:before{content:'↗';color:var(--orange);margin-right:14px}.work{padding-top:65px}.work-layout{display:grid;grid-template-columns:36% 59%;gap:5%}.stories article{min-height:85vh;display:flex;flex-direction:column;justify-content:center;padding:80px 0}.project-number{font-size:12px;color:var(--orange);letter-spacing:.1em;margin-bottom:22px}.stories p{max-width:430px}.stories .textlink{align-self:start;margin-top:14px}.project-stage{position:sticky;top:10vh;height:75vh;max-height:760px;align-self:start;display:flex;flex-direction:column;justify-content:center}.stage-top,.stage-bottom{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:20px 0}.stage-top{border-bottom:1px solid #dce0db;letter-spacing:.08em}.stage-bottom{border-top:1px solid #dce0db;font-size:14px}.stage-bottom strong{color:var(--ink)}.project-images{position:relative;aspect-ratio:1672/941}.project-images img{position:absolute;inset:0;width:100%;opacity:0;transform:translateY(22px);transition:opacity .65s,transform .8s}.project-images img.active{opacity:1;transform:none}.mobile-project{display:none}.capability{background:#202622;color:#fff;padding:90px 0 100px}.capability .eyebrow{color:#abb5ac}.capability h2 span{color:#aab4a8}.cap-lines{margin:65px 0 30px;max-width:1000px}.cap-lines p{border-top:1px solid #ffffff26;padding:22px 0;margin:0;font-size:clamp(22px,2.5vw,37px);letter-spacing:-.025em}.cap-lines span{font-size:12px;color:#aab4a8;margin-right:45px}.cap-lines b{float:right;color:var(--orange);font-weight:400}.cap-note{max-width:650px;color:#bfc7c0;line-height:1.7;font-size:18px}.process{padding-top:110px;padding-bottom:110px}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:65px}.process-steps article{border-top:2px solid var(--orange);padding-top:25px}.process-steps span{font-size:11px;color:var(--muted);letter-spacing:.1em}.process-steps h3{font-size:29px;margin-top:25px}.process-steps p{font-size:17px;line-height:1.6;color:var(--muted)}.closing{border-top:1px solid #d9ddd7;padding:90px 0 110px}.closing h2{font-size:clamp(44px,5.6vw,86px);margin-bottom:40px}.closing .textlink{margin-left:30px;font-size:15px}footer{border-top:1px solid #d9ddd7;display:flex;align-items:center;gap:35px;padding-top:25px;padding-bottom:30px}footer p{flex:1;color:var(--muted)}footer>span,footer button{font-size:12px;color:var(--muted)}footer button{background:none;border:1px solid #d9ddd7;padding:8px 12px;border-radius:20px}.letter{display:inline-block;animation:drop .75s both;animation-delay:calc(var(--i)*28ms)}@keyframes drop{from{opacity:0;transform:translateY(-35px);color:#ff6600;text-shadow:0 0 15px #ff6600}to{opacity:1;transform:none}}.paused *,.paused:before{animation-play-state:paused!important}.paused .grid-zone:before{animation-play-state:paused}
@media(max-width:800px){header{height:80px}nav{gap:15px}nav>a:not(.button){display:none}.hero{padding-top:25px}.index{display:none}h1{font-size:clamp(43px,8vw,66px)}.hero-bottom{display:block}.hero-bottom p{font-size:17px}.hero-bottom .textlink{margin-top:10px}.hero-image{margin-top:35px}.image-note{font-size:9px;gap:20px}.pathways{padding-top:70px}.path-tabs{margin-top:35px}.path-tabs button{padding:20px 8px;font-size:30px}.path-tabs small{display:block;margin:0 0 10px}.path-tabs button>span{font-size:20px}.path-panel{grid-template-columns:1fr;gap:35px;padding:35px 0 60px}.path-art{height:340px}.sheet-front b{font-size:60px}.work-layout{display:block}.project-stage{display:none}.stories article{min-height:0;padding:35px 0 50px}.mobile-project{display:block;width:100%;margin-top:30px}.capability{padding:65px 0}.cap-lines span{margin-right:15px}.cap-lines p{font-size:22px}.process{padding-top:70px;padding-bottom:60px}.process-steps{grid-template-columns:1fr 1fr;gap:25px}.closing{padding:60px 0}.closing .textlink{margin:25px 0 0;display:table}footer{flex-wrap:wrap;gap:16px}footer p{flex-basis:70%;font-size:14px}.grid-zone{background-size:180px 180px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{animation:none!important;transition:none!important}.letter{opacity:1;transform:none}}

/* Align all hero copy to the same page gutter. */
.hero > h1{width:min(1400px,88%);margin:25px auto 28px;padding:0;color:#1c1e1d}
.web-headline-line{display:block}
.web-headline-word{display:inline-block;white-space:nowrap}
.web-headline-letter{display:inline-block;color:#1c1e1d}
@media(max-width:750px){.hero > h1{width:88%;margin:25px auto 28px}}

/* Cursor-following grid light, across every line in each grid section. */
.grid-zone{isolation:isolate}
.grid-zone::before{content:none}
.grid-zone::after{
 content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
 background-image:linear-gradient(to right,rgba(255,102,0,.85) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,102,0,.85) 1px,transparent 1px);
 background-size:300px 300px;background-position:center top;
 -webkit-mask-image:radial-gradient(circle 210px at var(--grid-pointer-x,50%) var(--grid-pointer-y,150px),#000 0%,rgba(0,0,0,.8) 25%,transparent 100%);
 mask-image:radial-gradient(circle 210px at var(--grid-pointer-x,50%) var(--grid-pointer-y,150px),#000 0%,rgba(0,0,0,.8) 25%,transparent 100%);
 opacity:var(--grid-pointer-active,0);transition:opacity .25s ease;
 filter:drop-shadow(0 0 3px #ff660088);
}
@media(prefers-reduced-motion:reduce){.grid-zone::after{display:none}}
@media(hover:none){.grid-zone::after{display:none}}

/* Scale the paper artwork to its container, not the viewport. */
.path-art{container-type:inline-size}
.sheet-front{box-sizing:border-box;padding:clamp(16px,6cqw,30px)}
.sheet-front b{font-size:clamp(28px,10cqw,60px);margin-top:clamp(24px,9cqw,45px);line-height:1.02}
@media(max-width:800px){
.path-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.path-tabs button{min-width:0;padding:18px 6px;font-size:clamp(22px,5.7vw,30px)}
.path-tabs button>span{float:none;display:block;font-size:18px;margin-top:8px}
.path-art .art-seal{width:76px;height:76px;font-size:11px;right:16px;bottom:16px}
}
