:root {
  --fb-ink: #090a09;
  --fb-paper: #f0efe9;
  --fb-lime: #cbdd65;
  --fb-muted: #97988f;
  --fb-line: rgba(255, 255, 255, .22);
  --fb-side: clamp(22px, 3.2vw, 64px);
}

* { box-sizing: border-box; }
html { max-width: 100%; scroll-behavior: smooth; background: var(--fb-ink); overflow-x: clip; }
body.fox-brand-site { max-width: 100%; margin: 0; background: var(--fb-ink); color: var(--fb-paper); font-family: Arial, Helvetica, sans-serif; overflow-x: clip; }
body.fb-menu-open { overflow: hidden; }
.grecaptcha-badge { visibility: hidden !important; }
.fox-brand-site a { color: inherit; text-decoration: none; }
.fox-brand-site img { display: block; max-width: 100%; }
.fox-brand-site button, .fox-brand-site input, .fox-brand-site textarea, .fox-brand-site select { font: inherit; }
.fox-brand-site ::selection { background: var(--fb-lime); color: var(--fb-ink); }
.fox-brand-site :focus-visible { outline: 2px solid var(--fb-lime); outline-offset: 4px; }
[id] { scroll-margin-top: 96px; }
.fb-skip-link { position: fixed; z-index: 99999; top: 12px; left: 12px; padding: 12px 16px; background: var(--fb-lime); color: var(--fb-ink) !important; transform: translateY(-150%); }
.fb-skip-link:focus { transform: translateY(0); }

.fb-site-header { position: absolute; z-index: 1000; top: 0; left: 0; width: 100%; height: 94px; border-bottom: 1px solid var(--fb-line); transition: background .25s ease, height .25s ease; }
.admin-bar .fb-site-header { top: 32px; }
.fb-header-scrolled { position: fixed; height: 76px; background: rgba(9, 10, 9, .93); backdrop-filter: blur(18px); }
.fb-header-inner { width: 100%; height: 100%; padding: 0 var(--fb-side); display: grid; grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr); align-items: center; }
.fb-brand, .custom-logo-link { width: 190px; min-height: 44px; display: flex; align-items: center; }
.fb-brand img, .custom-logo { width: 100%; height: auto; max-height: 44px; object-fit: contain; object-position: left center; }
.fb-primary-navigation { height: 100%; display: flex; align-items: center; }
.fb-menu { display: flex; align-items: center; gap: 34px; margin: 0; padding: 0; list-style: none; }
.fb-menu > li { position: relative; height: 100%; display: flex; align-items: center; }
.fb-menu > li > a { position: relative; padding: 38px 0; text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: .12em; white-space: nowrap; }
.fb-header-scrolled .fb-menu > li > a { padding: 29px 0; }
.fb-menu > li > a:after { content: ""; position: absolute; right: 100%; bottom: 28px; left: 0; height: 1px; background: var(--fb-lime); transition: right .2s ease; }
.fb-menu > li:hover > a:after, .fb-menu > li:focus-within > a:after, .fb-menu > .current-menu-item > a:after { right: 0; }
.fb-menu .sub-menu { visibility: hidden; opacity: 0; position: fixed; z-index: 20; top: 94px; left: 0; width: 100%; margin: 0; padding: 46px var(--fb-side); list-style: none; background: var(--fb-ink); border-top: 1px solid var(--fb-line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; transform: translateY(-8px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.fb-header-scrolled .fb-menu .sub-menu { top: 76px; }
.fb-menu li:hover > .sub-menu, .fb-menu li:focus-within > .sub-menu, .fb-menu .fb-submenu-open > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.fb-menu .sub-menu li { border-top: 1px solid #363735; }
.fb-menu .sub-menu li:nth-last-child(-n+3) { border-bottom: 1px solid #363735; }
.fb-menu .sub-menu a { display: flex; min-height: 86px; align-items: center; justify-content: space-between; padding: 20px 18px 20px 0; text-transform: uppercase; font-size: clamp(17px, 1.55vw, 24px); font-weight: 800; letter-spacing: -.025em; }
.fb-menu .sub-menu a:after { content: ""; width: 11px; height: 11px; flex: 0 0 11px; margin-left: 16px; border-top: 1.5px solid var(--fb-lime); border-right: 1.5px solid var(--fb-lime); box-shadow: 3px -3px 0 -2px var(--fb-ink); }
.fb-menu .sub-menu a:hover { color: var(--fb-lime); }
.fb-header-cta { justify-self: end; display: flex; gap: 18px; align-items: center; padding: 14px 18px; border: 1px solid var(--fb-lime); text-transform: uppercase; font-size: 10px; font-weight: 700; letter-spacing: .12em; transition: background .2s, color .2s; }
.fb-header-cta span { color: var(--fb-lime); }
.fb-header-cta:hover { background: var(--fb-lime); color: var(--fb-ink); }
.fb-header-cta:hover span { color: var(--fb-ink); }
.fb-menu-toggle, .fb-submenu-toggle, .fb-mobile-nav-label, .fb-mobile-nav-meta { display: none; }

.fb-arrow-icon { width: 14px; height: 14px; display: inline-flex; flex: 0 0 14px; align-items: center; justify-content: center; color: currentColor; }
.fb-arrow-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: square; stroke-linejoin: miter; }

.fb-hero { position: relative; min-height: 100svh; overflow: hidden; display: flex; align-items: flex-end; padding: 140px var(--fb-side) 5vh; }
.fb-hero-media { position: absolute; inset: 0; background: url('../images/fox-brand-welder-sparks-hero.webp') center center / cover no-repeat; animation: fbHeroDrift 14s ease-in-out infinite alternate; }
.fb-hero-media:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .75), rgba(0, 0, 0, .12) 62%, rgba(0, 0, 0, .45)); }
.fb-hero-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .8), transparent 54%); }
.fb-hero-topline { position: absolute; top: 122px; right: var(--fb-side); left: var(--fb-side); display: flex; justify-content: space-between; font: 11px/1 monospace; text-transform: uppercase; letter-spacing: .13em; }
.fb-hero-content { position: relative; z-index: 2; width: 100%; }
.fb-eyebrow, .fb-section-label { margin: 0 0 20px; color: var(--fb-lime); font: 11px/1 monospace; text-transform: uppercase; letter-spacing: .17em; }
.fb-hero h1 { max-width: 1120px; margin: 0; font-size: clamp(64px, 10.2vw, 152px); line-height: .78; letter-spacing: -.075em; text-transform: uppercase; font-weight: 900; transform: scaleX(.92); transform-origin: left center; }
.fb-hero h1 em, .fb-contact-band h2 em { color: var(--fb-lime); font-style: normal; }
.fb-hero-bottom { margin-top: 38px; padding-top: 22px; border-top: 1px solid var(--fb-line); display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.fb-hero-bottom > p { max-width: 540px; margin: 0; font-size: 18px; line-height: 1.5; }
.fb-hero-actions { display: flex; align-items: center; gap: 28px; }
.fb-button { min-width: 220px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 25px; text-transform: uppercase; font-size: 10px; font-weight: 800; letter-spacing: .11em; transition: transform .2s ease, background .2s ease; }
.fb-button:hover { transform: translateY(-3px); }
.fb-button-lime { background: var(--fb-lime); color: var(--fb-ink) !important; }
.fb-button-dark { background: var(--fb-ink); color: var(--fb-paper) !important; }
.fb-text-link { min-height: 44px; display: flex; align-items: center; gap: 10px; text-transform: uppercase; font-size: 10px; letter-spacing: .11em; }
.fb-play-icon { width: 36px; height: 36px; display: inline-flex; flex: 0 0 36px; color: currentColor; }
.fb-play-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1; }
.fb-play-icon .fb-play-icon-fill { fill: currentColor; stroke: none; }
.fb-frame-code { position: absolute; top: 52%; right: var(--fb-side); writing-mode: vertical-rl; color: rgba(255, 255, 255, .62); font: 10px/1 monospace; letter-spacing: .18em; }
.fb-ticker { overflow: hidden; border-top: 1px solid #222; border-bottom: 1px solid #222; background: var(--fb-lime); color: var(--fb-ink); padding: 15px 0; white-space: nowrap; font-size: 13px; font-weight: 800; letter-spacing: .14em; }
.fb-ticker div { width: max-content; animation: fbTicker 28s linear infinite; }
.fb-spark-icon { width: 14px; height: 14px; margin: 0 26px; display: inline-flex; vertical-align: -2px; }
.fb-spark-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.25; }

