/* Native-scroll chapters. Static layouts remain fully readable without scripting. */
.scroll-collective{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:80px 7% 90px;background:#f3f3f2;align-items:start}
.collective-anchor{position:sticky;top:calc(var(--header-height) + 28px);padding-bottom:10px}
.scroll-collective .collective-art{max-width:340px;width:100%;margin:0 0 12px;display:block}
.scroll-collective .delta-mosaic{width:100%;height:235px;display:block}
body[data-page=landing] .collective-anchor h2{font-size:clamp(42px,4.2vw,66px);line-height:1.05;letter-spacing:-.055em;margin:0}
.collective-anchor>p{font-size:18px;line-height:1.65;max-width:440px;margin:22px 0 24px;color:#626367}
.collective-anchor .history-link{background:#e3e3e3;font-size:15px;min-height:48px}
.scroll-figures{padding-top:25px}
.scroll-figure{border-top:1px solid #bfc0c1;padding:36px 0 42px;min-height:275px;position:relative}
.scroll-figure:before{content:'';position:absolute;top:-1px;left:0;width:38px;height:2px;background:#ed1c24;transition:width .7s}
.scroll-figure.is-nearest:before{width:100%}
.figure-value{font-size:clamp(80px,8.7vw,144px);line-height:1;font-weight:500;letter-spacing:-.075em;color:#353639;white-space:nowrap;font-variant-numeric:tabular-nums}
.figure-value>span{font-size:15px;letter-spacing:.02em;margin-left:15px;color:#737477}
.scroll-figure h3{font-size:24px;line-height:1.25;font-weight:400;letter-spacing:-.025em;max-width:430px;margin:19px 0 12px}
.scroll-figure>p{font-size:11px;line-height:1.6;color:#737477}
.scroll-figure>p a{text-decoration:underline;text-underline-offset:3px}
.scroll-expertises{background:#fafaf9}
.scroll-expertise-heading{padding:80px 5% 55px;display:flex;justify-content:space-between;align-items:end;gap:40px}
body[data-page=landing] .scroll-expertise-heading h2{font-size:clamp(40px,4.5vw,66px)}
.scroll-expertise-heading .delta-link{margin-bottom:5px;flex:none}
.trade-stage{display:grid;grid-template-columns:1fr 1fr;position:relative;background:#fafaf9}
.trade-world{position:sticky;top:var(--header-height);align-self:start;height:620px;min-height:620px;overflow:hidden;background:#292a2d;isolation:isolate}
.trade-world-photo{position:absolute;width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.34;z-index:-3}
.trade-world-shade{position:absolute;inset:0;background:linear-gradient(180deg,#26272b88,#26272b33 35%,#26272bdd);z-index:-2}
.trade-watermark{position:absolute;inset:8% -8% 4% 5%;opacity:.1;z-index:-1;transform:rotate(-8deg)}
.trade-watermark svg{width:100%;height:100%}
.trade-drawings{position:absolute;inset:5% 6% 16%;display:grid;place-items:center}
.drawing-layer{position:absolute;width:100%;height:100%;opacity:0}
.drawing-layer.is-current{opacity:1}
.trade-drawing{width:100%;height:100%;overflow:visible;fill:none;stroke:#eee;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.draw-accent{stroke:#ff424a;stroke-width:2}
.drawing-base{stroke:#c8c9ca;opacity:.32;stroke-dasharray:3 7}
.drawing-nodes{fill:#ed1c24;stroke:none}
.trade-world-caption{position:absolute;bottom:6%;left:9%;right:8%;color:#fff;font-size:clamp(26px,2.4vw,40px);line-height:1.15;letter-spacing:-.035em;max-width:400px}
.trade-world-caption p[hidden]{display:none}
.trade-content{min-width:0}
.trade-card{background:#fafaf9}
.trade-image{height:330px;position:relative;overflow:hidden;background:#808285}
.trade-image img{width:100%;height:100%;object-fit:cover;display:block}
.trade-image-cut{position:absolute;bottom:-1px;right:-1px;width:75px;height:110px;background:#fafaf9;clip-path:polygon(100% 0,100% 100%,0 100%)}
.trade-image-cut:after{content:'';position:absolute;inset:0;background:#ed1c24;clip-path:polygon(96% 0,100% 0,4% 100%,0 100%)}
.trade-copy{padding:32px 9% 40px}
.trade-copy h3{font-size:clamp(34px,3.6vw,58px);line-height:1.06;letter-spacing:-.055em;font-weight:500;max-width:500px}
.trade-copy>p{font-size:18px;color:#6b6c6f;margin:14px 0 24px}
.trade-copy .delta-link{font-size:15px;padding:14px 20px;min-height:48px}
.trade-nav{display:none}
.scroll-expertise-end{padding:30px 5% 65px;text-align:right}
/* Enhanced only on sufficiently large screens; no wheel or touch interception. */
.scroll-ready .trade-journey{height:430svh;position:relative}
.scroll-ready .trade-stage{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));min-height:570px;grid-template-rows:minmax(0,1fr) 76px}
.scroll-ready .trade-world{position:relative;top:auto;align-self:stretch;height:auto;min-height:0}
.scroll-ready .trade-content{position:relative;overflow:hidden}
.scroll-ready .trade-card{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s,visibility .45s}
.scroll-ready .trade-card.is-current{opacity:1;visibility:visible;pointer-events:auto}
.scroll-ready .trade-image{height:51%;flex:0 0 51%;min-height:180px}
.scroll-ready .trade-image img{transform:scale(1.055);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.scroll-ready .trade-card.is-current .trade-image img{transform:scale(1)}
.scroll-ready .trade-copy{flex:1;display:flex;flex-direction:column;justify-content:center;padding:20px 9% 25px}
.scroll-ready .trade-copy .delta-link{align-self:flex-start}
.scroll-ready .trade-nav{display:grid;grid-column:1/-1;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #ddd;z-index:4}
.trade-nav a{position:relative;display:flex;align-items:center;justify-content:center;padding:18px 12px;font-size:16px;color:#6d6e71;border-right:1px solid #e5e5e5}
.trade-nav a:last-child{border:0}
.trade-nav a[aria-current]{color:#231f20;background:#f3f3f2}
.trade-nav i{position:absolute;top:0;left:0;height:3px;width:100%;background:#ed1c24;transform-origin:left;transform:scaleX(var(--step-fill,0))}
.trade-nav a:hover{background:#eee}
.trade-nav a:focus-visible{outline:2px solid #ed1c24;outline-offset:-5px}
.scroll-ready .drawing-layer{transition:opacity .4s,transform .65s;transform:translateY(18px)}
.scroll-ready .drawing-layer.is-current{transform:translateY(0)}
.scroll-ready .draw-line{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw,1))}
@media(min-width:901px) and (max-height:760px){.scroll-collective .delta-mosaic{height:160px}.scroll-collective .collective-art{max-width:260px}.collective-anchor>p{font-size:16px;margin:16px 0 20px}body[data-page=landing] .collective-anchor h2{font-size:45px}.trade-copy h3{font-size:36px}.trade-copy>p{font-size:16px;margin:12px 0 18px}.trade-copy .delta-link{padding:11px 16px;min-height:44px}}
@media(max-width:1100px){.scroll-collective{gap:8%;padding-left:5%;padding-right:5%}.figure-value{font-size:9.5vw}.figure-value>span{font-size:12px;margin-left:10px}.trade-copy h3{font-size:38px}.trade-nav a{font-size:14px}}
@media(max-width:900px){.scroll-collective{padding-top:50px;padding-bottom:40px;gap:7%}.collective-anchor{top:calc(var(--header-height) + 20px)}.scroll-collective .delta-mosaic{height:190px}.collective-anchor>p{font-size:16px}body[data-page=landing] .collective-anchor h2{font-size:38px}.scroll-figure{min-height:230px;padding:30px 0}.figure-value{font-size:10vw}.scroll-figure h3{font-size:20px}.scroll-expertise-heading{padding:55px 5% 35px;display:block}.scroll-expertise-heading .delta-link{margin-top:22px}.trade-stage{display:block}.trade-world{min-height:390px}.trade-drawings{inset:0 22% 12%}.trade-world-caption{bottom:6%;font-size:27px}.trade-card{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #ddd}.trade-image{height:330px}.trade-copy{padding:25px 9%}.trade-copy h3{font-size:32px}.trade-copy>p{font-size:16px}.trade-drawing{stroke-width:1.8}}
@media(max-width:600px){.scroll-collective{display:block;padding:35px 6% 40px}.collective-anchor{position:relative;top:auto;padding:0 0 35px}.scroll-collective .collective-art{max-width:260px;margin:0 0 12px}.scroll-collective .delta-mosaic{height:195px}.collective-anchor>p{font-size:17px;max-width:410px}.scroll-figures{padding:0}.scroll-figure{min-height:0;padding:28px 0 30px}.figure-value{font-size:84px}.figure-value>span{font-size:13px}.scroll-figure h3{font-size:22px;max-width:300px;margin-top:14px}.scroll-figure>p{font-size:11px}.scroll-expertise-heading{padding:45px 6% 30px}body[data-page=landing] .scroll-expertise-heading h2{font-size:38px}.trade-world{min-height:330px}.trade-drawings{inset:0 12% 14%}.trade-world-caption{font-size:24px}.trade-card{display:block}.trade-image{height:270px}.trade-copy{padding:28px 6% 36px}.trade-copy h3{font-size:38px}.trade-copy>p{font-size:17px;margin:14px 0 22px}.scroll-expertise-end{padding:25px 6% 45px}}
@media(prefers-reduced-motion:reduce){.drawing-layer,.trade-card,.trade-image img,.scroll-figure:before{transition:none!important}.collective-anchor{position:relative;top:0}}
@media(max-width:900px){.trade-world{position:relative;top:auto;height:390px;min-height:390px}}
@media(max-width:600px){.trade-world{height:330px;min-height:330px}}

/* A larger emblem, with facets unfolding along their own construction edges. */
.scroll-collective .collective-art{max-width:455px;margin:0 0 18px}
.scroll-collective .emblem-cinematic{height:330px;width:100%;max-width:none;overflow:visible}
.emblem-facet,.emblem-image{transform-box:view-box}
.emblem-construction{fill:none;stroke:#808285;stroke-width:1.1;opacity:.45}
.emblem-seams{fill:none;stroke:#fff;stroke-width:1.15;opacity:.32;pointer-events:none}
.emblem-fold-shadow{fill:#14161b;opacity:0}
.emblem-shine{opacity:0;pointer-events:none;transform-origin:380px 300px}
body[data-page=landing] .collective-anchor h2{font-size:clamp(42px,3.9vw,60px)}
.collective-anchor>p{margin:17px 0 21px}
.recent-projects{padding:70px 5% 60px;background:#fff;overflow:hidden}
.recent-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}
body[data-page=landing] .recent-heading h2{font-size:clamp(40px,4.5vw,66px)}
.recent-heading .delta-link{flex:none}
.project-reel{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:3px 3px 20px;margin:0 -3px;scroll-padding:3px}
.project-reel::-webkit-scrollbar{display:none}
.project-reel:focus-visible{outline:2px solid #ed1c24;outline-offset:5px}
.project-reel-card{flex:0 0 44%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.project-reel-card a{display:block}
.project-reel-image{height:300px;position:relative;overflow:hidden;background:#e2e2e3}
.project-reel-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.project-reel-card a:is(:hover,:focus-visible) img{transform:scale(1.035)}
.project-image-corner{position:absolute;right:-1px;bottom:-1px;width:38px;height:55px;background:#fff;clip-path:polygon(100% 0,100% 100%,0 100%)}
.project-meta{display:flex;justify-content:space-between;gap:15px;font-size:12px;line-height:1.5;color:#67686b;margin:20px 0 12px}
.project-meta time{white-space:nowrap}
.project-meta>span{border-left:2px solid #ed1c24;padding-left:10px}
.project-reel-title{display:flex;align-items:center;justify-content:space-between;gap:20px}
.project-reel-title h3{font-size:clamp(23px,2.1vw,33px);letter-spacing:-.035em;font-weight:500;line-height:1.2}
.project-open{width:33px;height:33px;flex:none;display:grid;place-items:center}
.project-open svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.5;transition:transform .35s,color .35s}
.project-reel-card a:is(:hover,:focus-visible) .project-open svg{transform:translateX(3px);color:#ed1c24}
.project-reel-bottom{border-top:1px solid #dedee0;padding-top:20px;margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.project-reel-bottom>p{font-size:12px;color:#747578;line-height:1.6}
.project-reel-bottom>p a{text-decoration:underline;text-underline-offset:3px}
.project-reel-controls{display:flex;gap:10px}
.project-reel-controls button{width:48px;height:48px;border:1px solid #b9babc;background:#fff;color:#323336;display:grid;place-items:center;transition:background .2s,color .2s}
.project-reel-controls svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}
.project-prev svg{transform:rotate(180deg)}
.project-reel-controls button:disabled{opacity:.28;cursor:default}
.project-reel-controls button:not(:disabled):is(:hover,:focus-visible){background:#292a2d;color:white;border-color:#292a2d}
@media(min-width:901px) and (max-height:800px){.scroll-collective .emblem-cinematic{height:250px}.scroll-collective .collective-art{max-width:370px;margin-bottom:14px}body[data-page=landing] .collective-anchor h2{font-size:45px}.collective-anchor>p{font-size:16px;line-height:1.55;margin:15px 0 18px}}
@media(max-width:900px){.scroll-collective .emblem-cinematic{height:250px}.scroll-collective .collective-art{max-width:360px}.project-reel-card{flex-basis:65%}.project-reel-image{height:280px}.recent-heading{align-items:start}.recent-heading .delta-link{font-size:14px}}
@media(max-width:600px){.scroll-collective .emblem-cinematic{height:285px}.scroll-collective .collective-art{max-width:340px;margin-bottom:20px}.recent-projects{padding:45px 6% 40px}.recent-heading{display:block;margin-bottom:25px}.recent-heading .delta-link{margin-top:20px}.project-reel{gap:20px}.project-reel-card{flex-basis:88%}.project-reel-image{height:240px}.project-meta{display:block;font-size:11px;margin-top:17px}.project-meta time{display:block;margin:8px 0 0 12px}.project-reel-title h3{font-size:25px}.project-reel-bottom{gap:15px;align-items:start}.project-reel-bottom>p{font-size:11px;max-width:210px}.project-reel-controls{gap:6px}.project-reel-controls button{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.project-reel-image img,.project-open svg{transition:none}.project-reel{scroll-behavior:auto}}
