/* Services uses the approved, continuous editorial composition at every width. */
body.fz-services-active{overflow-x:clip}
.fz-services{background:var(--paper);color:var(--ink);overflow:clip}
.fz-reference-page{max-width:1320px;margin:auto;container-type:inline-size}
.fz-services h1,.fz-services h2,.fz-services p{margin:0}
.fz-build-intro{text-align:center;padding:110px 20px 25px;scroll-margin-top:80px}
.fz-build-intro h1{font-size:clamp(42px,7.1cqw,94px);font-weight:650;letter-spacing:-.065em;line-height:1.02}
.fz-build-intro>p{font-size:clamp(16px,2.5cqw,33px)!important;line-height:1.4!important;letter-spacing:-.035em!important;font-weight:450;margin-top:15px;color:#505050}
.fz-build{position:relative;height:162cqw;margin:0;padding:0}
.fz-stage-track{position:absolute;inset:0;pointer-events:none}
.fz-3d-stage{position:absolute;inset:0;width:100%;height:100%}
.fz-3d-stage canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
.fz-approved-tower{position:absolute;width:54%;height:100%;left:23%;top:0;overflow:visible}
.fz-3d-stage.has-3d>.fz-approved-tower{display:none}
.fz-chapters{position:absolute;inset:0;pointer-events:none}
.fz-chapter{position:absolute;width:28%;padding:0;min-height:0;pointer-events:auto;scroll-margin-top:90px}
.fz-left{left:5.5%}.fz-right{left:71.5%;width:27.5%}
.fz-chapter:nth-child(1){top:1.8%}.fz-chapter:nth-child(2){top:10.4%}.fz-chapter:nth-child(3){top:21.3%}.fz-chapter:nth-child(4){top:31.8%}.fz-chapter:nth-child(5){top:43.7%}.fz-chapter:nth-child(6){top:51.5%}.fz-chapter:nth-child(7){top:65.4%}.fz-chapter:nth-child(8){top:72.7%}
.fz-chapter-number{display:block;font-size:clamp(10px,1.7cqw,22px);line-height:1.1;font-weight:500;letter-spacing:-.04em}
.fz-chapter h2{font-size:clamp(16px,3.25cqw,43px);line-height:1.08;letter-spacing:-.065em;font-weight:600;margin:4px 0 6px;white-space:nowrap}
.fz-chapter h2 a{color:inherit;text-decoration:none}.fz-chapter h2 a:hover{text-decoration:underline;text-underline-offset:5px}.fz-chapter a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.fz-services .fz-chapter>p{font-size:clamp(10px,1.45cqw,19px)!important;line-height:1.3!important;letter-spacing:-.025em!important;font-weight:400;color:#505050;max-width:none}
.fz-infographic{position:relative;width:91%;margin-top:14px;padding:8px 5px;background:linear-gradient(#999,#999) left top/14px 1px no-repeat,linear-gradient(#999,#999) left top/1px 14px no-repeat,linear-gradient(#999,#999) right top/14px 1px no-repeat,linear-gradient(#999,#999) right top/1px 14px no-repeat,linear-gradient(#999,#999) left bottom/14px 1px no-repeat,linear-gradient(#999,#999) left bottom/1px 14px no-repeat,linear-gradient(#999,#999) right bottom/14px 1px no-repeat,linear-gradient(#999,#999) right bottom/1px 14px no-repeat}
.fz-diagram{display:block;width:100%;height:auto;color:#696b68;margin:0;max-width:none;overflow:visible}
.fz-diagram text{display:none}
.fz-connector{position:absolute;left:calc(100% - 30px);top:26px;width:17cqw;height:auto;overflow:visible;stroke:#878780;fill:none;stroke-width:.8;pointer-events:none}
.fz-connector circle{fill:#474747;stroke:none}.fz-right .fz-connector{left:auto;right:calc(100% + 8px);width:10cqw;transform:scaleX(-1)}
.fz-left:nth-child(3) .fz-connector,.fz-left:nth-child(5) .fz-connector,.fz-left:nth-child(7) .fz-connector{left:calc(100% + 2px);width:9cqw}
.fz-services-close{background:#20221f;color:var(--lime);padding:55px max(5%,calc((100vw - 1200px)/2));display:grid;grid-template-columns:1.35fr 1fr;gap:5%;align-items:center}
.fz-services-close h2{font-size:clamp(38px,6.6vw,86px);font-weight:550;letter-spacing:-.055em;line-height:1.03}
.fz-services-close>div{border-left:1px solid #ffffff70;padding:0 0 0 35px;color:var(--paper)}
.fz-services-close p{font-size:clamp(12px,1.65vw,21px)!important;line-height:1.35!important;letter-spacing:-.025em!important}
.fz-services-close a{display:inline-flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--paper);font-size:clamp(20px,3.5vw,42px);font-weight:500;letter-spacing:-.04em;line-height:1.4;margin-top:25px;padding-bottom:5px;white-space:nowrap}
.fz-services-active .site-footer{display:none}
.fz-services-active .site-header{background:var(--paper)!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
@media(max-width:760px){
 .fz-build-intro{padding-top:90px;padding-bottom:20px}.fz-build-intro h1{font-size:7.1cqw}.fz-build-intro>p{font-size:2.5cqw!important;margin-top:10px}
 .fz-chapter h2{font-size:3.25cqw}.fz-services .fz-chapter>p{font-size:1.65cqw!important}.fz-chapter-number{font-size:1.8cqw}.fz-infographic{margin-top:10px;padding:5px 3px}.fz-connector{top:18px}
 .fz-services-close{padding:35px 5%;gap:4%}.fz-services-close h2{font-size:6.6vw}.fz-services-close>div{padding-left:20px}.fz-services-close p{font-size:1.85vw!important}.fz-services-close a{font-size:3.3vw;gap:12px;margin-top:15px}
}
@media(prefers-reduced-motion:reduce){.fz-services *{scroll-behavior:auto!important}}

/* Long service names retain the reference's single-line hierarchy. */
.fz-chapter:nth-child(3) h2,.fz-chapter:nth-child(4) h2,.fz-chapter:nth-child(6) h2{font-size:3cqw}
.fz-chapter:nth-child(5) h2{font-size:2.9cqw}.fz-chapter:nth-child(7) h2{font-size:2.65cqw}
.fz-services-close{grid-template-columns:55% 41%;gap:4%}.fz-services-close h2{font-size:clamp(25px,6.3vw,83px);white-space:nowrap}
body.fz-services-active header.site-header{position:absolute!important;top:0!important;background:transparent!important;box-shadow:none!important;border:0!important;backdrop-filter:none!important}

.fz-build-intro{padding-top:70px;padding-bottom:10px}
.fz-services .fz-chapter>p,.fz-services-close p{font-family:Arial,sans-serif!important}
body.fz-services-active header.site-header{display:grid!important;grid-template-columns:1fr auto 1fr!important;left:0!important;width:100%!important;height:55px!important;padding:0 4.5%!important;transform:none!important}
body.fz-services-active .site-header .desktop-nav{display:flex!important;gap:24px!important;height:auto!important}
body.fz-services-active .site-header .desktop-nav:last-child{justify-content:flex-end}
body.fz-services-active .site-header .desktop-nav a{font-size:clamp(7px,1.2vw,12px)!important;padding:0!important}
body.fz-services-active .site-header .wordmark{position:static!important;transform:none!important;width:clamp(100px,20vw,180px)!important;margin:0!important}
body.fz-services-active .site-header .menu-toggle{display:none!important}
@media(max-width:600px){body.fz-services-active .site-header .desktop-nav{gap:10px!important}.fz-build-intro{padding-top:65px;padding-bottom:10px}}

/* One scroll timeline drives attachment, connector drawing, copy and infographics. */
.fz-build.is-scroll-driven .fz-chapter{--fz-line:0;--fz-title:0;--fz-copy:0;--fz-graphic:0}
.fz-build.is-scroll-driven .fz-connector path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--fz-line));opacity:var(--fz-line)}
.fz-build.is-scroll-driven .fz-connector circle{opacity:var(--fz-line)}
.fz-build.is-scroll-driven .fz-chapter-number,.fz-build.is-scroll-driven .fz-chapter h2{opacity:var(--fz-title);transform:translateY(calc((1 - var(--fz-title))*12px))}
.fz-build.is-scroll-driven .fz-chapter>p{opacity:var(--fz-copy);transform:translateY(calc((1 - var(--fz-copy))*10px))}
.fz-build.is-scroll-driven .fz-infographic{opacity:var(--fz-graphic);transform:translateY(calc((1 - var(--fz-graphic))*14px))}
@media(prefers-reduced-motion:reduce){.fz-build.is-scroll-driven .fz-chapter{--fz-line:1!important;--fz-title:1!important;--fz-copy:1!important;--fz-graphic:1!important}}

/* Revealed callouts finish their entrance once, then remain static. */
.fz-build.is-scroll-driven .fz-connector path{transition:stroke-dashoffset .35s ease,opacity .18s ease}
.fz-build.is-scroll-driven .fz-connector circle{transition:opacity .18s ease}
.fz-build.is-scroll-driven .fz-chapter-number,.fz-build.is-scroll-driven .fz-chapter h2{transition:opacity .28s ease .12s,transform .35s ease .12s}
.fz-build.is-scroll-driven .fz-chapter>p{transition:opacity .3s ease .2s,transform .35s ease .2s}
.fz-build.is-scroll-driven .fz-infographic{transition:opacity .35s ease .28s,transform .4s ease .28s}
@media(prefers-reduced-motion:reduce){.fz-build.is-scroll-driven .fz-chapter *{transition:none!important}}

/* Phone composition only. The desktop reference above remains untouched. */
@media(max-width:600px){
 body.fz-services-active header.site-header{height:72px!important;padding:0 22px!important;grid-template-columns:1fr auto!important}
 body.fz-services-active .site-header .desktop-nav{display:none!important}
 body.fz-services-active .site-header .wordmark{width:136px!important;grid-column:1;grid-row:1}
 body.fz-services-active .site-header .menu-toggle{display:block!important;grid-column:2;grid-row:1;width:44px;height:44px;color:var(--ink)}
 body.fz-services-active .site-header .menu-toggle span{left:9px;width:26px}
 body.fz-services-active .site-header .menu-toggle span:first-child{top:16px}
 body.fz-services-active .site-header .menu-toggle span:last-child{bottom:16px}
 .fz-build-intro{padding:116px 22px 42px;text-align:left}
 .fz-build-intro h1{font-size:clamp(36px,10.4vw,60px);line-height:1.04;letter-spacing:-.065em}
 .fz-build-intro>p{font-size:16px!important;line-height:1.5!important;margin-top:20px;max-width:270px}
 .fz-build-intro::after{content:'Scroll to assemble ↓';display:block;margin-top:30px;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#65685f}
 .fz-build{height:auto;min-height:0}
 .fz-stage-track{width:45%;left:0;right:auto;bottom:0}
 .fz-3d-stage{position:sticky;inset:auto;top:max(76px,calc(50svh - 58vw));height:116vw;max-height:70svh;width:100%}
 .fz-approved-tower{left:0;width:100%;height:100%;object-fit:contain}
 .fz-chapters{position:relative;inset:auto;margin-left:47%;width:47%;padding-bottom:42px}
 .fz-chapter.fz-left,.fz-chapter.fz-right{position:relative;inset:auto;width:100%;min-height:64svh;padding:78px 0 90px;display:flex;flex-direction:column;justify-content:center;scroll-margin-top:30px}
 .fz-chapter-number{font-size:12px;line-height:1.2;letter-spacing:.06em;color:#686c63;margin-bottom:14px}
 .fz-chapter-number::after{content:' / 08';color:#9a9d94;font-weight:400}
 .fz-chapter:nth-child(n) h2{font-size:clamp(25px,6.9vw,36px);line-height:1.03;letter-spacing:-.055em;white-space:normal;margin:0 0 18px;overflow-wrap:normal}
 .fz-chapter:nth-child(7) h2{font-size:clamp(22px,6.3vw,36px)}
 .fz-services .fz-chapter>p{font-size:14px!important;line-height:1.55!important;letter-spacing:-.015em!important;color:#565b52}
 .fz-infographic{width:100%;margin-top:28px;padding:12px 4px;background-size:10px 1px,1px 10px,10px 1px,1px 10px,10px 1px,1px 10px,10px 1px,1px 10px}
 .fz-chapter:nth-child(n) .fz-connector{left:auto;right:calc(100% + 8px);top:calc(50% - 115px);width:40px;transform:scaleX(-1);stroke-width:1.3}
 .fz-services-close{display:block;padding:48px 24px 42px}
 .fz-services-close h2{font-size:clamp(38px,10.4vw,60px);line-height:1.04;white-space:normal;letter-spacing:-.055em}
 .fz-services-close>div{border-left:0;border-top:1px solid #ffffff45;margin-top:32px;padding:26px 0 0}
 .fz-services-close p{font-size:15px!important;line-height:1.55!important;max-width:310px}
 .fz-services-close a{display:flex;min-height:48px;justify-content:space-between;font-size:25px;gap:16px;margin-top:26px;white-space:normal}
}

/* Additional editorial content is exclusive to the phone composition. */
.fz-mobile-intro-art,.fz-services .fz-mobile-service-line,.fz-mobile-deliverables{display:none}
@media(max-width:600px){
 body.fz-services-active .site-header .wordmark{grid-area:1 / 1!important;justify-self:start!important;filter:brightness(0) invert(1)}
 body.fz-services-active .site-header .menu-toggle{grid-area:1 / 2!important;color:var(--paper)!important}
 body.fz-services-active .site-header .menu-toggle span{background:currentColor!important}
 body.fz-services-active.menu-open .site-header .wordmark{filter:brightness(0)}
 body.fz-services-active.menu-open .site-header .menu-toggle{color:var(--ink)!important}
 .fz-build-intro{position:relative;isolation:isolate;background:#20231f;color:#f5f4ef;min-height:535px;padding:118px 22px 92px;overflow:hidden}
 .fz-build-intro h1{font-size:clamp(42px,12.8vw,72px);font-weight:650;line-height:.99;letter-spacing:-.065em;max-width:520px}
 .fz-build-intro h1 span{color:var(--lime)}
 .fz-build-intro>p{font-size:15px!important;line-height:1.5!important;color:#e5e8df;max-width:155px;margin-top:28px}
 .fz-mobile-intro-art{display:block;position:absolute;right:-10px;bottom:84px;width:53%;transform:rotate(-12deg);z-index:-1}
 .fz-mobile-intro-art .fz-diagram{color:#c3c9bd}
 .fz-build-intro::after{position:absolute;left:22px;right:22px;bottom:24px;content:'08 disciplines. One connected system. ↓';margin:0;padding-top:17px;border-top:1px solid #ffffff35;font-size:9px;letter-spacing:.1em;color:#e5e8df}
 .fz-build::before{content:'';position:absolute;inset:0 auto 0 0;width:44%;background:#e9ece3;border-right:1px solid #d8ddd0}
 .fz-stage-track{z-index:2;width:45%}
 .fz-chapters{z-index:1;margin-left:48%;width:46%;padding-bottom:0}
 .fz-chapter.fz-left,.fz-chapter.fz-right{min-height:0;padding:44px 0 50px;border-top:1px solid #cdd3c6;justify-content:flex-start}
 .fz-chapter:first-child{border-top:0}
 .fz-chapter::before{content:attr(data-number);position:absolute;right:calc(100% + 21px);top:34px;font-size:clamp(76px,23vw,132px);font-weight:650;line-height:1;letter-spacing:-.075em;color:transparent;-webkit-text-stroke:1px #a7b19b;opacity:.52;pointer-events:none}
 .fz-chapter-number{align-self:flex-start;background:var(--lime);color:#252b20;padding:6px 9px;font-size:10px;letter-spacing:.06em;margin-bottom:17px}
 .fz-chapter-number::after{color:#526345}
 .fz-chapter:nth-child(2n) .fz-chapter-number{background:var(--cyan)}
 .fz-chapter:nth-child(n) h2{font-size:clamp(25px,7.4vw,40px);line-height:1.02;font-weight:650;margin-bottom:16px}
 .fz-chapter:nth-child(7) h2{font-size:clamp(21px,6.6vw,37px)}
 .fz-services .fz-chapter>p:not(.fz-mobile-service-line){display:none}
 .fz-services .fz-chapter>.fz-mobile-service-line{display:block;font-size:14px!important;line-height:1.5!important;letter-spacing:-.015em!important;color:#555e4c;margin:0}
 .fz-infographic{margin-top:24px;padding:8px 0;background:none;width:100%}
 .fz-diagram{stroke-width:1.5}
 .fz-mobile-deliverables{display:block;opacity:var(--fz-copy,1);transition:opacity .3s ease .2s}
 .fz-mobile-deliverables ul{list-style:none;padding:0;margin:16px 0 0}
 .fz-mobile-deliverables li{font-family:Arial,sans-serif!important;font-size:13px;line-height:1.45;letter-spacing:-.01em;padding:10px 0;border-top:1px solid #d5dbcd;color:#454d3d}
 .fz-mobile-deliverables>a{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:550;min-height:44px;margin-top:15px}
 .fz-mobile-deliverables>a span{display:grid;place-items:center;width:32px;height:32px;background:#252b20;color:var(--lime);border-radius:50%;font-size:19px}
 .fz-chapter:nth-child(n) .fz-connector{top:101px;width:28px;right:calc(100% + 8px)}
 .fz-services-close{padding:48px 22px 36px}
 .fz-services-close h2{font-size:clamp(39px,11.2vw,66px)}
 .fz-services-close a{background:var(--lime);color:#20231f;border:0;padding:14px 16px;font-size:22px;margin-top:28px}
}

/* Full-width phone construction, with a local veil behind the copy only. */
.fz-mobile-finale{display:none}
@media(max-width:600px){
 .fz-build::before{display:none}
 .fz-stage-track{width:100%;z-index:0}
 .fz-3d-stage{top:0;height:100svh;max-height:none;width:100%}
 .fz-chapters{margin:0;width:100%;z-index:1}
 .fz-chapter.fz-left,.fz-chapter.fz-right{isolation:isolate;width:100%;min-height:108svh;border:0;padding:58svh 24px 54px;scroll-margin-top:0}
 .fz-chapter::before{display:none}
 .fz-chapter::after{content:'';position:absolute;z-index:-1;inset:48svh 0 0;pointer-events:none;background:linear-gradient(to bottom,rgba(245,244,239,0),rgba(245,244,239,.58) 22%,rgba(245,244,239,.78) 65%);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);mask-image:linear-gradient(transparent,#000 22%,#000 65%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 22%,#000 65%,transparent)}
 .fz-chapter-number{font-size:11px;margin-bottom:15px;padding:6px 10px}
 .fz-chapter:nth-child(n) h2{font-size:clamp(35px,10.4vw,58px);line-height:1.02;letter-spacing:-.055em;margin:0 0 16px;max-width:520px}
 .fz-services .fz-chapter>.fz-mobile-service-line{font-size:17px!important;line-height:1.5!important;color:#394033;max-width:360px}
 .fz-chapter>.fz-infographic{display:none}
 .fz-chapter:nth-child(n) .fz-connector{display:block;left:32px;right:auto;top:calc(58svh - 55px);width:54px;height:35px;transform:rotate(90deg);stroke:#555f4b}
 .fz-mobile-deliverables{margin-top:22px;max-width:520px;border-top:1px solid #737f6550}
 .fz-mobile-deliverables summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;font-size:13px;font-weight:500;list-style:none;cursor:pointer}
 .fz-mobile-deliverables summary::-webkit-details-marker{display:none}
 .fz-mobile-deliverables summary span{font-size:22px;transition:transform .2s}
 .fz-mobile-deliverables[open] summary span{transform:rotate(45deg)}
 .fz-mobile-deliverables summary:focus-visible{outline:2px solid #30382a;outline-offset:3px}
 .fz-mobile-detail-graphic{width:180px;margin:14px 0}
 .fz-mobile-deliverables li{font-size:15px;padding:12px 0}
 .fz-mobile-finale{display:block;position:relative;z-index:1;height:110svh;pointer-events:none}
 .fz-mobile-finale p{position:absolute;bottom:24px;left:0;right:0;text-align:center;font-size:15px!important;letter-spacing:-.02em;padding:18px;background:linear-gradient(transparent,var(--paper) 70%)}
}