.fb-section { padding: 120px var(--fb-side); }
.fb-intro-grid { display: grid; grid-template-columns: 1.7fr .65fr; gap: 9vw; align-items: end; }
.fb-intro h2, .fb-section-heading h2, .fb-approach h2, .fb-supporting-services h2, .fb-architecture-callout h2 { margin: 0; font-size: clamp(48px, 7vw, 104px); line-height: .88; letter-spacing: -.065em; text-transform: uppercase; font-weight: 900; }
.fb-intro h2 span, .fb-supporting-services h2 span { color: #b5b7b0; }
.fb-intro-grid > p { margin: 0 0 4px; color: #bebfb9; font-size: 17px; line-height: 1.65; }
.fb-capability-list { margin-top: 90px; border-top: 1px solid #41423f; }
.fb-capability { position: relative; display: grid; grid-template-columns: .18fr .7fr 1fr auto; gap: 40px; align-items: start; padding: 38px 0; border-bottom: 1px solid #41423f; }
.fb-capability > span:first-child { color: var(--fb-lime); font: 12px/1 monospace; }
.fb-capability h3 { margin: -4px 0 0; font-size: 28px; text-transform: uppercase; letter-spacing: -.03em; }
.fb-capability p { max-width: 560px; margin: -3px 0 0; color: #a8aaa3; line-height: 1.6; }
.fb-capability > .fb-arrow-icon { width: 44px; height: 44px; padding: 14px; display: grid; place-items: center; border: 1px solid #555; border-radius: 50%; transition: background .2s, color .2s; }
.fb-capability h3 { transition: color .2s; }
.fb-capability:hover h3 { color: var(--fb-lime); }
.fb-capability:hover > .fb-arrow-icon { background: var(--fb-lime); color: var(--fb-ink); }

.fb-client-carousel-section { padding: 110px 0 72px; overflow: hidden; background: #fff; color: #121310; }
.fb-client-carousel-heading { width: min(1180px, calc(100% - (var(--fb-side) * 2))); margin: 0 auto 64px; display: grid; grid-template-columns: 1.3fr .7fr; gap: 8vw; align-items: end; }
.fb-client-carousel-heading h2 { margin: 18px 0 0; font-size: clamp(54px, 7.2vw, 104px); line-height: .82; font-weight: 900; letter-spacing: -.065em; text-transform: uppercase; }
.fb-client-carousel-kicker { width: max-content; margin: 0; padding: 9px 12px 8px; background: var(--fb-lime); color: #121310; font: 10px/1 monospace; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.fb-client-carousel-heading > p { max-width: 430px; margin: 0 0 5px; padding-top: 20px; border-top: 1px solid #282a25; color: #5e605a; font-size: 17px; line-height: 1.6; }
.fb-client-carousel-viewport { width: 100%; margin: 0; padding: 34px 0; overflow: hidden; border-top: 1px solid #b8bab3; border-bottom: 1px solid #b8bab3; background: #f4f3ee; }
.fb-client-carousel-track { display: flex; width: max-content; animation: fbClientCarousel 78s linear infinite; will-change: transform; }
.fb-client-carousel-set { display: flex; flex: none; }
.fb-client-carousel-logo { flex: 0 0 180px; width: 180px; height: 58px; margin-right: 100px; display: grid; place-items: center; overflow: hidden; }
.fb-client-carousel-logo img { width: 180px; height: 58px; object-fit: contain; filter: grayscale(1); transition: filter .25s ease; }
.fb-client-carousel-logo:hover img { filter: grayscale(0); }
.fb-client-carousel-viewport:hover .fb-client-carousel-track { animation-play-state: paused; }

.fb-home-project-cta { padding: 54px var(--fb-side); display: grid; grid-template-columns: 1.15fr .85fr auto; gap: 5vw; align-items: end; border-top: 1px solid #42433f; border-bottom: 1px solid #42433f; background: #151614; }
.fb-home-project-cta .fb-section-label { margin-bottom: 17px; }
.fb-home-project-cta h2 { margin: 0; font-size: clamp(38px, 4.5vw, 70px); line-height: .86; letter-spacing: -.055em; text-transform: uppercase; }
.fb-home-project-cta > p { max-width: 470px; margin: 0 0 3px; color: #b3b5ad; font-size: 16px; line-height: 1.6; }
.fb-home-project-cta .fb-button { width: max-content; }

.fb-selected-work { background: var(--fb-paper); color: var(--fb-ink); }
.fb-selected-work .fb-section-label { color: #62645f; }
.fb-section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 60px; }
.fb-outline-link { min-width: 205px; min-height: 44px; padding: 14px 0; border-bottom: 1px solid var(--fb-ink); display: flex; align-items: center; justify-content: space-between; text-transform: uppercase; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.fb-work-grid, .fb-project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.fb-work-feature { position: relative; grid-column: 1 / -1; height: 70vw; max-height: 860px; overflow: hidden; background: #111; }
.fb-work-feature > img { width: 100%; height: 100%; object-fit: cover; }
.fb-project-card:hover img { transform: scale(1.025); }
.fb-work-overlay { position: absolute; inset: auto 0 0; padding: 32px; display: flex; justify-content: space-between; align-items: end; color: white; background: linear-gradient(transparent, rgba(0, 0, 0, .82)); }
.fb-work-overlay > div > span { font: 11px/1 monospace; text-transform: uppercase; letter-spacing: .15em; }
.fb-work-overlay h3 { margin: 10px 0 4px; font-size: clamp(36px, 6vw, 86px); line-height: .9; letter-spacing: -.055em; text-transform: uppercase; }
.fb-work-overlay p { margin: 0; text-transform: uppercase; font-size: 11px; letter-spacing: .12em; }
.fb-round-arrow { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .6); border-radius: 50%; font-size: 26px; }
.fb-work-card { position: relative; overflow: hidden; background: #d7d7d1; }
.fb-work-card > img { width: 100%; height: 100%; object-fit: cover; }
.fb-work-card-standard { min-height: 0; aspect-ratio: 16 / 10; }
.fb-work-card-standard > img { transition: transform .7s ease; }
.fb-work-card-standard:hover > img { transform: scale(1.025); }
.fb-work-card-site { grid-column: 1 / -1; min-height: 680px; }
.fb-work-card-site .fb-device-stage { min-height: min(50vw, 720px); padding: 5vw 7vw; }
.fb-work-card-site .fb-work-caption { z-index: 4; }
.fb-work-card-tall { grid-row: span 2; min-height: 820px; }
.fb-work-card-wide { min-height: 400px; }
.fb-work-caption { position: absolute; inset: auto 0 0; padding: 18px 20px; display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: end; color: white; background: linear-gradient(transparent, rgba(0, 0, 0, .82)); }
.fb-work-caption > span:not(.fb-arrow-icon) { font: 11px/1 monospace; }
.fb-work-caption div { margin-left: 10px; }
.fb-work-caption h3 { margin: 0 0 5px; text-transform: uppercase; font-size: 22px; }
.fb-work-caption p { margin: 0; color: rgba(255, 255, 255, .72); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.fb-project-card { min-height: 520px; background: #ddd; overflow: hidden; }
.fb-project-card > a { position: relative; display: block; height: 100%; }
.fb-project-card-image, .fb-project-card-image img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; transition: transform .7s ease; }
.fb-project-card-copy { position: absolute; inset: auto 0 0; padding: 24px; color: white; background: linear-gradient(transparent, rgba(0, 0, 0, .84)); display: grid; grid-template-columns: 1fr auto; }
.fb-project-card-copy h3 { margin: 0; text-transform: uppercase; font-size: 28px; }
.fb-project-card-copy p { margin: 8px 0 0; text-transform: uppercase; font-size: 11px; letter-spacing: .11em; }
.fb-project-card-copy > span { grid-column: 2; grid-row: 1 / span 2; align-self: end; font-size: 22px; }

.fb-architecture-callout { min-height: 740px; padding: 120px var(--fb-side); display: grid; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: center; background: #171816; }
.fb-architecture-copy > p:not(.fb-section-label) { max-width: 620px; margin: 36px 0; color: #aaaca5; font-size: 18px; line-height: 1.65; }
.fb-architecture-copy .fb-button { width: max-content; }
.fb-architecture-frame { position: relative; min-height: 460px; border: 1px solid #444640; background: #0a0b09; overflow: hidden; }
.fb-architecture-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .7s ease; }
.fb-architecture-frame:hover img { transform: scale(1.025); }
.fb-architecture-frame:before { z-index: 2; }
.fb-architecture-frame:after { z-index: 2; }
.fb-architecture-frame:before, .fb-architecture-frame:after { content: ""; position: absolute; background: var(--fb-lime); }
.fb-architecture-frame:before { top: 0; right: 0; width: 44%; height: 1px; }
.fb-architecture-frame:after { right: 0; bottom: 0; width: 1px; height: 44%; }
.fb-architecture-frame span { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; padding: 72px 32px 28px; color: rgba(255, 255, 255, .84); background: linear-gradient(transparent, rgba(0, 0, 0, .88)); font: 12px/1.6 monospace; text-transform: uppercase; letter-spacing: .08em; }

.fb-approach { display: grid; grid-template-columns: 1fr 1fr; min-height: 900px; }
.fb-approach-image { position: relative; min-height: 760px; overflow: hidden; }
.fb-approach-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }
.fb-approach-image > span { position: absolute; left: 24px; bottom: 24px; font: 10px/1 monospace; letter-spacing: .14em; }
.fb-approach-copy { padding: 110px 6vw; display: flex; flex-direction: column; justify-content: center; }
.fb-approach-lead { max-width: 570px; margin: 36px 0 40px; color: #b0b1ab; font-size: 18px; line-height: 1.6; }
.fb-approach ol { list-style: none; padding: 0; margin: 0; border-top: 1px solid #3d3e3b; }
.fb-approach li { display: grid; grid-template-columns: 60px 1fr; padding: 25px 0; border-bottom: 1px solid #3d3e3b; }
.fb-approach li > span { color: var(--fb-lime); font: 11px/1 monospace; }
.fb-approach strong { text-transform: uppercase; font-size: 16px; letter-spacing: .04em; }
.fb-approach li p { margin: 7px 0 0; color: #8f918b; line-height: 1.5; }

.fb-supporting-services { background: #151614; }
.fb-supporting-services h2 { margin-bottom: 70px; }
.fb-service-row { display: grid; grid-template-columns: .2fr 1.2fr 1fr auto; align-items: center; gap: 30px; padding: 29px 0; border-top: 1px solid #3f403d; }
.fb-service-row:last-child { border-bottom: 1px solid #3f403d; }
.fb-service-row > span { color: var(--fb-lime); font: 11px/1 monospace; }
.fb-service-row h3 { margin: 0; font-size: 28px; text-transform: uppercase; }
.fb-service-row p { color: #8f918b; }
.fb-service-row > .fb-arrow-icon { width: 18px; height: 18px; }
.fb-service-row:hover h3 { color: var(--fb-lime); }

.fb-quote { padding: 130px 12vw; text-align: center; background: var(--fb-paper); color: var(--fb-ink); }
.fb-quote-mark { width: 80px; height: 52px; margin: 0 auto; display: block; color: var(--fb-lime); }
.fb-quote-mark svg { width: 100%; height: 100%; fill: currentColor; }
.fb-quote blockquote { max-width: 1100px; margin: 30px auto 38px; font-size: clamp(30px, 4vw, 58px); line-height: 1.08; letter-spacing: -.045em; font-weight: 700; }
.fb-quote p { margin: 0; text-transform: uppercase; font-size: 10px; letter-spacing: .12em; }
.fb-quote p span { color: #4f514b; margin-left: 10px; }

.fb-contact-band { padding: 110px var(--fb-side) 80px; background: #111210; color: var(--fb-paper); }
.fb-contact-band .fb-section-label { color: var(--fb-lime); }
.fb-contact-band h2 { margin: 0; font-size: clamp(80px, 14vw, 210px); line-height: .75; letter-spacing: -.085em; text-transform: uppercase; font-weight: 900; }
.fb-contact-band h2 em { color: var(--fb-lime); -webkit-text-stroke: 0; -webkit-text-fill-color: currentColor; }
.fb-contact-band-bottom { margin-top: 60px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .28); display: flex; align-items: center; justify-content: space-between; }
.fb-contact-band-bottom p { max-width: 530px; margin: 0; font-size: 18px; line-height: 1.5; }

.fb-site-footer { padding: 64px var(--fb-side); display: grid; grid-template-columns: 1.35fr .55fr .65fr .85fr .75fr; gap: 40px; align-items: start; color: #b1b2ac; font-size: 11px; line-height: 1.7; text-transform: uppercase; letter-spacing: .08em; }
.fb-footer-brand img { width: 220px; }
.fb-footer-brand p { max-width: 400px; margin: 22px 0 0; color: #85877f; text-transform: none; font-size: 13px; letter-spacing: 0; }
.fb-footer-menu { list-style: none; margin: 0; padding: 0; }
.fb-footer-menu a, .fb-footer-contact a, .fb-footer-social a { min-height: 44px; display: flex; align-items: center; }
.fb-footer-menu a:hover, .fb-footer-contact a:hover, .fb-footer-social a:hover { color: var(--fb-lime); }
.fb-footer-contact { display: flex; flex-direction: column; }
.fb-footer-contact span { margin-top: 10px; color: #6f716b; }
.fb-footer-social { display: flex; flex-direction: column; }
.fb-footer-social p { margin: 0 0 9px; color: #b6b8b2; }
.fb-footer-social a { justify-content: space-between; gap: 12px; }
.fb-footer-social a span { color: var(--fb-lime); }
.fb-footer-legal { text-align: right; }
.fb-footer-legal p { margin: 0; }
.fb-footer-legal .fb-recaptcha-note { margin-top: 18px; color: #85877f; font-size: 9px; line-height: 1.55; letter-spacing: 0; text-transform: none; }
.fb-recaptcha-note a { text-decoration: underline; text-underline-offset: 2px; }

.fb-page-shell { min-height: 70vh; padding-top: 94px; }
.fb-page-hero { padding: 100px var(--fb-side) 80px; background: #171816; border-bottom: 1px solid #3d3e3a; }
.fb-page-hero h1 { max-width: 1200px; margin: 0; font-size: clamp(64px, 11vw, 160px); line-height: .8; letter-spacing: -.075em; text-transform: uppercase; font-weight: 900; }
.fb-page-deck { max-width: 760px; margin: 40px 0 0; color: #a9aaa5; font-size: 20px; line-height: 1.6; }
.fb-contact-hero-actions { width: max-content; margin-top: 36px; display: grid; gap: 10px; }
.fb-contact-jump { width: 100%; margin-top: 0; }
.fb-contact-call { min-height: 44px; padding: 10px 2px 8px; border-bottom: 1px solid #555750; display: flex; align-items: center; justify-content: space-between; gap: 28px; color: #b8bab3; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; transition: color .2s, border-color .2s; }
.fb-contact-call strong { color: var(--fb-paper); font-size: 12px; letter-spacing: .06em; }
.fb-contact-call:hover { color: var(--fb-lime); border-color: var(--fb-lime); }
.fb-page-content { padding: 90px var(--fb-side); }
.fb-prose { max-width: 980px; margin: 0 auto; font-size: 18px; line-height: 1.75; }
.fb-prose h2, .fb-page-content h2 { font-size: clamp(38px, 5vw, 72px); line-height: .95; letter-spacing: -.05em; text-transform: uppercase; }
.fb-single-hero-image { max-height: 82vh; overflow: hidden; }
.fb-single-hero-image img { width: 100%; height: 82vh; object-fit: cover; }
.fb-architecture-gallery { padding: 18px; display: grid; grid-template-columns: 1.35fr .65fr; gap: 18px; background: var(--fb-paper); }
.fb-architecture-gallery figure { min-height: 620px; margin: 0; overflow: hidden; background: #d8d8d2; }
.fb-architecture-gallery figure:last-child { min-height: 620px; }
.fb-architecture-gallery img { width: 100%; height: 100%; object-fit: cover; }
.fb-architecture-definition { padding: 90px var(--fb-side); display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: start; }
.fb-architecture-definition h2 { margin: 0; font-size: clamp(44px, 7vw, 104px); line-height: .86; letter-spacing: -.065em; text-transform: uppercase; }
.fb-architecture-definition p { max-width: 620px; margin: 0; color: #aaaca5; font-size: 19px; line-height: 1.7; }
.fb-contact-form { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8vw; margin-top: 70px; padding: 70px; background: var(--fb-paper); color: var(--fb-ink); }
.fb-contact-form h2 { margin: 0 0 20px; }
.fb-contact-form .fb-section-label { color: #565852; }
.fb-contact-form input, .fb-contact-form textarea, .fb-contact-form select { width: 100%; padding: 14px; border: 1px solid rgba(0, 0, 0, .45); border-radius: 0; background: transparent; color: var(--fb-ink); }
.fb-contact-form input[type="submit"], .fb-contact-form button[type="submit"] { width: auto; padding: 16px 24px; border: 0; background: var(--fb-ink); color: var(--fb-paper); text-transform: uppercase; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.fb-contact-direct { margin-top: 42px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, .4); display: flex; flex-direction: column; }
.fb-contact-direct a { width: max-content; min-height: 44px; display: flex; align-items: center; font-size: 22px; font-weight: 800; }
.fb-contact-direct span { margin-top: 8px; text-transform: uppercase; font: 10px/1.4 monospace; letter-spacing: .1em; }
.fb-video-feed-section { padding: 90px var(--fb-side) 120px; background: var(--fb-paper); color: var(--fb-ink); }
.fb-video-feed-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: end; margin-bottom: 55px; }
.fb-video-feed-heading h2 { margin: 0; font-size: clamp(44px, 7vw, 104px); line-height: .86; letter-spacing: -.065em; text-transform: uppercase; }
.fb-video-feed-heading p { max-width: 540px; margin: 0; color: #5d5f5a; font-size: 18px; line-height: 1.6; }
.fb-video-feed { min-height: 240px; }
.fb-video-feed-empty { padding: 45px; border: 1px solid #b7b8b2; text-align: center; }
.fb-video-feed .sby_follow_btn a { min-height: 44px !important; color: var(--fb-ink) !important; }
.fb-video-feed .sby_load_btn { min-height: 44px !important; }
.fb-post-list { padding: 0 var(--fb-side) 100px; }
.fb-post-card > a { display: grid; grid-template-columns: 120px 1fr 1fr auto; gap: 30px; align-items: start; padding: 32px 0; border-top: 1px solid #3d3e3a; }
.fb-post-card h2 { margin: 0; text-transform: uppercase; font-size: 26px; }
.fb-post-card p { margin: 0; color: #979991; line-height: 1.6; }
.fb-404-page { overflow: hidden; background: var(--fb-ink); }
.fb-404-stage { position: relative; min-height: min(900px, 100svh); padding: 160px var(--fb-side) 70px; overflow: hidden; display: flex; align-items: flex-end; isolation: isolate; }
.fb-404-image { position: absolute; z-index: -4; inset: 0; background: url('../images/fox-brand-welder-sparks-hero.webp') 66% center / cover no-repeat; filter: grayscale(.8) contrast(1.08); animation: fb404Drift 12s ease-in-out infinite alternate; }
.fb-404-image:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9, 10, 9, .97) 0%, rgba(9, 10, 9, .82) 45%, rgba(9, 10, 9, .3) 76%, rgba(9, 10, 9, .7) 100%), linear-gradient(0deg, rgba(9, 10, 9, .94), transparent 60%); }
.fb-404-grid { position: absolute; z-index: -2; inset: 94px 0 0; opacity: .17; background-image: linear-gradient(rgba(203, 221, 101, .22) 1px, transparent 1px), linear-gradient(90deg, rgba(203, 221, 101, .22) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg, #000, transparent 68%); }
.fb-404-signal { position: absolute; z-index: -1; top: 48%; right: -2vw; width: min(48vw, 700px); color: rgba(255, 255, 255, .78); transform: translateY(-50%); }
.fb-404-signal strong { display: block; margin: -8px 0 -2px; color: transparent; font-size: clamp(210px, 30vw, 520px); line-height: .72; letter-spacing: -.1em; -webkit-text-stroke: 1px rgba(203, 221, 101, .7); }
.fb-404-signal span { display: block; font: 10px/1 monospace; letter-spacing: .17em; text-transform: uppercase; }
.fb-404-signal span:last-child { padding-right: max(4vw, 54px); text-align: right; }
.fb-404-corners { position: absolute; z-index: 2; inset: 122px var(--fb-side) 38px; pointer-events: none; }
.fb-404-corners i { position: absolute; width: 58px; height: 58px; border-color: rgba(203, 221, 101, .7); border-style: solid; }
.fb-404-corners i:nth-child(1) { top: 0; left: 0; border-width: 1px 0 0 1px; }
.fb-404-corners i:nth-child(2) { top: 0; right: 0; border-width: 1px 1px 0 0; }
.fb-404-corners i:nth-child(3) { right: 0; bottom: 0; border-width: 0 1px 1px 0; }
.fb-404-corners i:nth-child(4) { bottom: 0; left: 0; border-width: 0 0 1px 1px; }
.fb-404-copy { position: relative; z-index: 3; width: min(840px, 76%); }
.fb-404-copy h1 { margin: 0; font-size: clamp(72px, 10vw, 148px); font-weight: 900; line-height: .78; letter-spacing: -.075em; text-transform: uppercase; }
.fb-404-copy h1 em { color: var(--fb-lime); font-style: normal; }
.fb-404-copy > p:not(.fb-section-label) { max-width: 570px; margin: 34px 0 0; color: #c2c4bc; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.6; }
.fb-404-actions { margin-top: 34px; display: flex; align-items: center; gap: 28px; }
.fb-404-actions .fb-button { width: max-content; }
.fb-404-text-link { min-height: 44px; padding: 10px 0; display: flex; align-items: center; gap: 18px; border-bottom: 1px solid rgba(255, 255, 255, .45); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; transition: color .2s, border-color .2s; }
.fb-404-text-link:hover { color: var(--fb-lime); border-color: var(--fb-lime); }
.fb-404-frame-code { position: absolute; z-index: 3; right: calc(var(--fb-side) + 18px); bottom: 66px; margin: 0; color: rgba(255, 255, 255, .7); font: 9px/1 monospace; letter-spacing: .16em; text-transform: uppercase; writing-mode: vertical-rl; }
.fb-404-routes { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #40413d; border-bottom: 1px solid #40413d; }
.fb-404-routes a { min-height: 150px; padding: 30px var(--fb-side); border-right: 1px solid #40413d; display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; transition: background .2s, color .2s; }
.fb-404-routes a:last-child { border-right: 0; }
.fb-404-routes a:hover { background: var(--fb-lime); color: var(--fb-ink); }
.fb-404-routes a > span { color: var(--fb-lime); font: 10px/1 monospace; }
.fb-404-routes a:hover > span { color: var(--fb-ink); }
.fb-404-routes strong { font-size: clamp(18px, 1.8vw, 28px); letter-spacing: -.03em; text-transform: uppercase; }

@keyframes fb404Drift { from { transform: scale(1.03); } to { transform: scale(1.09) translateX(-1%); } }

@keyframes fbHeroDrift { from { transform: scale(1.02); } to { transform: scale(1.08) translateX(-1%); } }
@keyframes fbTicker { to { transform: translateX(-50%); } }

@media (max-width: 1180px) {
  .fb-menu { gap: 22px; }
  .fb-header-inner { grid-template-columns: minmax(160px, 1fr) auto minmax(160px, 1fr); }
  .fb-header-cta { padding-inline: 14px; }
}

@media (max-width: 980px) {
  .admin-bar .fb-site-header { top: 46px; }
  .fb-site-header { position: absolute; height: 76px; }
  .fb-header-scrolled { position: fixed; }
  .fb-header-inner { grid-template-columns: 1fr auto; }
  .fb-brand, .custom-logo-link { width: 160px; }
  .fb-menu-toggle { position: relative; z-index: 5; justify-self: end; width: 52px; height: 52px; padding: 0; border: 1px solid rgba(255, 255, 255, .34); border-radius: 50%; background: transparent; color: white; display: grid; place-items: center; cursor: pointer; }
  .fb-menu-toggle-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .fb-menu-toggle-lines { width: 18px; display: grid; gap: 5px; }
  .fb-menu-toggle-lines i { display: block; height: 1px; background: currentColor; transition: transform .2s; }
  .fb-menu-open .fb-menu-toggle-lines i:first-child { transform: translateY(3px) rotate(45deg); }
  .fb-menu-open .fb-menu-toggle-lines i:last-child { transform: translateY(-3px) rotate(-45deg); }
  .fb-header-cta { display: none; }
  .fb-primary-navigation { visibility: hidden; opacity: 0; position: fixed; z-index: 4; inset: 0; width: 100%; height: 100dvh; padding: 110px 22px 34px; overflow-y: auto; display: block; background: var(--fb-ink); transform: translateY(-12px); transition: visibility .25s, opacity .25s, transform .25s; }
  .fb-menu-open .fb-primary-navigation { visibility: visible; opacity: 1; transform: translateY(0); }
  .fb-mobile-nav-label { display: block; margin: 0 0 28px; color: var(--fb-lime); font: 10px/1 monospace; text-transform: uppercase; letter-spacing: .14em; }
  .fb-menu { display: block; }
  .fb-menu > li { display: grid; grid-template-columns: 1fr auto; height: auto; border-top: 1px solid #3e403b; }
  .fb-menu > li:last-child { border-bottom: 1px solid #3e403b; }
  .fb-menu > li > a, .fb-header-scrolled .fb-menu > li > a { display: block; padding: 18px 0; font-size: clamp(28px, 8vw, 44px); line-height: 1; letter-spacing: -.04em; }
  .fb-menu > li > a:after { display: none; }
  .fb-submenu-toggle { width: 48px; min-height: 44px; align-self: stretch; border: 0; background: transparent; color: var(--fb-lime); display: grid; place-items: center; cursor: pointer; }
  .fb-submenu-toggle-icon { position: relative; width: 18px; height: 18px; display: block; }
  .fb-submenu-toggle-icon i { position: absolute; top: 50%; left: 50%; width: 16px; height: 1.5px; display: block; background: currentColor; transform: translate(-50%, -50%); transition: transform .2s ease, opacity .2s ease; }
  .fb-submenu-toggle-icon i:last-child { transform: translate(-50%, -50%) rotate(90deg); }
  .fb-submenu-toggle-open .fb-submenu-toggle-icon i:last-child { opacity: 0; transform: translate(-50%, -50%) rotate(0); }
  .fb-menu .sub-menu, .fb-header-scrolled .fb-menu .sub-menu { visibility: hidden; opacity: 1; position: static; grid-column: 1 / -1; width: auto; max-height: 0; padding: 0; overflow: hidden; display: block; border: 0; background: transparent; transform: none; transition: max-height .35s ease, visibility .35s; }
  .fb-menu li:hover > .sub-menu, .fb-menu li:focus-within > .sub-menu { visibility: hidden; max-height: 0; }
  .fb-menu .menu-item-has-children.fb-submenu-open > .sub-menu { visibility: visible; max-height: 600px; padding-bottom: 16px; }
  .fb-menu .sub-menu li, .fb-menu .sub-menu li:nth-last-child(-n+3) { border: 0; }
  .fb-menu .sub-menu a { min-height: 0; padding: 9px 0; color: #a6a8a0; font-size: 17px; }
  .fb-menu .sub-menu a:after { display: none; }
  .fb-mobile-nav-meta { display: flex; flex-direction: column; gap: 7px; margin-top: 28px; color: #85877f; font: 10px/1.4 monospace; text-transform: uppercase; letter-spacing: .1em; }
  .fb-mobile-nav-meta a { width: max-content; min-height: 44px; display: flex; align-items: center; color: var(--fb-paper); font-size: 16px; font-weight: 700; letter-spacing: .06em; }
  .fb-hero { min-height: 820px; padding: 120px 22px 34px; }
  .fb-hero-topline { top: 98px; left: 22px; right: 22px; }
  .fb-hero-topline span:last-child { display: none; }
  .fb-hero-media { background-position: 46% center; }
  .fb-hero h1 { font-size: clamp(64px, 12.2vw, 92px); line-height: .82; }
  .fb-hero-bottom { align-items: flex-start; flex-direction: column; }
  .fb-hero-bottom > p { max-width: 390px; font-size: 16px; }
  .fb-hero-actions { width: 100%; flex-direction: column; align-items: stretch; gap: 18px; }
  .fb-button { width: 100%; }
  .fb-frame-code { display: none; }
  .fb-section { padding: 80px 22px; }
  .fb-intro-grid { grid-template-columns: 1fr; gap: 35px; }
  .fb-intro h2, .fb-section-heading h2, .fb-approach h2, .fb-supporting-services h2, .fb-architecture-callout h2 { font-size: 50px; }
  .fb-capability-list { margin-top: 55px; }
  .fb-capability { grid-template-columns: 40px 1fr auto; gap: 14px; }
  .fb-capability h3 { font-size: 21px; }
  .fb-capability p { grid-column: 2 / -1; }
  .fb-client-carousel-section { padding: 80px 0 54px; }
  .fb-client-carousel-heading { width: calc(100% - 44px); margin-bottom: 44px; grid-template-columns: 1fr; gap: 32px; }
  .fb-client-carousel-heading h2 { font-size: 56px; }
  .fb-client-carousel-heading > p { max-width: 520px; }
  .fb-client-carousel-viewport { width: 100%; padding: 28px 0; }
	.fb-home-project-cta { padding: 60px 22px; grid-template-columns: 1fr; gap: 28px; align-items: start; }
	.fb-home-project-cta h2 { font-size: clamp(46px, 10vw, 64px); }
	.fb-home-project-cta > p { max-width: 580px; }
	.fb-home-project-cta .fb-button { width: 100%; }
  .fb-section-heading { align-items: flex-start; flex-direction: column; gap: 30px; }
  .fb-work-grid, .fb-project-grid { grid-template-columns: 1fr; }
  .fb-work-feature { height: 620px; }
  .fb-work-feature img { object-position: 45% center; }
  .fb-work-overlay { padding: 22px; }
  .fb-round-arrow { width: 48px; height: 48px; }
  .fb-work-card-tall, .fb-work-card-wide { min-height: 510px; grid-row: auto; }
  .fb-work-card-wide:last-child { min-height: 330px; }
  .fb-work-card-standard { min-height: 0; aspect-ratio: 4 / 3; }
  .fb-work-card-site { min-height: 0; }
  .fb-work-card-site .fb-device-stage { min-height: 62vw; }
  .fb-architecture-callout { padding: 80px 22px; grid-template-columns: 1fr; }
  .fb-architecture-copy .fb-button { width: 100%; }
  .fb-architecture-frame { min-height: 300px; }
  .fb-approach { grid-template-columns: 1fr; }
  .fb-approach-image { min-height: 620px; }
  .fb-approach-copy { padding: 80px 22px; }
  .fb-service-row { grid-template-columns: 34px 1fr auto; }
  .fb-service-row p { grid-column: 2 / -1; margin: 0; }
  .fb-quote { padding: 100px 24px; }
  .fb-quote p span { display: block; margin: 8px 0 0; }
  .fb-contact-band { padding: 80px 22px 60px; overflow: hidden; }
  .fb-contact-band h2 { font-size: clamp(88px, 16vw, 132px); }
  .fb-contact-band h2 em { display: block; width: 100%; }
  .fb-contact-band-bottom { align-items: flex-start; flex-direction: column; gap: 34px; }
  .fb-site-footer { grid-template-columns: 1fr 1fr; padding: 55px 22px; }
  .fb-footer-legal { text-align: left; }
  .fb-page-shell { padding-top: 76px; }
  .fb-page-hero { padding: 75px 22px 60px; }
  .fb-page-hero h1, .fb-page-hero-split h1 { font-size: clamp(68px, 12vw, 96px); }
  .fb-page-content { padding: 65px 22px; }
  .fb-architecture-gallery { grid-template-columns: 1fr; }
  .fb-architecture-gallery figure, .fb-architecture-gallery figure:last-child { min-height: 440px; }
  .fb-architecture-definition { padding: 70px 22px; grid-template-columns: 1fr; gap: 28px; }
  .fb-contact-form { grid-template-columns: 1fr; padding: 40px 22px; }
  .fb-video-feed-section { padding: 70px 22px 90px; }
  .fb-video-feed-heading { grid-template-columns: 1fr; gap: 28px; }
  .fb-post-list { padding: 0 22px 80px; }
  .fb-post-card > a { grid-template-columns: 1fr auto; }
  .fb-post-card h2, .fb-post-card p { grid-column: 1 / -1; }
	.fb-404-stage { min-height: 800px; padding: 130px 22px 54px; }
	.fb-404-grid { inset: 76px 0 0; background-size: 48px 48px; }
	.fb-404-signal { top: 33%; right: -7vw; width: 76vw; opacity: .76; }
	.fb-404-signal strong { font-size: clamp(190px, 49vw, 360px); }
	.fb-404-corners { inset: 100px 22px 24px; }
	.fb-404-copy { width: min(680px, 100%); }
	.fb-404-copy h1 { font-size: clamp(65px, 14vw, 104px); }
	.fb-404-routes { grid-template-columns: 1fr; }
	.fb-404-routes a { min-height: 104px; padding: 24px 22px; border-right: 0; border-bottom: 1px solid #40413d; }
	.fb-404-routes a:last-child { border-bottom: 0; }
}

@media (max-width: 782px) {
  .admin-bar .fb-site-header { top: 46px; }
}

@media (max-width: 600px) {
	#wpadminbar { position: fixed; }
	.fb-primary-navigation { padding: 84px 18px 14px; }
	.fb-mobile-nav-label { margin-bottom: 12px; }
	.fb-menu > li > a, .fb-header-scrolled .fb-menu > li > a { padding: 9px 0; font-size: clamp(25px, 7vw, 31px); }
	.fb-submenu-toggle { width: 44px; }
	.fb-menu .menu-item-has-children.fb-submenu-open > .sub-menu { padding-bottom: 8px; }
	.fb-menu .sub-menu a { min-height: 36px; padding: 6px 0; font-size: 15px; line-height: 1.15; }
	.fb-mobile-nav-meta { gap: 3px; margin-top: 8px; }
	.fb-site-footer { grid-template-columns: 1fr; }
	.fb-contact-hero-actions { width: 100%; }
	.fb-approach h2 { font-size: clamp(31px, 10vw, 42px); }
	.fb-approach-title-line { white-space: nowrap; }
	.fb-404-stage { min-height: 780px; padding-bottom: 46px; }
	.fb-404-image { background-position: 64% center; }
	.fb-404-signal { top: 28%; right: -11vw; width: 92vw; }
	.fb-404-signal strong { font-size: 54vw; }
	.fb-404-signal span { font-size: 8px; }
	.fb-404-signal span:last-child { padding-right: 18vw; }
	.fb-404-corners i { width: 34px; height: 34px; }
	.fb-404-copy h1 { font-size: clamp(54px, 16vw, 74px); line-height: .82; }
	.fb-404-copy > p:not(.fb-section-label) { max-width: 420px; margin-top: 26px; font-size: 16px; }
	.fb-404-actions { align-items: stretch; flex-direction: column; gap: 14px; }
	.fb-404-actions .fb-button, .fb-404-text-link { width: 100%; }
	.fb-404-text-link { padding: 15px 2px; justify-content: space-between; }
	.fb-404-frame-code { display: none; }
}

/* Keep the complete navigation visible on short phones without changing the
   more relaxed spacing used on standard mobile screens. */
@media (max-width: 600px) and (max-height: 600px) {
	.fb-primary-navigation { padding: 74px 18px 8px; }
	.fb-mobile-nav-label { margin-bottom: 8px; }
	.fb-menu > li > a, .fb-header-scrolled .fb-menu > li > a { padding: 7px 0; font-size: clamp(24px, 6.7vw, 29px); }
	.fb-menu .menu-item-has-children.fb-submenu-open > .sub-menu { padding-bottom: 4px; }
	.fb-menu .sub-menu a { min-height: 33px; padding: 4px 0; font-size: 14px; }
	.fb-mobile-nav-meta { margin-top: 4px; }
	.fb-mobile-nav-meta a { min-height: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

@keyframes fbClientCarousel { to { transform: translateX(-50%); } }

/* Full site service and portfolio system. */
.fb-page-hero-split { display: grid; grid-template-columns: 1.35fr .65fr; gap: 8vw; align-items: end; }
.fb-page-hero-split > *, .fb-definition-row > *, .fb-service-index-card > *, .fb-service-index-copy > *, .fb-contact-form > *, .fb-website-meta > * { min-width: 0; }
.fb-page-hero-split h1 { font-size: clamp(64px, 7.6vw, 118px); }
.fb-page-hero-split .fb-page-deck { margin: 0 0 8px; }
.fb-service-hero { position: relative; min-height: min(860px, 92vh); overflow: hidden; display: flex; align-items: end; }
.fb-service-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fb-service-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .88) 0%, rgba(0, 0, 0, .38) 58%, rgba(0, 0, 0, .2)), linear-gradient(0deg, rgba(0, 0, 0, .72), transparent 55%); }
.fb-service-hero-copy { position: relative; z-index: 2; width: min(1060px, 85%); padding: 160px var(--fb-side) 85px; }
.fb-service-hero-copy h1 { max-width: 1100px; margin: 0; font-size: clamp(72px, 11vw, 168px); line-height: .76; letter-spacing: -.078em; text-transform: uppercase; }
.fb-service-hero-copy > p:not(.fb-section-label) { max-width: 720px; margin: 40px 0 0; color: #d0d1cc; font-size: 20px; line-height: 1.6; }
.fb-hero-cta { width: max-content; margin-top: 30px; }
.fb-paid-hero { min-height: 860px; padding-top: 94px; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; background: #0d0e0c; }
.fb-paid-hero::before { content: ""; position: absolute; inset: 94px 0 0; opacity: .32; background-image: linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(90deg, transparent, #000 46%, #000); }
.fb-paid-hero-copy { width: auto; padding: 90px 2vw 90px var(--fb-side); }
.fb-paid-hero-copy h1 { font-size: clamp(68px, 8.5vw, 130px); }
.fb-paid-hero-stage { position: relative; z-index: 2; min-width: 0; min-height: 650px; margin: 60px var(--fb-side) 60px 0; }
.fb-paid-hero-browser { position: absolute; top: 5%; right: 2%; width: 90%; overflow: hidden; border: 7px solid #171816; border-radius: 14px 14px 5px 5px; background: #171816; box-shadow: 0 35px 80px rgba(0, 0, 0, .55); }
.fb-paid-hero-browser-bar { height: 30px; padding: 0 13px; display: flex; align-items: center; gap: 6px; }
.fb-paid-hero-browser-bar i { width: 7px; height: 7px; border-radius: 50%; background: #555750; }
.fb-paid-hero-browser-bar i:first-child { background: var(--fb-lime); }
.fb-paid-hero-browser img { width: 100%; aspect-ratio: 1.6 / 1; object-fit: cover; object-position: top; }
.fb-paid-hero-phone { position: absolute; z-index: 3; right: 0; bottom: 4%; width: 23%; padding: 11px 5px 6px; overflow: hidden; border: 5px solid #171816; border-radius: 27px; background: #171816; box-shadow: 0 28px 60px rgba(0, 0, 0, .6); }
.fb-paid-hero-phone > span { width: 35%; height: 4px; margin: 0 auto 8px; display: block; border-radius: 10px; background: #555750; }
.fb-paid-hero-phone img { width: 100%; aspect-ratio: .46 / 1; object-fit: cover; object-position: top; border-radius: 13px; }
.fb-paid-hero-report { position: absolute; z-index: 4; left: 0; bottom: 5%; width: 58%; padding: 20px 22px; border: 1px solid #41433e; background: rgba(20, 21, 19, .96); box-shadow: 0 24px 55px rgba(0, 0, 0, .48); }
.fb-paid-hero-report > span { color: #969890; font: 9px/1.3 monospace; letter-spacing: .08em; text-transform: uppercase; }
.fb-paid-hero-report > div { margin-top: 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fb-paid-hero-report p { min-width: 0; margin: 0; padding-right: 13px; border-right: 1px solid #41433e; display: flex; flex-direction: column; }
.fb-paid-hero-report p + p { padding-left: 13px; }
.fb-paid-hero-report p:last-child { border-right: 0; }
.fb-paid-hero-report strong { color: var(--fb-paper); font-size: clamp(30px, 3.4vw, 52px); line-height: .85; }
.fb-paid-hero-report small { margin-top: 8px; color: #9ea099; font-size: 9px; line-height: 1.25; text-transform: uppercase; letter-spacing: .05em; }
.fb-definition-row { padding: 110px var(--fb-side); display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; background: #151614; }
.fb-definition-row h2, .fb-capability-columns h2, .fb-about-lead h2, .fb-ad-copy h2 { margin: 0; font-size: clamp(48px, 7vw, 104px); line-height: .86; letter-spacing: -.065em; text-transform: uppercase; }
.fb-definition-row > div > p { margin: 0 0 36px; color: #abadA5; font-size: 19px; line-height: 1.7; }
.fb-definition-row ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid #444640; display: grid; grid-template-columns: 1fr 1fr; }
.fb-definition-row li { padding: 17px 0; border-bottom: 1px solid #444640; color: #d7d8d3; text-transform: uppercase; font-size: 11px; letter-spacing: .1em; }
.fb-definition-row li:nth-child(even) { padding-left: 24px; border-left: 1px solid #444640; }

.fb-service-index { background: var(--fb-paper); color: var(--fb-ink); }
.fb-service-index-card { display: grid; grid-template-columns: .78fr 1.22fr; min-height: 470px; border-bottom: 1px solid #b8bab3; }
.fb-service-index-card:nth-child(even) { grid-template-columns: 1.22fr .78fr; }
.fb-service-index-card:nth-child(even) .fb-service-index-image { order: 2; }
.fb-service-index-image { position: relative; overflow: hidden; background: #d2d3cd; }
.fb-service-index-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.fb-service-index-play { position: absolute; left: 30px; bottom: 30px; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--fb-lime); color: var(--fb-ink); }
.fb-service-index-play .fb-play-icon { width: 22px; height: 22px; margin-left: 2px; }
.fb-service-index-image-mockup { position: relative; min-width: 0; padding: 48px; display: grid; place-items: center; background: #d7d7d1; }
.fb-service-index-image-mockup > img { height: auto; }
.fb-service-card-browser { position: relative; width: 88%; overflow: hidden; border: 6px solid #151614; border-radius: 11px 11px 4px 4px; background: #151614; box-shadow: 0 25px 55px rgba(0, 0, 0, .32); }
.fb-service-card-browser > div { height: 25px; padding: 0 10px; display: flex; align-items: center; gap: 5px; }
.fb-service-card-browser > div i { width: 6px; height: 6px; border-radius: 50%; background: #62645e; }
.fb-service-card-browser > div i:first-child { background: var(--fb-lime); }
.fb-service-card-browser img { width: 100%; height: auto; aspect-ratio: 1.6 / 1; object-fit: cover; object-position: top; }
.fb-service-card-phone { position: absolute; z-index: 2; right: 8%; bottom: 6%; width: 23%; padding: 9px 4px 5px; overflow: hidden; border: 5px solid #151614; border-radius: 23px; background: #151614; box-shadow: 0 22px 45px rgba(0, 0, 0, .42); }
.fb-service-card-phone > span { width: 34%; height: 4px; margin: 0 auto 6px; display: block; border-radius: 8px; background: #5c5e58; }
.fb-service-card-phone img { width: 100%; height: auto; aspect-ratio: .46 / 1; object-fit: cover; object-position: top; border-radius: 11px; }
.fb-service-index-image-paid { background: #151614; }
.fb-service-index-image-paid .fb-service-card-browser { width: 90%; transform: translateY(-7%); }
.fb-service-card-paid-report { position: absolute; z-index: 2; left: 7%; right: 12%; bottom: 7%; padding: 16px 18px; border: 1px solid #3f413c; background: rgba(12, 13, 11, .96); color: var(--fb-paper); box-shadow: 0 20px 42px rgba(0, 0, 0, .42); }
.fb-service-card-paid-report > span { color: #a0a29b; font: 9px/1 monospace; letter-spacing: .1em; text-transform: uppercase; }
.fb-service-card-paid-report > div { margin-top: 13px; display: grid; grid-template-columns: repeat(3, 1fr); }
.fb-service-card-paid-report p { margin: 0; display: flex; flex-direction: column; }
.fb-service-card-paid-report strong { font-size: clamp(24px, 3vw, 42px); line-height: .85; }
.fb-service-card-paid-report small { margin-top: 6px; color: #a0a29b; font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.fb-service-index-card:hover img { transform: scale(1.035); }
.fb-service-index-copy { position: relative; padding: 70px 6vw; display: grid; grid-template-columns: 70px 1fr auto; align-content: center; }
.fb-service-index-copy > span { color: #6a6c66; font: 11px/1 monospace; }
.fb-service-index-copy h2 { grid-column: 2 / -1; margin: 0; font-size: clamp(42px, 6vw, 86px); line-height: .88; letter-spacing: -.06em; text-transform: uppercase; }
.fb-service-index-copy p { grid-column: 2; max-width: 560px; margin: 25px 0 0; color: #5e605a; font-size: 17px; line-height: 1.6; }
.fb-service-index-copy > .fb-arrow-icon { grid-column: 3; grid-row: 2 / span 2; align-self: end; width: 54px; height: 54px; padding: 17px; border: 1px solid #8d8f89; border-radius: 50%; }

.fb-field-grid { padding: 18px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; background: var(--fb-paper); color: var(--fb-ink); }
.fb-field-grid figure { position: relative; min-height: 560px; margin: 0; overflow: hidden; }
.fb-field-grid figure:first-child { grid-row: span 2; }
.fb-field-grid figure:nth-child(2), .fb-field-grid figure:nth-child(3) { min-height: 400px; }
.fb-field-grid figure:last-child { grid-column: 1 / -1; min-height: 650px; }
.fb-field-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.fb-field-grid figure:hover img { transform: scale(1.025); }
.fb-field-grid figcaption { position: absolute; inset: auto 0 0; padding: 70px 24px 22px; display: flex; justify-content: space-between; gap: 20px; color: #fff; background: linear-gradient(transparent, rgba(0, 0, 0, .82)); text-transform: uppercase; font-size: 10px; letter-spacing: .1em; }
.fb-field-grid figcaption span { font-size: 17px; font-weight: 800; letter-spacing: 0; }
.fb-note-band { padding: 48px var(--fb-side); display: grid; grid-template-columns: .35fr 1.2fr auto; gap: 5vw; align-items: center; border-top: 1px solid #393a37; border-bottom: 1px solid #393a37; }
.fb-note-band > span { color: var(--fb-lime); font: 10px/1.4 monospace; text-transform: uppercase; letter-spacing: .12em; }
.fb-note-band p { margin: 0; color: #b2b3ad; font-size: 19px; line-height: 1.55; }
.fb-note-band a { min-height: 44px; padding-bottom: 7px; border-bottom: 1px solid #676963; display: flex; align-items: center; justify-content: space-between; gap: 14px; text-transform: uppercase; font-size: 10px; letter-spacing: .1em; }

.fb-video-stills { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; background: #4a4b47; }
.fb-video-stills figure { position: relative; min-height: 560px; margin: 0; overflow: hidden; background: #111; }
.fb-video-stills img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82); transition: transform .7s ease; }
.fb-video-stills figure:hover img { transform: scale(1.03); }
.fb-video-stills figcaption { position: absolute; left: 24px; bottom: 22px; padding: 9px 11px; background: var(--fb-lime); color: var(--fb-ink); text-transform: uppercase; font: 10px/1 monospace; letter-spacing: .1em; }

.fb-design-grid { padding: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; background: var(--fb-paper); color: var(--fb-ink); }
.fb-design-grid figure { margin: 0; background: #deded8; }
.fb-design-grid figure.fb-design-wide { grid-column: 1 / -1; }
.fb-design-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.fb-design-grid .fb-design-contained img { object-fit: contain; padding: clamp(18px, 3vw, 42px); background: #f4f3ef; }
.fb-design-grid .fb-design-wide img { aspect-ratio: 2 / 1; }
.fb-design-grid figcaption { padding: 20px 4px 28px; display: grid; grid-template-columns: 55px 1fr; border-top: 1px solid #b4b5af; }
.fb-design-grid figcaption > span { color: #555750; font: 11px/1 monospace; }
.fb-design-grid strong { text-transform: uppercase; font-size: 18px; }
.fb-design-grid p { margin: 5px 0 0; color: #4f514b; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.fb-capability-columns { padding: 110px var(--fb-side); display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; }
.fb-capability-tags { display: flex; flex-wrap: wrap; align-content: start; gap: 10px; }
.fb-capability-tags span { padding: 13px 16px; border: 1px solid #4c4e49; border-radius: 100px; color: #c0c1bc; text-transform: uppercase; font-size: 10px; letter-spacing: .1em; }

.fb-web-intro { display: grid; grid-template-columns: 1fr 1fr 1fr; background: #151614; color: var(--fb-paper); }
.fb-web-intro > div { min-height: 330px; padding: 50px 3.5vw; border-right: 1px solid rgba(255, 255, 255, .2); }
.fb-web-intro > div:last-child { border-right: 0; }
.fb-web-intro span { color: var(--fb-lime); font: 10px/1 monospace; text-transform: uppercase; letter-spacing: .12em; }
.fb-web-intro h2 { margin: 48px 0 18px; font-size: clamp(32px, 3.2vw, 54px); line-height: .92; letter-spacing: -.045em; text-transform: uppercase; }
.fb-web-intro p { max-width: 420px; margin: 0; color: #b2b4ad; line-height: 1.55; }
.fb-website-showcase { padding: 100px var(--fb-side); background: #f0efe9; color: var(--fb-ink); }
.fb-website-project { margin-bottom: 130px; }
.fb-website-project:last-child { margin-bottom: 0; }
.fb-device-stage { position: relative; min-height: 52vw; max-height: 820px; padding: 6vw 7vw; overflow: hidden; background: #d5d6cf; }
.fb-device-stage .fb-device-desktop, .fb-device-stage .fb-device-mobile { transition: transform .45s ease; }
.fb-device-stage:hover .fb-device-desktop { transform: scale(1.012); }
.fb-device-stage:hover .fb-device-mobile { transform: translateY(-7px); }
.fb-website-project:nth-child(3n+2) .fb-device-stage { background: #bfc1ba; }
.fb-website-project:nth-child(3n+2) .fb-browser-dots i:first-child { background: var(--fb-lime); }
.fb-website-project:nth-child(3n) .fb-device-stage { background: #20211f; }
.fb-device-desktop { position: relative; width: 86%; overflow: hidden; border: 9px solid #151614; border-radius: 15px 15px 5px 5px; background: #151614; box-shadow: 0 28px 70px rgba(0, 0, 0, .3); }
.fb-browser-dots { height: 24px; padding: 7px 9px; display: flex; gap: 5px; }
.fb-browser-dots i { width: 7px; height: 7px; border-radius: 50%; background: #767872; }
.fb-device-desktop img { width: 100%; aspect-ratio: 1.6 / 1; object-fit: cover; object-position: top; }
.fb-device-mobile { position: absolute; z-index: 2; right: 7%; bottom: 4vw; width: 22%; padding: 13px 6px; overflow: hidden; border: 6px solid #151614; border-radius: 28px; background: #151614; box-shadow: 0 28px 55px rgba(0, 0, 0, .42); }
.fb-device-mobile > span { width: 34%; height: 5px; margin: 0 auto 8px; display: block; border-radius: 8px; background: #555752; }
.fb-device-mobile img { width: 100%; aspect-ratio: .46 / 1; object-fit: cover; object-position: top; border-radius: 12px; }
.fb-website-meta { padding-top: 26px; display: grid; grid-template-columns: 70px 1fr auto; gap: 24px; border-top: 1px solid #94968f; }
.fb-website-meta > span { font: 11px/1 monospace; color: #555750; }
.fb-website-meta h2 { margin: 0; text-transform: uppercase; font-size: clamp(30px, 4vw, 58px); line-height: .9; letter-spacing: -.05em; }
.fb-website-meta p { max-width: 590px; margin: 15px 0 0; color: #64665f; line-height: 1.55; }
.fb-website-meta h2 a { transition: color .2s; }
.fb-website-meta h2 a:hover { color: #687814; }
.fb-website-meta > a { max-width: 100%; min-height: 44px; align-self: start; padding-bottom: 8px; border-bottom: 1px solid #767872; display: flex; align-items: center; justify-content: space-between; gap: 12px; overflow-wrap: anywhere; text-transform: uppercase; font-size: 10px; letter-spacing: .08em; }

.fb-paid-process { display: grid; grid-template-columns: 1fr 1fr; background: var(--fb-paper); color: var(--fb-ink); }
.fb-paid-process > div { min-height: 380px; padding: 65px 5vw; border-right: 1px solid #b9bbb4; border-bottom: 1px solid #b9bbb4; }
.fb-paid-process > div:nth-child(even) { border-right: 0; }
.fb-paid-process span, .fb-values span { color: #6c6e68; font: 11px/1 monospace; }
.fb-paid-process h2, .fb-values h2 { margin: 85px 0 18px; font-size: clamp(32px, 4vw, 58px); line-height: .92; letter-spacing: -.05em; text-transform: uppercase; }
.fb-paid-process p, .fb-values p { max-width: 540px; margin: 0; color: #62645e; line-height: 1.6; }
.fb-ad-creative { padding: 120px var(--fb-side); display: grid; grid-template-columns: .75fr 1.25fr; gap: 7vw; align-items: center; }
.fb-ad-copy > p:not(.fb-section-label) { margin: 32px 0; color: #acaea7; font-size: 18px; line-height: 1.65; }
.fb-landing-mockups { display: grid; gap: 72px; }
.fb-landing-mockup { position: relative; min-width: 0; padding: 0 9% 56px 0; display: block; }
.fb-landing-browser { overflow: hidden; border: 7px solid #111210; border-radius: 13px 13px 4px 4px; background: #111210; box-shadow: 0 28px 68px rgba(0, 0, 0, .35); }
.fb-landing-browser-bar { height: 30px; padding: 0 13px; display: flex; align-items: center; gap: 6px; background: #111210; }
.fb-landing-browser-bar i { width: 7px; height: 7px; border-radius: 50%; background: #656760; }
.fb-landing-browser-bar i:first-child { background: var(--fb-lime); }
.fb-landing-browser img { width: 100%; aspect-ratio: 1.6 / 1; object-fit: cover; object-position: top; }
.fb-landing-phone { position: absolute; z-index: 2; right: 0; bottom: 30px; width: 25%; padding: 11px 5px 6px; overflow: hidden; border: 5px solid #111210; border-radius: 26px; background: #111210; box-shadow: 0 24px 50px rgba(0, 0, 0, .45); }
.fb-landing-phone > span { width: 34%; height: 4px; margin: 0 auto 8px; display: block; border-radius: 10px; background: #5e605a; }
.fb-landing-phone img { width: 100%; aspect-ratio: .46 / 1; object-fit: cover; object-position: top; border-radius: 13px; }
.fb-landing-caption { margin-top: 18px; padding-top: 15px; border-top: 1px solid #4b4d48; display: grid; grid-template-columns: 1fr auto; gap: 7px 20px; }
.fb-landing-caption span { color: #8f918b; font: 10px/1.2 monospace; letter-spacing: .1em; text-transform: uppercase; }
.fb-landing-caption strong { grid-column: 1; font-size: clamp(22px, 2.4vw, 34px); line-height: .95; text-transform: uppercase; }
.fb-landing-caption svg { grid-column: 2; grid-row: 1 / span 2; width: 18px; align-self: end; color: var(--fb-lime); }
.fb-report-showcase { padding: 120px var(--fb-side); background: var(--fb-paper); color: var(--fb-ink); }
.fb-report-heading { margin-bottom: 64px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 7vw; align-items: end; }
.fb-report-heading .fb-section-label { color: #5f615b; }
.fb-report-heading h2 { max-width: 900px; margin: 0; font-size: clamp(52px, 7vw, 104px); line-height: .84; letter-spacing: -.065em; text-transform: uppercase; }
.fb-report-heading > p { max-width: 480px; margin: 0 0 7px; padding-top: 20px; border-top: 1px solid #9b9d96; color: #60625c; font-size: 17px; line-height: 1.6; }
.fb-report-shell { overflow: hidden; border: 1px solid #adafa8; background: #fff; box-shadow: 0 28px 70px rgba(20, 22, 18, .14); }
.fb-report-toolbar { min-height: 74px; padding: 20px 26px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid #d1d2cc; background: #151614; color: #f0efe9; text-transform: uppercase; font-size: 11px; letter-spacing: .09em; }
.fb-report-toolbar strong { display: flex; align-items: center; gap: 10px; }
.fb-report-toolbar i { width: 9px; height: 9px; border-radius: 50%; background: var(--fb-lime); box-shadow: 0 0 0 5px rgba(203, 221, 101, .12); }
.fb-report-toolbar span { color: #aeb0a9; font: 10px/1.4 monospace; }
.fb-report-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fb-report-kpis article { min-width: 0; min-height: 210px; padding: 28px; border-right: 1px solid #d1d2cc; border-bottom: 1px solid #d1d2cc; display: flex; flex-direction: column; }
.fb-report-kpis article:last-child { border-right: 0; }
.fb-report-kpis span { color: #5f615b; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.fb-report-kpis strong { margin: auto 0 9px; font-size: clamp(52px, 5.2vw, 78px); line-height: .8; letter-spacing: -.06em; }
.fb-report-kpis small { color: #73756e; font-size: 11px; }
.fb-report-kpis .fb-report-positive { width: max-content; padding: 7px 9px; background: var(--fb-lime); color: var(--fb-ink); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.fb-report-detail { display: grid; grid-template-columns: 1.15fr .85fr; }
.fb-report-sources, .fb-report-insights { min-width: 0; padding: 34px 28px 40px; }
.fb-report-sources { border-right: 1px solid #d1d2cc; }
.fb-report-panel-title { margin-bottom: 34px; display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.fb-report-panel-title span { font-size: 19px; font-weight: 800; text-transform: uppercase; }
.fb-report-panel-title small { color: #777971; font: 10px/1 monospace; text-transform: uppercase; letter-spacing: .08em; }
.fb-report-sources ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 19px; }
.fb-report-sources li { display: grid; grid-template-columns: 165px minmax(80px, 1fr) 38px; gap: 16px; align-items: center; }
.fb-report-sources li > span { color: #52544e; font-size: 12px; }
.fb-report-sources li > i { height: 10px; overflow: hidden; background: #e4e5df; }
.fb-report-sources li > i b { height: 100%; display: block; background: var(--fb-lime); }
.fb-report-sources li > strong { text-align: right; font-size: 12px; }
.fb-report-insights article { padding: 18px 0; border-top: 1px solid #d1d2cc; display: grid; grid-template-columns: 34px 1fr; gap: 12px; }
.fb-report-insights article > span { color: #74766f; font: 10px/1 monospace; }
.fb-report-insights p { margin: 0; color: #656760; font-size: 13px; line-height: 1.55; }
.fb-report-insights p strong { margin-bottom: 4px; display: block; color: var(--fb-ink); font-size: 14px; }
.fb-report-shell > footer { padding: 17px 28px; border-top: 1px solid #d1d2cc; color: #74766f; background: #f4f3ee; font: 10px/1.5 monospace; text-transform: uppercase; letter-spacing: .06em; }

.fb-about-lead { padding: 18px 18px 110px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 7vw; align-items: center; }
.fb-about-image { min-height: 760px; overflow: hidden; }
.fb-about-image img { width: 100%; height: 100%; min-height: 760px; object-fit: cover; }
.fb-about-lead > div:last-child { padding-right: var(--fb-side); }
.fb-about-lead > div:last-child > p:not(.fb-section-label) { color: #adafa8; font-size: 18px; line-height: 1.7; }
.fb-values { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--fb-paper); color: var(--fb-ink); }
.fb-values article { min-height: 390px; padding: 55px 4vw; border-top: 3px solid var(--fb-lime); border-right: 1px solid #b9bbb4; }
.fb-values article:last-child { border-right: 0; }
.fb-values h2 { margin-top: 100px; }
.fb-team { padding: 110px var(--fb-side); background: #151614; }
.fb-team-heading { margin-bottom: 62px; display: grid; grid-template-columns: 1.3fr .7fr; gap: 8vw; align-items: end; }
.fb-team-heading > * { min-width: 0; }
.fb-team-heading h2 { max-width: 900px; margin: 0; font-size: clamp(52px, 7vw, 104px); line-height: .84; letter-spacing: -.065em; text-transform: uppercase; }
.fb-team-heading > p { max-width: 470px; margin: 0 0 6px; padding-top: 20px; border-top: 1px solid #444640; color: #b1b3ac; font-size: 17px; line-height: 1.6; }
.fb-team-lead { display: grid; grid-template-columns: .78fr 1.22fr; border-top: 3px solid var(--fb-lime); background: var(--fb-paper); color: var(--fb-ink); }
.fb-team-lead-image { min-height: 680px; overflow: hidden; }
.fb-team-lead-image img, .fb-team-card-image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .7s ease; }
.fb-team-lead:hover img, .fb-team-card:hover img { transform: scale(1.025); }
.fb-team-lead-copy { padding: 74px 6vw; display: flex; flex-direction: column; justify-content: center; }
.fb-team-lead-copy > span, .fb-team-card-copy > span { color: #555750; font: 10px/1 monospace; letter-spacing: .1em; text-transform: uppercase; }
.fb-team-lead h3 { margin: 42px 0 9px; font-size: clamp(27px, 2.5vw, 40px); line-height: .9; letter-spacing: -.045em; text-transform: uppercase; }
.fb-team-role { margin: 0 0 34px !important; color: #5e605a !important; font: 11px/1.35 monospace; letter-spacing: .1em; text-transform: uppercase; }
.fb-team-lead-copy > p:last-child { max-width: 650px; margin: 0; color: #5f615a; font-size: 14px; line-height: 1.58; }
.fb-team-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.fb-team-card { min-width: 0; border-top: 3px solid var(--fb-lime); background: var(--fb-paper); color: var(--fb-ink); }
.fb-team-card-image { aspect-ratio: 4 / 5; overflow: hidden; background: #d5d6cf; }
.fb-team-card-copy { padding: 28px 24px 34px; }
.fb-team-card h3 { margin: 42px 0 9px; font-size: clamp(27px, 2.5vw, 40px); line-height: .9; letter-spacing: -.045em; text-transform: uppercase; }
.fb-team-card-copy > p:last-child { margin: 0; color: #5f615a; font-size: 14px; line-height: 1.58; }
.fb-about-mosaic { padding: 18px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; background: var(--fb-paper); }
.fb-about-mosaic figure { margin: 0; min-height: 420px; overflow: hidden; }
.fb-about-mosaic figure:first-child { grid-row: span 2; }
.fb-about-mosaic img { width: 100%; height: 100%; object-fit: cover; }

.fb-work-index { padding: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; background: var(--fb-paper); color: var(--fb-ink); }
.fb-work-index-card { position: relative; min-height: 620px; overflow: hidden; }
.fb-work-index-card:nth-child(3n+1) { grid-column: 1 / -1; min-height: 780px; }
.fb-work-index-card > img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.fb-work-index-card:hover > img { transform: scale(1.025); }
.fb-work-index-card > div { position: absolute; inset: auto 0 0; padding: 85px 24px 24px; display: grid; grid-template-columns: 50px 1fr auto; color: #fff; background: linear-gradient(transparent, rgba(0, 0, 0, .86)); }
.fb-work-index-card span { font: 11px/1 monospace; }
.fb-work-index-card h2 { margin: 0; text-transform: uppercase; font-size: clamp(30px, 5vw, 72px); line-height: .9; letter-spacing: -.05em; }
.fb-work-index-card p { grid-column: 2; margin: 9px 0 0; text-transform: uppercase; font-size: 10px; letter-spacing: .1em; }
.fb-work-index-card b { grid-column: 3; grid-row: 1 / span 2; align-self: end; font-size: 24px; }
.fb-architecture-gallery-full { grid-template-columns: 1.25fr .75fr; }
.fb-architecture-gallery-full figure:nth-child(3) { grid-column: 1 / -1; min-height: 760px; }

@media (max-width: 980px) {
  .fb-page-hero-split, .fb-definition-row, .fb-capability-columns, .fb-about-lead, .fb-ad-creative { grid-template-columns: 1fr; }
  .fb-page-hero-split h1 { font-size: clamp(68px, 12vw, 96px); }
  .fb-page-hero-split { gap: 35px; }
  .fb-page-hero-split .fb-page-deck { margin: 0; }
  .fb-service-hero { min-height: 780px; }
  .fb-service-hero-copy { width: 100%; padding: 140px 22px 65px; }
  .fb-service-hero-copy h1 { font-size: clamp(68px, 12vw, 96px); }
	.fb-paid-hero { min-height: 0; padding-top: 94px; grid-template-columns: 1fr; }
	.fb-paid-hero-copy { padding: 80px 22px 30px; }
	.fb-paid-hero-stage { min-height: 600px; margin: 0 22px 65px; }
  .fb-definition-row { padding: 80px 22px; gap: 42px; }
  .fb-service-index-card, .fb-service-index-card:nth-child(even) { grid-template-columns: 1fr; }
  .fb-service-index-card:nth-child(even) .fb-service-index-image { order: 0; }
  .fb-service-index-image { min-height: 420px; }
	.fb-service-index-image-mockup { padding: 42px 32px; }
  .fb-service-index-copy { padding: 55px 22px; }
  .fb-field-grid { grid-template-columns: 1fr; }
  .fb-field-grid figure:first-child, .fb-field-grid figure:last-child { grid-row: auto; grid-column: auto; min-height: 520px; }
  .fb-note-band { grid-template-columns: 1fr; gap: 20px; }
  .fb-video-stills { grid-template-columns: 1fr; }
  .fb-video-stills figure { min-height: 500px; }
  .fb-web-intro { grid-template-columns: 1fr; }
  .fb-web-intro > div { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .2); }
  .fb-website-showcase { padding: 70px 22px; }
  .fb-device-stage { min-height: 62vw; padding: 6vw; }
  .fb-device-desktop { width: 88%; }
  .fb-device-mobile { width: 24%; right: 5%; }
  .fb-website-meta { grid-template-columns: 45px 1fr; }
  .fb-website-meta > a { grid-column: 2; width: max-content; }
  .fb-ad-creative { gap: 55px; }
  .fb-about-lead { padding: 18px 18px 80px; }
  .fb-about-lead > div:last-child { padding: 0 22px; }
  .fb-values { grid-template-columns: 1fr; }
  .fb-values article { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(0, 0, 0, .3); }
  .fb-values h2 { margin-top: 55px; }
  .fb-team { padding: 82px 22px; }
  .fb-team-heading { grid-template-columns: 1fr; gap: 30px; }
	.fb-report-heading, .fb-report-detail { grid-template-columns: 1fr; }
	.fb-report-heading { gap: 30px; }
	.fb-report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fb-report-kpis article:nth-child(2) { border-right: 0; }
	.fb-report-sources { border-right: 0; border-bottom: 1px solid #d1d2cc; }
  .fb-team-lead { grid-template-columns: 1fr; }
  .fb-team-lead-image { min-height: 620px; }
  .fb-team-lead-copy { padding: 58px 7vw 68px; }
  .fb-team-lead h3 { margin-top: 42px; }
  .fb-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .fb-hero h1 { font-size: clamp(52px, 15vw, 64px); line-height: .84; }
  .fb-page-hero h1, .fb-page-hero-split h1, .fb-service-hero-copy h1 { font-size: clamp(46px, 12vw, 52px); line-height: .84; }
	.fb-paid-hero-copy { padding-top: 66px; }
	.fb-paid-hero-stage { min-height: 430px; margin: 0 16px 50px; }
	.fb-paid-hero-browser { top: 2%; right: 0; width: 96%; border-width: 4px; border-radius: 9px 9px 3px 3px; }
	.fb-paid-hero-browser-bar { height: 22px; padding: 0 9px; gap: 4px; }
	.fb-paid-hero-browser-bar i { width: 5px; height: 5px; }
	.fb-paid-hero-phone { right: 0; bottom: 4%; width: 28%; padding: 7px 3px 4px; border-width: 4px; border-radius: 18px; }
	.fb-paid-hero-phone > span { height: 3px; margin-bottom: 4px; }
	.fb-paid-hero-phone img { border-radius: 8px; }
	.fb-paid-hero-report { left: 0; bottom: 4%; width: 70%; padding: 14px; }
	.fb-paid-hero-report > span { font-size: 7px; }
	.fb-paid-hero-report > div { margin-top: 12px; }
	.fb-paid-hero-report p { padding-right: 7px; }
	.fb-paid-hero-report p + p { padding-left: 7px; }
	.fb-paid-hero-report strong { font-size: 27px; }
	.fb-paid-hero-report small { font-size: 7px; }
  .fb-contact-band h2 { font-size: clamp(48px, 14vw, 58px); line-height: .82; }
  .fb-definition-row ul, .fb-design-grid, .fb-paid-process, .fb-work-index, .fb-architecture-gallery-full { grid-template-columns: 1fr; }
  .fb-definition-row li:nth-child(even) { padding-left: 0; border-left: 0; }
  .fb-service-index-image { min-height: 320px; }
	.fb-service-index-image-mockup { padding: 28px 22px; }
	.fb-service-card-browser { width: 91%; border-width: 4px; border-radius: 8px 8px 3px 3px; }
	.fb-service-card-browser > div { height: 19px; padding: 0 7px; gap: 4px; }
	.fb-service-card-browser > div i { width: 5px; height: 5px; }
	.fb-service-card-phone { right: 5%; bottom: 6%; width: 25%; padding: 6px 3px 4px; border-width: 4px; border-radius: 16px; }
	.fb-service-card-phone > span { height: 3px; margin-bottom: 4px; }
	.fb-service-card-phone img { border-radius: 7px; }
	.fb-service-card-paid-report { left: 5%; right: 9%; bottom: 5%; padding: 13px 14px; }
  .fb-service-index-copy { grid-template-columns: 32px minmax(0, 1fr); gap: 8px; }
  .fb-service-index-copy h2 { grid-column: 2; }
  .fb-service-index-copy h2 { font-size: clamp(32px, 9.4vw, 38px); }
  .fb-service-index-copy > .fb-arrow-icon { display: none; }
  .fb-design-grid figure.fb-design-wide, .fb-work-index-card:nth-child(3n+1), .fb-architecture-gallery-full figure:nth-child(3) { grid-column: auto; }
  .fb-design-grid .fb-design-wide img, .fb-design-grid img { aspect-ratio: 4 / 3; }
  .fb-capability-columns { padding: 80px 22px; }
  .fb-device-stage { min-height: 77vw; padding: 8vw 4vw; }
  .fb-device-desktop { width: 92%; border-width: 5px; }
  .fb-browser-dots { height: 18px; padding: 5px 6px; }
  .fb-device-mobile { width: 27%; right: 3%; bottom: 5vw; padding: 7px 3px; border-width: 4px; border-radius: 16px; }
  .fb-device-mobile > span { height: 3px; margin-bottom: 4px; }
  .fb-device-mobile img { border-radius: 7px; }
  .fb-website-project { margin-bottom: 85px; }
  .fb-paid-process > div { min-height: 0; border-right: 0; }
  .fb-paid-process h2 { margin-top: 55px; }
  .fb-team-heading h2 { font-size: clamp(46px, 13vw, 58px); }
  .fb-team-lead-image { min-height: 0; aspect-ratio: 4 / 5; }
  .fb-team-lead-copy { padding: 42px 22px 50px; }
  .fb-team-lead h3 { margin-top: 42px; font-size: clamp(31px, 9vw, 40px); }
  .fb-work-card-site .fb-device-stage { min-height: 88vw; padding: 8vw 4vw 18vw; }
  .fb-team-grid { grid-template-columns: 1fr; }
  .fb-team-card h3 { font-size: clamp(31px, 9vw, 40px); }
  .fb-landing-mockups { gap: 58px; }
  .fb-landing-mockup { padding-right: 8%; padding-bottom: 42px; }
  .fb-landing-browser { border-width: 4px; border-radius: 8px 8px 3px 3px; }
  .fb-landing-browser-bar { height: 22px; padding: 0 9px; gap: 4px; }
  .fb-landing-browser-bar i { width: 5px; height: 5px; }
  .fb-landing-phone { bottom: 24px; width: 27%; padding: 7px 3px 4px; border-width: 4px; border-radius: 17px; }
  .fb-landing-phone > span { height: 3px; margin-bottom: 4px; }
  .fb-landing-phone img { border-radius: 8px; }
  .fb-landing-caption { margin-top: 14px; padding-top: 13px; }
  .fb-landing-caption strong { font-size: clamp(21px, 7vw, 29px); }
	.fb-report-showcase { padding: 80px 22px; }
	.fb-report-heading { margin-bottom: 42px; }
	.fb-report-heading h2 { font-size: clamp(46px, 13vw, 58px); }
	.fb-report-kpis { grid-template-columns: 1fr; }
	.fb-report-kpis article, .fb-report-kpis article:nth-child(2) { min-height: 170px; padding: 24px; border-right: 0; }
	.fb-report-kpis strong { font-size: 60px; }
	.fb-report-toolbar { align-items: flex-start; flex-direction: column; }
	.fb-report-sources, .fb-report-insights { padding: 28px 22px 34px; }
	.fb-report-sources li { grid-template-columns: 126px minmax(55px, 1fr) 32px; gap: 9px; }
	.fb-report-sources li > span { font-size: 10px; }
  .fb-about-image, .fb-about-image img { min-height: 520px; }
  .fb-about-mosaic { grid-template-columns: 1fr; }
  .fb-about-mosaic figure:first-child { grid-row: auto; }
  .fb-work-index-card, .fb-work-index-card:nth-child(3n+1) { min-height: 520px; }
}

/* 2026 portfolio expansion. */
.fb-work-hero { padding-bottom: 72px; }
.fb-work-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 7vw; align-items: end; }
.fb-work-hero-grid > * { min-width: 0; }
.fb-work-hero-grid h1 { margin: 0; font-size: clamp(64px, 9vw, 138px); line-height: .79; letter-spacing: -.07em; text-transform: uppercase; }
.fb-work-hero-grid p { max-width: 560px; margin: 0 0 8px; color: #b5b7b0; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.6; }
.fb-work-service-jump { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #151614; color: var(--fb-paper); }
.fb-work-service-jump a { min-width: 0; min-height: 132px; padding: 24px 30px; border-right: 1px solid rgba(255, 255, 255, .18); border-bottom: 1px solid rgba(255, 255, 255, .18); display: grid; grid-template-columns: 34px minmax(0, 1fr) 22px; gap: 13px; align-items: end; font-size: clamp(16px, 1.7vw, 25px); font-weight: 800; line-height: 1; text-transform: uppercase; letter-spacing: -.025em; transition: background .2s ease; }
.fb-work-service-jump a:hover { background: #20211f; }
.fb-work-service-jump a:nth-child(3n) { border-right: 0; }
.fb-work-service-jump a > span { align-self: start; color: var(--fb-lime); font: 10px/1 monospace; }
.fb-work-service-jump .fb-arrow-icon { width: 18px; height: 18px; color: var(--fb-lime); }
.fb-work-projects { padding: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; background: var(--fb-paper); color: var(--fb-ink); }
.fb-work-project { min-width: 0; border-bottom: 1px solid #aaaCA5; display: block; }
.fb-work-project-wide { grid-column: 1 / -1; }
.fb-work-project-image { aspect-ratio: 16 / 10; overflow: hidden; background: #d8d9d3; }
.fb-work-project-wide .fb-work-project-image { aspect-ratio: 2 / 1; }
.fb-work-project-image img { width: 100%; height: 100%; object-fit: cover; }
.fb-work-project-meta { padding: 22px 4px 28px; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; align-items: start; }
.fb-work-project-meta > span { color: #555750; font: 10px/1 monospace; }
.fb-work-project-meta p { margin: 0 0 8px; color: #6c6e68; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.fb-work-project-meta h2 { margin: 0; font-size: clamp(26px, 3.3vw, 54px); line-height: .88; letter-spacing: -.05em; text-transform: uppercase; }
.fb-work-project-meta strong { margin-top: 8px; display: block; color: #686a64; font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }

.fb-commercial-hero > img { object-position: center 48%; }
.fb-commercial-category-heading { padding: 94px var(--fb-side) 70px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 8vw; align-items: end; background: var(--fb-paper); color: var(--fb-ink); }
.fb-commercial-category-heading .fb-section-label { grid-column: 1 / -1; margin-bottom: -28px; color: #657214; }
.fb-commercial-category-heading h2, .fb-event-coverage-heading h2 { max-width: 920px; margin: 0; font-size: clamp(52px, 7.5vw, 108px); line-height: .85; letter-spacing: -.065em; text-transform: uppercase; }
.fb-commercial-category-heading > p:last-child, .fb-event-coverage-heading > p:last-child { max-width: 560px; margin: 0; font-size: 18px; line-height: 1.65; }
.fb-commercial-gallery { padding: 18px; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; background: var(--fb-paper); }
.fb-commercial-shot { position: relative; min-width: 0; min-height: 500px; margin: 0; overflow: hidden; background: #c8c9c3; }
.fb-commercial-shot-1 { grid-column: 1 / 8; min-height: 720px; }
.fb-commercial-shot-2 { grid-column: 8 / -1; min-height: 720px; }
.fb-commercial-shot-3 { grid-column: 1 / -1; min-height: 660px; }
.fb-commercial-shot-4 { grid-column: 1 / 7; min-height: 590px; }
.fb-commercial-shot-5 { grid-column: 7 / -1; min-height: 590px; }
.fb-commercial-shot-6 { grid-column: 1 / 8; min-height: 610px; }
.fb-commercial-shot-7 { grid-column: 8 / -1; min-height: 610px; }
.fb-commercial-shot img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.fb-commercial-shot:hover img { transform: scale(1.025); }
.fb-commercial-shot figcaption { position: absolute; inset: auto 0 0; padding: 105px 24px 24px; display: grid; grid-template-columns: 44px minmax(0, 1fr); color: #fff; background: linear-gradient(transparent, rgba(0, 0, 0, .85)); }
.fb-commercial-shot figcaption > span { font: 10px/1 monospace; }
.fb-commercial-shot figcaption p { margin: 0 0 7px; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.fb-commercial-shot figcaption strong { font-size: clamp(22px, 2.3vw, 38px); line-height: .95; text-transform: uppercase; }
.fb-event-coverage { padding: 110px var(--fb-side); background: #151614; color: var(--fb-paper); }
.fb-event-coverage-heading { margin-bottom: 64px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 8vw; align-items: end; }
.fb-event-coverage-heading .fb-section-label { grid-column: 1 / -1; margin-bottom: -28px; }
.fb-event-coverage-heading > p:last-child { color: #abadA5; }
.fb-event-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.fb-event-card { min-width: 0; margin: 0; }
.fb-event-card > img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.fb-event-card figcaption { padding: 20px 0 34px; display: grid; grid-template-columns: 44px minmax(0, 1fr); border-top: 1px solid #444640; }
.fb-event-card figcaption > span { padding-top: 4px; color: #8f9289; font: 10px/1 monospace; }
.fb-event-card figcaption p { margin: 0 0 8px; color: #abadA5; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.fb-event-card figcaption strong { font-size: clamp(24px, 2.6vw, 42px); line-height: .95; text-transform: uppercase; }

.fb-video-projects { padding: 110px var(--fb-side); background: var(--fb-paper); color: var(--fb-ink); }
.fb-video-project-heading { margin-bottom: 64px; display: grid; grid-template-columns: .55fr 1.1fr .75fr; gap: 5vw; align-items: end; }
.fb-video-project-heading > * { min-width: 0; }
.fb-video-project-heading h2 { margin: 0; font-size: clamp(48px, 6.2vw, 92px); line-height: .84; letter-spacing: -.065em; text-transform: uppercase; }
.fb-video-project-heading > p:last-child { margin: 0 0 5px; color: #656760; line-height: 1.6; }
.fb-video-project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 58px 18px; }
.fb-video-project-card { min-width: 0; }
.fb-video-project-image { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #151614; }
.fb-video-project-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.fb-video-project-card:hover img { transform: scale(1.025); }
.fb-video-project-image > span { position: absolute; left: 22px; bottom: 22px; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: var(--fb-lime); color: var(--fb-ink); }
.fb-video-project-image .fb-play-icon { width: 18px; height: 18px; margin-left: 2px; }
.fb-video-project-meta { padding: 21px 3px 0; display: grid; grid-template-columns: 48px minmax(0, 1fr); border-top: 1px solid #a9aba4; }
.fb-video-project-meta > span { color: #74766f; font: 10px/1 monospace; }
.fb-video-project-meta p { margin: 0 0 8px; color: #6c6e68; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.fb-video-project-meta h3 { margin: 0; font-size: clamp(25px, 3vw, 44px); line-height: .9; letter-spacing: -.04em; text-transform: uppercase; }
.fb-video-project-meta strong { margin-top: 8px; display: block; color: #666861; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; }
.fb-video-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #151614; color: var(--fb-paper); }
.fb-video-process > div { min-width: 0; min-height: 330px; padding: 42px 3vw; border-right: 1px solid rgba(255, 255, 255, .2); }
.fb-video-process > div:last-child { border-right: 0; }
.fb-video-process span { color: var(--fb-lime); font: 10px/1 monospace; }
.fb-video-process h3 { margin: 100px 0 17px; font-size: clamp(30px, 3.2vw, 50px); line-height: .9; letter-spacing: -.045em; text-transform: uppercase; }
.fb-video-process p { max-width: 320px; margin: 0; color: #b1b3ac; line-height: 1.5; }

.fb-brandbook-showcase { padding: 110px var(--fb-side); background: var(--fb-paper); color: var(--fb-ink); }
.fb-brandbook-heading { margin-bottom: 62px; display: grid; grid-template-columns: .45fr 1.55fr; gap: 6vw; align-items: end; }
.fb-brandbook-heading h2 { max-width: 1050px; margin: 0; font-size: clamp(46px, 6.1vw, 92px); line-height: .84; letter-spacing: -.064em; text-transform: uppercase; }
.fb-brandbook-grid, .fb-identity-showcase { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.fb-brandbook-grid figure, .fb-identity-card { min-width: 0; margin: 0; }
.fb-brandbook-grid img, .fb-identity-card > div img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.fb-brandbook-grid figure:nth-child(2) img { object-position: top; }
.fb-brandbook-grid figcaption, .fb-identity-card figcaption { padding: 20px 3px 28px; display: grid; grid-template-columns: 48px minmax(0, 1fr); border-top: 1px solid #a9aba4; }
.fb-brandbook-grid figcaption > span, .fb-identity-card figcaption > span { color: #555750; font: 10px/1 monospace; }
.fb-brandbook-grid strong, .fb-identity-card strong { font-size: 20px; text-transform: uppercase; }
.fb-brandbook-grid p, .fb-identity-card p { margin: 5px 0 0; color: #4f514b; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.fb-identity-showcase { padding: 18px; background: #e4e3dd; color: var(--fb-ink); }
.fb-identity-card > div { overflow: hidden; background: #d4d5cf; }
.fb-identity-card > div img { display: block; transition: transform .7s ease; }
.fb-identity-card:hover > div img { transform: scale(1.025); }
.fb-design-grid-refined { padding-top: 0; }
.fb-brandbook-showcase .fb-section-label,
.fb-video-projects .fb-section-label { color: #565852; }

.fb-architecture-gallery-complete { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fb-architecture-gallery-complete figure,
.fb-architecture-gallery-complete figure:nth-child(5n+2),
.fb-architecture-gallery-complete figure:nth-child(5n+3),
.fb-architecture-gallery-complete figure:nth-child(5n+4),
.fb-architecture-gallery-complete figure:nth-child(5n+5) {
  grid-column: span 1;
  min-width: 0;
  min-height: 0;
  height: auto;
  aspect-ratio: 3 / 2;
}
.fb-architecture-gallery-complete figure:nth-child(5n+1) {
  grid-column: 1 / -1;
  height: auto;
  aspect-ratio: 16 / 9;
}
.fb-architecture-gallery-complete img { transition: transform .7s ease; }
.fb-architecture-gallery-complete figure:hover img { transform: scale(1.02); }
.fb-residential-projects { padding: 110px var(--fb-side); background: var(--fb-paper); color: var(--fb-ink); }
.fb-residential-heading { margin-bottom: 56px; display: grid; grid-template-columns: .45fr 1.25fr .7fr; gap: 5vw; align-items: end; }
.fb-residential-heading > * { min-width: 0; }
.fb-residential-heading .fb-section-label { color: #565852; }
.fb-residential-heading h2 { margin: 0; font-size: clamp(44px, 5.6vw, 84px); line-height: .86; letter-spacing: -.06em; text-transform: uppercase; }
.fb-residential-heading > p:last-child { margin: 0 0 4px; color: #656760; font-size: 16px; line-height: 1.6; }
.fb-residential-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 46px 18px; }
.fb-residential-grid figure { min-width: 0; margin: 0; }
.fb-residential-grid figure > div { aspect-ratio: 3 / 2; overflow: hidden; background: #d8d9d3; }
.fb-residential-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.fb-residential-grid figure:hover img { transform: scale(1.02); }
.fb-residential-grid figcaption { padding: 20px 3px 0; border-top: 1px solid #a9aba4; display: grid; grid-template-columns: 48px minmax(0, 1fr); }
.fb-residential-grid figcaption > span { color: #5a5c56; font: 10px/1 monospace; }
.fb-residential-grid strong { font-size: clamp(20px, 2.2vw, 34px); line-height: .95; text-transform: uppercase; }
.fb-residential-grid p { margin: 7px 0 0; color: #666861; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 980px) {
  .fb-work-hero-grid, .fb-video-project-heading, .fb-brandbook-heading { grid-template-columns: 1fr; gap: 30px; }
  .fb-work-service-jump { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fb-work-service-jump a:nth-child(3n) { border-right: 1px solid rgba(255, 255, 255, .18); }
  .fb-work-service-jump a:nth-child(even) { border-right: 0; }
  .fb-commercial-shot-1, .fb-commercial-shot-2, .fb-commercial-shot-3, .fb-commercial-shot-4, .fb-commercial-shot-5, .fb-commercial-shot-6, .fb-commercial-shot-7 { min-height: 520px; }
  .fb-commercial-shot-1, .fb-commercial-shot-4, .fb-commercial-shot-6 { grid-column: 1 / 7; }
  .fb-commercial-shot-2, .fb-commercial-shot-5, .fb-commercial-shot-7 { grid-column: 7 / -1; }
  .fb-commercial-shot-3 { grid-column: 1 / -1; }
  .fb-commercial-category-heading, .fb-event-coverage-heading { grid-template-columns: 1fr; gap: 30px; }
  .fb-commercial-category-heading .fb-section-label, .fb-event-coverage-heading .fb-section-label { margin-bottom: 0; }
  .fb-video-projects, .fb-brandbook-showcase { padding: 82px 22px; }
  .fb-video-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fb-video-process > div:nth-child(2) { border-right: 0; }
  .fb-video-process > div { border-bottom: 1px solid rgba(255, 255, 255, .2); }
  .fb-architecture-gallery-complete { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fb-architecture-gallery-complete figure,
  .fb-architecture-gallery-complete figure:nth-child(5n+2),
  .fb-architecture-gallery-complete figure:nth-child(5n+3),
  .fb-architecture-gallery-complete figure:nth-child(5n+4),
  .fb-architecture-gallery-complete figure:nth-child(5n+5) { grid-column: span 1; min-height: 0; height: auto; aspect-ratio: 3 / 2; }
  .fb-architecture-gallery-complete figure:nth-child(5n+1) { grid-column: 1 / -1; min-height: 0; height: auto; aspect-ratio: 16 / 9; }
	.fb-residential-projects { padding: 82px 22px; }
	.fb-residential-heading { grid-template-columns: 1fr; gap: 26px; }
}

@media (max-width: 680px) {
  .fb-work-hero { padding-bottom: 55px; }
  .fb-work-hero-grid h1 { font-size: clamp(48px, 14vw, 62px); line-height: .82; }
  .fb-work-service-jump, .fb-work-projects, .fb-commercial-gallery, .fb-video-project-grid, .fb-brandbook-grid, .fb-identity-showcase, .fb-video-process { grid-template-columns: 1fr; }
  .fb-work-service-jump a, .fb-work-service-jump a:nth-child(3n), .fb-work-service-jump a:nth-child(even) { min-height: 96px; border-right: 0; }
  .fb-work-project-wide { grid-column: auto; }
  .fb-work-project-image, .fb-work-project-wide .fb-work-project-image { aspect-ratio: 4 / 3; }
  .fb-work-project-meta { grid-template-columns: 34px minmax(0, 1fr) 22px; }
  .fb-work-project-meta h2 { font-size: clamp(27px, 9vw, 38px); }
  .fb-commercial-shot-1, .fb-commercial-shot-2, .fb-commercial-shot-3, .fb-commercial-shot-4, .fb-commercial-shot-5, .fb-commercial-shot-6, .fb-commercial-shot-7 { grid-column: auto; min-height: 460px; }
  .fb-commercial-shot-3 { min-height: 520px; }
  .fb-commercial-shot figcaption { padding: 90px 18px 18px; }
  .fb-commercial-category-heading { padding: 72px 22px 48px; }
  .fb-commercial-category-heading h2, .fb-event-coverage-heading h2 { font-size: clamp(42px, 12vw, 56px); }
  .fb-event-coverage { padding: 76px 22px; }
  .fb-event-coverage-heading { margin-bottom: 44px; }
  .fb-event-grid { grid-template-columns: 1fr; gap: 30px; }
  .fb-note-band a { width: 100%; }
  .fb-video-projects, .fb-brandbook-showcase { padding: 72px 22px; }
  .fb-video-project-heading h2, .fb-brandbook-heading h2 { font-size: clamp(42px, 12.5vw, 56px); }
  .fb-video-project-grid { gap: 48px; }
  .fb-video-project-meta { grid-template-columns: 34px minmax(0, 1fr); }
  .fb-video-process > div { min-height: 0; padding: 38px 22px 44px; border-right: 0; }
  .fb-video-process h3 { margin-top: 58px; }
  .fb-identity-showcase { padding-top: 0; }
  .fb-brandbook-grid strong, .fb-identity-card strong { font-size: 17px; }
  .fb-architecture-gallery-complete { grid-template-columns: 1fr; }
  .fb-architecture-gallery-complete figure,
  .fb-architecture-gallery-complete figure:nth-child(5n+1),
  .fb-architecture-gallery-complete figure:nth-child(5n+2),
  .fb-architecture-gallery-complete figure:nth-child(5n+3),
  .fb-architecture-gallery-complete figure:nth-child(5n+4),
  .fb-architecture-gallery-complete figure:nth-child(5n+5) { grid-column: 1; min-height: 0; height: auto; aspect-ratio: 3 / 2; }
	.fb-residential-projects { padding: 72px 22px; }
	.fb-residential-heading h2 { font-size: clamp(40px, 12vw, 54px); }
	.fb-residential-grid { grid-template-columns: 1fr; gap: 42px; }
	.fb-residential-grid figcaption { grid-template-columns: 34px minmax(0, 1fr); }
}

.fb-motion-ready .fb-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .72s cubic-bezier(.2, .65, .25, 1), transform .72s cubic-bezier(.2, .65, .25, 1);
  transition-delay: var(--fb-reveal-delay, 0ms);
  will-change: opacity, transform;
}
.fb-motion-ready .fb-reveal.fb-visible { opacity: 1; transform: translateY(0); }
.fb-motion-ready .fb-work-card.fb-reveal,
.fb-motion-ready .fb-team-card.fb-reveal,
.fb-motion-ready .fb-service-index-card.fb-reveal,
.fb-motion-ready .fb-website-project.fb-reveal {
  transform: translateY(24px) scale(.985);
}
.fb-motion-ready .fb-work-card.fb-reveal.fb-visible,
.fb-motion-ready .fb-team-card.fb-reveal.fb-visible,
.fb-motion-ready .fb-service-index-card.fb-reveal.fb-visible,
.fb-motion-ready .fb-website-project.fb-reveal.fb-visible {
  transform: translateY(0) scale(1);
}

/* Journal and article templates. */
.fb-journal { background: var(--fb-paper); color: var(--fb-ink); }
.fb-journal-hero { padding: 118px var(--fb-side) 92px; border-bottom: 1px solid #aaaCA5; background: #151614; color: var(--fb-paper); }
.fb-journal-hero h1 { max-width: 1100px; margin: 0; font-size: clamp(62px, 10vw, 148px); line-height: .79; letter-spacing: -.075em; text-transform: uppercase; }
.fb-journal-hero .fb-page-deck { max-width: 690px; color: #b5b7b0; }
.fb-journal-grid { padding: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.fb-journal-card { min-width: 0; border-bottom: 1px solid #a9aba4; }
.fb-journal-card > a { height: 100%; display: flex; flex-direction: column; }
.fb-journal-card-featured { grid-column: 1 / -1; }
.fb-journal-card-featured > a { display: block; }
.fb-journal-card-image { aspect-ratio: 16 / 10; overflow: hidden; background: #d6d7d1; }
.fb-journal-card-featured .fb-journal-card-image { aspect-ratio: 16 / 8; }
.fb-journal-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.fb-journal-card:hover .fb-journal-card-image img { transform: scale(1.025); }
.fb-journal-card-copy { flex: 1; padding: 28px 4px 36px; display: flex; flex-direction: column; }
.fb-journal-card-featured .fb-journal-card-copy { min-height: 580px; padding: 42px 40px; background: var(--fb-lime); }
.fb-journal-card-number { margin-bottom: 64px; color: #5c651c; font: 12px/1 monospace; letter-spacing: .12em; }
.fb-journal-card-featured .fb-journal-card-number { margin-bottom: auto; font-size: 14px; }
.fb-journal-card-featured .fb-journal-card-number,
.fb-journal-card-featured .fb-journal-card-meta,
.fb-journal-card.fb-journal-card-featured p { color: #333700; }
.fb-journal-card-meta, .fb-article-meta { display: flex; flex-wrap: wrap; gap: 10px 20px; color: #666861; font: 10px/1.3 monospace; letter-spacing: .1em; text-transform: uppercase; }
.fb-journal-card h2 { margin: 27px 0 18px; font-size: clamp(30px, 4vw, 58px); line-height: .9; letter-spacing: -.05em; text-transform: uppercase; }
.fb-journal-card-featured h2 { max-width: 1050px; font-size: clamp(58px, 8.3vw, 122px); }
.fb-journal-card p { margin: 0 0 32px; color: #656760; font-size: 16px; line-height: 1.6; }
.fb-journal-read { margin-top: auto; padding-top: 18px; border-top: 1px solid #a9aba4; display: flex; align-items: center; justify-content: space-between; gap: 18px; font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.fb-journal-read .fb-arrow-icon { color: #6d791d; }
.fb-journal .navigation.pagination { padding: 30px var(--fb-side) 80px; }
.fb-journal .nav-links { display: flex; gap: 10px; }
.fb-journal .page-numbers { min-width: 44px; min-height: 44px; padding: 12px; display: grid; place-items: center; border: 1px solid #999b94; }
.fb-journal .page-numbers.current, .fb-journal .page-numbers:hover { background: var(--fb-ink); color: var(--fb-paper); }

.blog .fb-site-header, .single-post .fb-site-header { background: rgba(9, 10, 9, .92); backdrop-filter: blur(18px); }
.single-post .fb-page-shell { background: var(--fb-paper); }
.fb-article-hero { padding: 116px var(--fb-side) 74px; background: #151614; color: var(--fb-paper); }
.fb-article-hero h1 { max-width: 1260px; margin: 28px 0 0; font-size: clamp(54px, 8.5vw, 126px); line-height: .82; letter-spacing: -.07em; text-transform: uppercase; }
.fb-article-hero .fb-page-deck { max-width: 780px; color: #b5b7b0; }
.fb-article-feature { max-height: min(760px, 78vh); margin: 0; overflow: hidden; background: #d8d9d3; }
.fb-article-feature img { width: 100%; height: min(760px, 78vh); object-fit: cover; }
.fb-article-content { max-width: 860px; margin: 0 auto; padding: 92px 28px 110px; color: #252620; font-size: clamp(17px, 1.45vw, 20px); line-height: 1.75; }
.fb-article-content > *:first-child { margin-top: 0; }
.fb-article-content > *:last-child { margin-bottom: 0; }
.fb-article-content h2 { margin: 70px 0 22px; font-size: clamp(36px, 5vw, 66px); line-height: .94; letter-spacing: -.055em; text-transform: uppercase; }
.fb-article-content h3 { margin: 48px 0 16px; font-size: clamp(24px, 3vw, 38px); line-height: 1; letter-spacing: -.035em; text-transform: uppercase; }
.fb-article-content p, .fb-article-content ul, .fb-article-content ol { margin: 0 0 26px; }
.fb-article-content li + li { margin-top: 10px; }
.fb-article-content a { text-decoration: underline; text-decoration-color: #75821e; text-underline-offset: 3px; }
.fb-article-content blockquote { margin: 54px 0; padding: 8px 0 8px 28px; border-left: 5px solid var(--fb-lime); font-size: clamp(25px, 3vw, 38px); font-weight: 700; line-height: 1.18; }
.fb-article-nav { padding: 24px var(--fb-side); border-top: 1px solid #aaaCA5; border-bottom: 1px solid #aaaCA5; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; color: var(--fb-ink); }
.fb-article-nav > div { min-width: 0; }
.fb-article-nav > div:last-child { text-align: right; }
.fb-article-nav a { min-height: 54px; display: flex; align-items: center; font-size: 11px; font-weight: 700; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; }
.fb-article-nav > div:last-child a { justify-content: flex-end; }

@media (max-width: 780px) {
  .fb-journal-hero { padding: 84px 22px 64px; }
  .fb-journal-hero h1 { font-size: clamp(46px, 12vw, 50px); }
  .fb-journal-grid { grid-template-columns: 1fr; padding: 12px; gap: 46px; }
  .fb-journal-card-featured { grid-column: auto; }
  .fb-journal-card-featured > a { display: block; }
  .fb-journal-card-featured .fb-journal-card-image { aspect-ratio: 16 / 10; }
  .fb-journal-card-featured .fb-journal-card-copy { min-height: 520px; padding: 28px 22px; background: var(--fb-lime); }
  .fb-journal-card-copy { padding: 24px 3px 30px; background: transparent; }
  .fb-journal-card-number { margin-bottom: 44px; }
  .fb-journal-card-featured .fb-journal-card-number { margin-bottom: auto; }
  .fb-journal-card h2, .fb-journal-card-featured h2 { font-size: clamp(32px, 10.5vw, 48px); }
  .fb-article-hero { padding: 86px 22px 58px; }
  .fb-article-hero h1 { font-size: clamp(46px, 13.5vw, 66px); }
  .fb-article-feature, .fb-article-feature img { height: auto; max-height: none; aspect-ratio: 4 / 3; }
  .fb-article-content { padding: 64px 22px 78px; }
  .fb-article-content h2 { margin-top: 54px; font-size: clamp(35px, 11vw, 50px); }
  .fb-article-nav { grid-template-columns: 1fr; padding: 18px 22px; gap: 0; }
  .fb-article-nav > div:last-child { border-top: 1px solid #aaaCA5; text-align: left; }
  .fb-article-nav > div:last-child a { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .fb-motion-ready .fb-reveal,
  .fb-motion-ready .fb-reveal.fb-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
