/* Friday's Scrollcraft layer. The rest of the site's visual design stays intact. */
:root{--friday-ease:cubic-bezier(.23,1,.32,1);--friday-gutter:clamp(16px,4vw,32px)}
.work-section,.working-together{--sc-canvas:#103b32;--sc-surface:#eef1e9;--sc-ink:#173c32;--sc-ink-soft:#466152;--sc-accent:#426747;--sc-accent-ink:#faf6ef;--sc-font-display:BonVivant,Georgia,serif;--sc-font-text:Montserrat,Arial,sans-serif;--sc-1:4px;--sc-2:8px;--sc-3:12px;--sc-4:16px;--sc-5:24px;--sc-6:32px;--sc-7:48px;--sc-8:64px;--sc-9:96px}
.work-section>.wrap,.working-together>.wrap{width:calc(100% - var(--friday-gutter)*2)}
.work-section{padding-block:clamp(64px,7vw,96px) clamp(80px,9vw,128px)}
.work-section .story-heading{margin-bottom:clamp(32px,4vw,56px)}
.work-section .story-heading h2{font-size:clamp(60px,9vw,96px);line-height:1.06;letter-spacing:-.028em}
.work-gallery{gap:32px}
.work-item{scroll-margin-top:112px;border-radius:28px}
.work-item h3 a::after{border-radius:28px}
.work-item figcaption{padding:24px}
.work-item h3{margin-bottom:12px;text-wrap:balance}
.work-caption-title{font-size:13px;line-height:1.6;text-wrap:pretty}
.work-note{font-size:12px;line-height:1.75;margin-top:40px}
.work-picture>img{transform:translate3d(0,var(--photo-y,0px),0) scale(var(--photo-scale,1.075));transition:none}
.work-picture{isolation:isolate}
.work-open{transition:transform 160ms var(--friday-ease),background 160ms var(--friday-ease)}
.work-item:active .work-open{transform:rotate(-35deg) scale(.95)}
.work-item:focus-within{outline-color:#e1e8df}
.working-together{padding-block:clamp(64px,8vw,112px) clamp(64px,7vw,96px)}
.working-together .story-heading{margin-bottom:48px}
.working-together .story-heading>p{margin-top:24px;line-height:1.75}
.collaboration-steps{gap:72px}
.collaboration-step:not(:last-child)::after{display:none}
.collaboration-picture{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:1.5;border-radius:80px 24px 24px 24px;background:#d2ddce}
.collaboration-picture>img{display:block;width:100%;height:100%;object-fit:cover;object-position:45% 55%;transform:translate3d(0,var(--photo-y,0px),0) scale(1.08)}
.collaboration-step:nth-child(2) .collaboration-picture{border-radius:24px 80px 24px 24px}
.collaboration-step:nth-child(2) .collaboration-picture>img{object-position:center 55%}
.collaboration-step:nth-child(3) .collaboration-picture{border-radius:80px 80px 24px 24px}
.collaboration-step figcaption{gap:16px;padding:24px 4px 0}
.collaboration-step h3{margin-bottom:12px;text-wrap:balance}
.collaboration-step p{font-size:14px;line-height:1.7;text-wrap:pretty}
.collaboration-number{width:40px;height:40px;margin-top:0;transition:background 160ms var(--friday-ease),color 160ms var(--friday-ease),border-color 160ms var(--friday-ease)}
.motion-ready .collaboration-step.is-reached .collaboration-number{background:#426747;border-color:#426747;color:#faf6ef}
.journey-connector{position:absolute;width:100px;height:64px;left:24px;bottom:-68px;pointer-events:none;overflow:visible;z-index:-1}
.journey-track{stroke:#b2c3ab;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:3 6}
.journey-trace{stroke:#54745c;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:var(--route-offset,0)}
.journey-traveller{fill:#54745c;opacity:0}
.collaboration-finish{gap:24px;margin-top:64px;padding-top:24px}
.collaboration-cta{width:112px;height:112px;transition:background 160ms var(--friday-ease),transform 160ms var(--friday-ease)}
.collaboration-cta:active{transform:scale(.97)}
.collaboration-cta:hover{transform:none}
/* Progressive enhancement: failure to load motion leaves all content visible. */
.motion-ready :is(.work-item,.collaboration-step) [data-sc-in]{transition:opacity 520ms var(--friday-ease),transform 680ms var(--friday-ease);opacity:1;transform:none}
.motion-ready :is(.work-item,.collaboration-step) [data-sc-in]:not(.sc-in){opacity:0;transform:translate3d(0,16px,0)}
.motion-ready :is(.work-item,.collaboration-step) figcaption[data-sc-in]{transition-delay:50ms}
.motion-ready .work-item:focus-within [data-sc-in]{opacity:1;transform:none;transition:none}
@media(hover:hover) and (pointer:fine){.work-item:hover .work-picture>img{transform:translate3d(0,var(--photo-y,0px),0) scale(var(--photo-scale,1.075))}.work-item:hover .work-open{transform:rotate(0)}.collaboration-cta:hover{transform:translateY(-2px)}}
@media(min-width:700px){.work-gallery{gap:48px 32px}.work-item figcaption{padding:24px 28px 28px}.work-item:nth-child(even){top:64px}.work-note{margin-top:112px}.collaboration-picture{aspect-ratio:1.65;border-top-left-radius:120px}.collaboration-step:nth-child(2) .collaboration-picture{border-top-right-radius:120px}.collaboration-step:nth-child(3) .collaboration-picture{border-top-right-radius:120px}.collaboration-steps{gap:80px}.collaboration-step figcaption{padding-top:28px;gap:24px}.collaboration-step p{font-size:15px}.collaboration-number{width:48px;height:48px}.journey-connector{left:72%;bottom:-76px;transform:rotate(-25deg);width:132px;height:72px}.collaboration-step:nth-child(2) .journey-connector{left:-8%;transform:scaleX(-1) rotate(-25deg)}.collaboration-finish{gap:48px}.collaboration-cta{width:136px;height:136px}}
@media(min-width:1100px){.work-gallery{gap:48px 64px}.work-item figcaption{padding:28px 32px 32px}.working-together .story-heading{margin:64px 0 0;top:144px}.collaboration-step:nth-child(2) .journey-connector{left:0}.collaboration-finish{gap:32px}}
/* Short landscape screens keep every card and action reachable. */
@media(max-height:560px){.offering-card{position:relative;top:0;transform:none!important;opacity:1!important}.working-together .story-heading{position:static}.site-header .main-nav.open{max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}}
@media(prefers-reduced-motion:reduce){.motion-ready :is(.work-item,.collaboration-step) [data-sc-in],.motion-ready :is(.work-item,.collaboration-step) [data-sc-in]:not(.sc-in){opacity:1;transform:none;transition:none}.work-picture>img,.collaboration-picture>img{transform:none!important}.journey-trace{stroke-dashoffset:0!important}.journey-traveller{display:none}.collaboration-number,.work-open,.collaboration-cta{transition:none}}
@media print{.motion-ready :is(.work-item,.collaboration-step) [data-sc-in]{opacity:1;transform:none}.work-picture>img,.collaboration-picture>img{transform:none!important}.journey-connector{display:none}}
/* Public planning maps retain their complete visible frames and sharp labels. */
.work-map{background:#fff;aspect-ratio:1.8}
.work-map>img{object-fit:contain;padding:8px;transform:none!important}
.work-media{position:relative}.work-item figcaption{position:static;padding-top:42px}
.work-logo-badge{position:absolute;left:24px;bottom:-28px;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;border:3px solid #eef1e9;box-shadow:0 3px 12px #092c2721;z-index:2}
.work-item:nth-child(even) .work-logo-badge{border-color:#d9e4d7}
.work-logo-badge img{width:40px;height:40px;object-fit:contain;border-radius:0;mix-blend-mode:multiply}
.work-caption-location{font:500 11px/1.65 var(--body);color:#466152;margin-bottom:6px;text-wrap:pretty}
.work-item .work-caption-title{font-size:12px;line-height:1.6}
.work-map .work-open{right:12px;bottom:12px;width:40px;height:40px;background:#f6f6edeb}
.work-item h3{font-size:clamp(29px,2.8vw,40px)}
@media(min-width:700px){.work-item figcaption{padding-top:42px}.work-logo-badge{left:28px}.work-caption-location{font-size:12px}.work-map{aspect-ratio:1.75}}
@media(min-width:1100px){.work-logo-badge{left:32px}.work-item figcaption{padding-top:44px}.work-item .work-caption-title{font-size:13px}}
/* Final homepage refinements. */
.home-page .hero-circle{--hero-action-size:clamp(100px,9.5vw,140px);width:var(--hero-action-size);height:var(--hero-action-size);left:calc(50% - var(--hero-action-size)/2);padding:14px;gap:8px;font-size:clamp(10.5px,1vw,13px);box-shadow:0 4px 28px #efb30044;transition:transform 180ms var(--friday-ease)}
.home-page .hero-circle .icon{width:18px;height:18px}
.home-page .hero-circle:active{transform:rotate(3deg) scale(.97)}
.home-page .logo-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-page .logo-band-heading{margin-bottom:28px}
@media(min-width:992px){.home-page .logo-row{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* Relevant service photography blends into the original animated card surfaces. */
.offering-photo{position:absolute;z-index:1;right:0;bottom:0;width:64%;height:100%;max-width:none;object-fit:cover;object-position:60% center;mask-image:linear-gradient(to right,transparent 0%,#000 34%);pointer-events:none}
.offering-number{z-index:2}
@media(max-width:991px){.offering-photo{width:62%;height:100%;object-position:60% center;mask-image:linear-gradient(to right,transparent 0%,#000 45%)}}
@media(max-width:767px){.offering-photo{width:100%;height:58%;object-position:center 65%;mask-image:linear-gradient(to bottom,transparent 0%,#000 45%)}.offering-copy{max-width:100%}.offering-number{opacity:.4}.offering-circle{bottom:8%;right:8%}}
/* The values keep their text readable while a line draws the frame and illustration. */
.value-band{position:relative;overflow:hidden;isolation:isolate;padding-right:112px}
.value-outline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible;opacity:.6}
.value-outline rect{fill:none;stroke:currentColor;stroke-width:1.5;stroke-dasharray:100;stroke-dashoffset:var(--value-frame,0);vector-effect:non-scaling-stroke}
.value-sketch{position:absolute;right:28px;top:50%;width:54px;height:54px;transform:translateY(-50%);color:inherit;opacity:.8;pointer-events:none;z-index:0}
.value-sketch path,.value-sketch circle{stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:var(--sketch-length,180);stroke-dashoffset:var(--sketch-offset,0)}
.value-band>:is(span,h4,p){position:relative;z-index:1}
@media(max-width:991px){.value-band{padding-right:90px}.value-sketch{right:23px;width:46px;height:46px}}
@media(max-width:599px){.value-band{padding-right:70px;gap:12px 16px}.value-sketch{right:16px;width:38px;height:38px}.value-band h4{font-size:clamp(28px,8.2vw,34px)}.value-band p{max-width:100%}}
@media(prefers-reduced-motion:reduce){.value-outline rect{stroke-dashoffset:0!important}.value-sketch path,.value-sketch circle{stroke-dashoffset:0!important}.home-page .hero-circle{transition:none}}
.offering-copy p{opacity:1}
#environment .offering-circle{left:52%;right:auto}
@media(max-width:767px){#environment .offering-circle{left:8%}}
#environment .offering-tag{color:#fff}
@media(max-width:767px){.offering-photo{mask-image:linear-gradient(to bottom,transparent 0% 16%,#000 60%)}}
@media(min-width:768px) and (max-width:991px){.offering-surface{height:480px;padding:32px}.offering-copy{max-width:100%}.offering-copy p{max-width:520px}.offering-photo{width:100%;height:58%;object-position:center 65%;mask-image:linear-gradient(to bottom,transparent 0% 16%,#000 60%)}}
.offering-number{z-index:0;opacity:.12}
