/* Hallmark · pre-emit critique: P5 H5 E5 S5 R4 V5 */
/* Hallmark · motion-system: flowing header + flat hero contraction + direct service overlap · genre: atmospheric · theme: Elevi */
@font-face {
	font-family: "Bricolage Grotesque";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url("fonts/bricolage-grotesque-latin-variable.woff2") format("woff2-variations");
}

@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-display: swap;
	font-weight: 100 1000;
	src: url("fonts/dm-sans-latin-variable.woff2") format("woff2-variations");
}

:root {
	--ink: #0d0d0c;
	--ink-soft: #161613;
	--paper: #f2efe8;
	--paper-deep: #dcd7cd;
	--white: #fffdf8;
	--acid: #82fe90;
	--coral: #ff654d;
	--blue: #354fd3;
	--muted: #8f8d87;
	--line: rgba(255, 253, 248, .19);
	--line-dark: rgba(13, 13, 12, .22);
	--font: Arial, Helvetica, sans-serif;
	--mono: "Courier New", Courier, monospace;
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
body { overflow-x: clip; }
.lenis, .lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: clip; }
body { margin: 0; background: var(--ink); color: var(--white); font-family: var(--font); font-size: 16px; line-height: 1.45; text-rendering: geometricPrecision; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }

.screen-reader-text, .skip-link { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link:focus { z-index: 999; top: 16px; left: 16px; width: auto; height: auto; padding: 12px 16px; clip: auto; background: var(--acid); color: var(--ink); }
.shell { width: min(1360px, calc(100% - 64px)); margin: 0 auto; }
.section-label { margin: 0; color: inherit; font-family: var(--mono); font-size: 11px; letter-spacing: .03em; line-height: 1.4; text-transform: uppercase; }

.site-header { position: fixed; z-index: 40; top: 0; left: 0; width: 100%; padding: 24px 0; color: var(--white); transition: padding .25s ease, background .25s ease, border-color .25s ease; }
.site-header.is-scrolled { padding: 13px 0; background: rgba(13, 13, 12, .87); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.site-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; }
.brand { display: inline-flex; align-items: center; width: max-content; gap: 7px; font-size: 25px; font-weight: 700; letter-spacing: -.06em; line-height: 1; }
.brand__symbol { display: grid; width: 27px; height: 27px; place-items: center; border: 2px solid currentColor; border-radius: 50%; font-size: 17px; letter-spacing: -.1em; }
.site-nav__list { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.site-nav__list a, .header-cta { display: block; padding: 9px 11px; font-family: var(--mono); font-size: 11px; text-transform: uppercase; transition: color .2s ease; }
.site-nav__list a:hover, .header-cta:hover { color: var(--acid); }
.header-cta { justify-self: end; }
.nav-toggle { display: none; border: 0; padding: 0; background: transparent; color: inherit; font-family: var(--mono); font-size: 11px; text-transform: uppercase; cursor: pointer; }

.masthead { min-height: 100svh; padding: 110px 0 32px; overflow: hidden; background: var(--ink); }
.masthead__topline, .masthead__bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; color: rgba(255, 253, 248, .68); font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.masthead__topline { padding: 9px 0 6px; border-top: 1px solid var(--line); }
.masthead__topline p, .masthead__bottom p { margin: 0; }
.masthead__topline span { color: var(--acid); font-size: 8px; vertical-align: 1px; }
.masthead__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 30%); gap: 48px; align-items: end; min-height: calc(100svh - 225px); padding: 50px 0 58px; }
.masthead__content { align-self: center; }
.masthead__eyebrow { margin: 0 0 24px; color: var(--acid); font-family: var(--mono); font-size: 12px; text-transform: uppercase; }
.masthead__eyebrow sup { font-size: 7px; }
.masthead__title { max-width: 1100px; margin: 0; font-size: clamp(52px, 7.45vw, 130px); font-weight: 500; letter-spacing: -.065em; line-height: .84; }
.masthead__title span { display: block; }
.masthead__title--accent { color: var(--acid); }
.masthead__aside { align-self: end; max-width: 350px; padding-bottom: 9px; }
.masthead__aside p { margin: 0 0 27px; color: rgba(255, 253, 248, .73); font-family: var(--mono); font-size: 13px; line-height: 1.48; }
.text-link, .project__link { display: inline-flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--acid); padding-bottom: 6px; color: var(--acid); font-family: var(--mono); font-size: 11px; text-transform: uppercase; transition: gap .2s ease, color .2s ease; }
.text-link:hover, .project__link:hover { gap: 14px; color: var(--white); }
.masthead__bottom { padding-top: 15px; border-top: 1px solid var(--line); }
.scroll-cue { display: inline-flex; gap: 9px; color: var(--white); }
.scroll-cue span { color: var(--acid); }

.intro-band { background: var(--paper); color: var(--ink); padding: 128px 0 132px; }
.intro-band__grid { display: grid; grid-template-columns: 18% minmax(0, 1.12fr) minmax(250px, .64fr); gap: 42px; align-items: start; }
.intro-band__title { margin: 0; font-size: clamp(42px, 5vw, 86px); font-weight: 500; letter-spacing: -.065em; line-height: .89; }
.intro-band__copy { padding-top: 7px; }
.intro-band__copy p { margin: 0 0 34px; font-size: 17px; line-height: 1.5; }
.text-link--dark { border-color: var(--ink); color: var(--ink); }
.text-link--dark:hover { color: var(--coral); }

.work { padding: 132px 0 0; background: var(--ink-soft); }
.work__heading { display: grid; grid-template-columns: 18% minmax(0, 1fr); gap: 42px; padding-bottom: 82px; }
.work__heading h2 { max-width: 980px; margin: 0; font-size: clamp(42px, 5.6vw, 94px); font-weight: 500; letter-spacing: -.065em; line-height: .88; }
.project { border-top: 1px solid var(--line); padding: 26px 0 38px; }
.project--orbit { background: #12140f; }
.project--pulse { background: var(--paper); color: var(--ink); border-color: var(--line-dark); }
.project--structure { background: #10100f; }
.project__grid { display: grid; grid-template-columns: 18% minmax(0, 1.18fr) minmax(260px, .55fr); gap: 42px; align-items: start; }
.project__meta { display: flex; justify-content: space-between; gap: 12px; padding-top: 2px; font-family: var(--mono); font-size: 11px; line-height: 1.4; text-transform: uppercase; }
.project__meta p { margin: 0; }
.project__art { overflow: hidden; background: #191a16; }
.project__art img { width: 100%; aspect-ratio: 1.35 / 1; object-fit: cover; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.project:hover .project__art img { transform: scale(1.035); }
.project__content { display: flex; min-height: 100%; flex-direction: column; align-items: flex-start; padding-top: 3px; }
.project__type { margin: 0 0 54px; color: var(--acid); font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.project--pulse .project__type { color: var(--coral); }
.project__content h3 { margin: 0; font-size: clamp(28px, 2.5vw, 45px); font-weight: 500; letter-spacing: -.055em; line-height: .94; }
.project__content > p:not(.project__type) { margin: 22px 0 36px; color: rgba(255, 253, 248, .66); font-size: 15px; line-height: 1.47; }
.project--pulse .project__content > p:not(.project__type) { color: rgba(13, 13, 12, .68); }
.project__link { margin-top: auto; }
.project--pulse .project__link { border-color: var(--ink); color: var(--ink); }
.project--pulse .project__link:hover { color: var(--coral); }

.services { padding: 132px 0; background: var(--ink); }
.services__head { display: grid; grid-template-columns: 18% minmax(0, 1fr); gap: 42px; align-items: start; margin-bottom: 82px; }
.services__head h2 { max-width: 980px; margin: 0; font-size: clamp(42px, 5.6vw, 94px); font-weight: 500; letter-spacing: -.065em; line-height: .88; }
.services__list { border-top: 1px solid var(--line); }
.service-row { display: grid; grid-template-columns: 18% minmax(0, 1fr) minmax(190px, .45fr) 36px; align-items: center; gap: 24px; min-height: 112px; border-bottom: 1px solid var(--line); transition: background .3s ease, padding .3s ease; }
.service-row:hover { padding-right: 14px; padding-left: 14px; background: var(--acid); color: var(--ink); }
.service-row span, .service-row em { font-family: var(--mono); font-size: 11px; font-style: normal; text-transform: uppercase; }
.service-row strong { font-size: clamp(26px, 3.2vw, 48px); font-weight: 500; letter-spacing: -.05em; line-height: .92; }
.service-row em { color: rgba(255, 253, 248, .65); }
.service-row:hover em { color: rgba(13, 13, 12, .62); }
.service-row i { font-size: 22px; font-style: normal; text-align: right; }

.statement { padding: 132px 0; background: var(--blue); }
.statement__grid { display: grid; grid-template-columns: 18% minmax(0, 1.05fr) minmax(250px, .52fr); gap: 42px; }
.statement__title { margin: 0; font-size: clamp(42px, 5.4vw, 91px); font-weight: 500; letter-spacing: -.065em; line-height: .88; }
.statement__steps { padding-top: 7px; }
.statement__steps p { display: flex; gap: 14px; margin: 0; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.42); font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.statement__steps p:last-child { border-bottom: 1px solid rgba(255,255,255,.42); }
.statement__steps span { color: var(--acid); }

.agency { padding: 132px 0; background: var(--paper-deep); color: var(--ink); }
.agency__grid { display: grid; grid-template-columns: 42% minmax(0, 1fr); gap: 10%; align-items: center; }
.agency__number { color: var(--coral); font-size: clamp(130px, 22vw, 372px); font-weight: 500; letter-spacing: -.13em; line-height: .7; }
.agency__content { max-width: 630px; }
.agency__content h2 { margin: 22px 0 29px; font-size: clamp(42px, 5vw, 82px); font-weight: 500; letter-spacing: -.065em; line-height: .88; }
.agency__content > p:not(.section-label) { max-width: 510px; margin: 0 0 38px; font-size: 17px; }
.agency .text-link { border-color: var(--ink); color: var(--ink); }
.agency .text-link:hover { color: var(--coral); }

.contact { padding: 132px 0 152px; background: var(--ink); }
.contact__grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(340px, .75fr); gap: 13%; align-items: start; }
.contact__intro h2 { max-width: 760px; margin: 22px 0 29px; font-size: clamp(50px, 6vw, 100px); font-weight: 500; letter-spacing: -.07em; line-height: .84; }
.contact__intro > p:not(.section-label) { max-width: 430px; margin: 0; color: rgba(255,253,248,.65); font-size: 17px; }
.contact-form { display: grid; gap: 0; border-top: 1px solid var(--line); }
.contact-form label { display: grid; grid-template-columns: 102px minmax(0, 1fr); gap: 14px; align-items: start; padding: 17px 0; border-bottom: 1px solid var(--line); }
.contact-form label span { padding-top: 5px; color: rgba(255,253,248,.64); font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; border: 0; border-radius: 0; outline: 0; background: transparent; color: var(--white); font-size: 16px; line-height: 1.4; }
.contact-form select option { background: var(--ink); }
.contact-form textarea { resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { color: var(--acid); }
.submit-link { justify-self: start; margin-top: 30px; border: 0; border-bottom: 1px solid var(--acid); padding: 0 0 7px; background: transparent; color: var(--acid); font-family: var(--mono); font-size: 11px; text-transform: uppercase; cursor: pointer; transition: gap .2s ease, color .2s ease; }
.submit-link:hover { color: var(--white); }

.site-footer { padding: 48px 0 20px; border-top: 1px solid var(--line); background: #090908; }
.site-footer__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 42px; }
.site-footer__grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.site-footer__grid .section-label { margin-bottom: 11px; color: var(--acid); }
.site-footer__grid a:not(.site-footer__email), .site-footer__grid p { margin: 0; color: rgba(255,253,248,.68); font-size: 13px; line-height: 1.55; }
.site-footer__grid a:not(.site-footer__email):hover { color: var(--acid); }
.site-footer__email { margin-bottom: 9px; border-bottom: 1px solid var(--acid); color: var(--acid); font-size: clamp(17px, 1.8vw, 26px); letter-spacing: -.04em; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 64px; padding-top: 17px; border-top: 1px solid var(--line); color: rgba(255,253,248,.42); font-family: var(--mono); font-size: 10px; text-transform: uppercase; }

.archive-view { min-height: 70vh; padding: 180px 0 100px; background: var(--paper); color: var(--ink); }
.archive-view h1 { margin: 0; font-size: clamp(48px, 7vw, 120px); font-weight: 500; letter-spacing: -.07em; line-height: .85; }
.archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 56px; background: var(--line-dark); }
.post-card a { display: block; min-height: 260px; padding: 24px; background: var(--white); }
.post-card h2 { margin: 0; font-size: 34px; font-weight: 500; letter-spacing: -.055em; line-height: .92; }
.post-card p { color: rgba(13,13,12,.62); }

.reveal-up, .reveal-scale, .reveal-line { will-change: transform, opacity; }

@media (max-width: 960px) {
	.site-header__inner { grid-template-columns: 1fr auto; }
	.header-cta { display: none; }
	.nav-toggle { display: block; justify-self: end; }
	.site-nav { position: fixed; inset: 62px 16px auto; display: none; padding: 13px; border: 1px solid var(--line); background: var(--ink); }
	.nav-open .site-nav { display: block; }
	.site-nav__list { display: grid; gap: 0; }
	.site-nav__list a { padding: 14px 4px; border-bottom: 1px solid var(--line); }
	.site-nav__list li:last-child a { border-bottom: 0; }
	.masthead__grid, .intro-band__grid, .work__heading, .services__head, .statement__grid { grid-template-columns: 1fr; }
	.masthead__grid { min-height: auto; padding: 100px 0 70px; }
	.masthead__aside { max-width: 460px; }
	.intro-band__grid, .work__heading, .services__head, .statement__grid { gap: 28px; }
	.project__grid { grid-template-columns: 1fr minmax(220px, .55fr); }
	.project__meta { grid-column: 1 / -1; }
	.project__art { grid-row: 2; }
	.project__content { grid-row: 2; }
	.service-row { grid-template-columns: 60px minmax(0, 1fr) 30px; }
	.service-row em { display: none; }
	.agency__grid { grid-template-columns: 34% 1fr; gap: 10%; }
	.contact__grid { gap: 70px; }
}

@media (max-width: 660px) {
	.shell { width: min(100% - 30px, 1360px); }
	.site-header { padding: 15px 0; }
	.site-header.is-scrolled { padding: 12px 0; }
	.brand { font-size: 22px; }
	.brand__symbol { width: 24px; height: 24px; font-size: 15px; }
	.masthead { padding-top: 84px; }
	.masthead__topline { align-items: flex-start; font-size: 9px; }
	.masthead__topline p:last-child { text-align: right; }
	.masthead__grid { gap: 56px; padding: 70px 0 64px; }
	.masthead__title { font-size: clamp(46px, 15vw, 75px); line-height: .86; }
	.masthead__aside p { font-size: 12px; }
	.masthead__bottom { align-items: flex-start; font-size: 9px; }
	.masthead__bottom p { max-width: 120px; text-align: right; }
	.intro-band, .work, .services, .statement, .agency, .contact { padding-top: 82px; padding-bottom: 82px; }
	.work { padding-bottom: 0; }
	.intro-band__title, .work__heading h2, .services__head h2, .statement__title, .agency__content h2 { font-size: clamp(40px, 12vw, 62px); }
	.intro-band__copy p, .agency__content > p:not(.section-label), .contact__intro > p:not(.section-label) { font-size: 16px; }
	.work__heading, .services__head { padding-bottom: 52px; }
	.project { padding: 20px 0 30px; }
	.project__grid { grid-template-columns: 1fr; gap: 24px; }
	.project__art, .project__content { grid-row: auto; }
	.project__meta { grid-column: auto; font-size: 9px; }
	.project__content { min-height: auto; }
	.project__type { margin-bottom: 26px; }
	.project__content h3 { font-size: 34px; }
	.project__content > p:not(.project__type) { margin-bottom: 24px; }
	.service-row { grid-template-columns: 36px minmax(0, 1fr) 20px; gap: 10px; min-height: 86px; }
	.service-row strong { font-size: 28px; }
	.service-row:hover { padding-right: 4px; padding-left: 4px; }
	.statement__steps { padding-top: 12px; }
	.agency__grid { grid-template-columns: 1fr; gap: 58px; }
	.agency__number { font-size: 46vw; }
	.contact__grid { grid-template-columns: 1fr; gap: 52px; }
	.contact__intro h2 { font-size: clamp(50px, 15vw, 78px); }
	.contact-form label { grid-template-columns: 1fr; gap: 8px; }
	.contact-form label span { padding-top: 0; }
	.site-footer__grid { grid-template-columns: 1fr; gap: 35px; }
	.site-footer__bottom { flex-direction: column; margin-top: 50px; }
	.archive-grid { grid-template-columns: 1fr; }
}

/* Figma home — node 2165:1249 */
body.home,
body.elevi-figma-home {
	--figma-ink: #0d0d0c;
	--figma-copy: #2e2e2e;
	--figma-paper: #fffdf8;
	--figma-soft: #f2efe8;
	--figma-lime: #82fe90;
	--figma-forest: #010201;
	--figma-emerald: #82fe90;
	--button-surface-dark: #0d0d0c;
	--button-surface-light: #fff;
	--button-text-dark: #0d0d0c;
	--button-text-light: #fff;
	--button-icon-accent: #82fe90;
	--button-height: 32px;
	--button-height-compact: 28px;
	--button-padding-inline-start: 16px;
	--button-padding-inline-end: 8px;
	--button-radius: 16px;
	--button-label-size: 14px;
	--button-label-leading: 20px;
	--button-icon-size: 18px;
	--button-icon-glyph-size: 12px;
	--button-gap: 8px;
	--button-ease: cubic-bezier(.16, 1, .3, 1);
	margin: 0;
	background: #fff;
	color: var(--figma-ink);
	font-family: "DM Sans", Arial, sans-serif;
}

.home .site-main,
.elevi-figma-home .site-main { overflow: hidden; }
.figma-container { width: min(1280px, calc(100% - 160px)); margin-inline: auto; padding-inline: 32px; }

.figma-header { position: relative; z-index: 40; width: 100%; height: 56px; background: var(--figma-paper); color: var(--figma-ink); }
.figma-header.is-scrolled { background: rgba(255, 253, 248, .96); }
.figma-header.is-hero-sequence-pinned { position: sticky; top: var(--hero-sequence-sticky-top, 0px); background: var(--figma-paper); }
.figma-header__inner { display: grid; height: 100%; grid-template-columns: 1fr auto 1fr; align-items: center; justify-content: space-between; }
.figma-brand { display: inline-flex; align-items: flex-end; gap: 4px; width: max-content; color: #383838; }
.figma-brand > span { font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 600; letter-spacing: -.02em; line-height: 10px; }
.figma-brand img { width: 83px; height: 24px; object-fit: contain; }
.figma-nav__list { display: flex; align-items: center; gap: 42px; margin: 0; padding: 0; list-style: none; }
.figma-nav__list a { position: relative; display: block; color: var(--figma-ink); font-size: 14px; line-height: 20px; }
.figma-nav__list a::after { position: absolute; right: 0; bottom: -5px; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transform-origin: right center; transition: transform 180ms cubic-bezier(.16, 1, .3, 1); }
.figma-nav__list a:hover::after, .figma-nav__list a:focus-visible::after, .figma-nav__list a.is-active::after { transform: scaleX(1); transform-origin: left center; }
.figma-nav__list a:focus-visible { outline: 2px solid var(--figma-ink); outline-offset: 5px; }
.figma-header__actions { display: flex; align-items: center; justify-self: end; gap: 16px; }
.figma-language { position: relative; isolation: isolate; display: flex; width: 60px; height: 32px; align-items: center; gap: 4px; padding: 4px; border-radius: 16px; background: #f8f8f8; font-size: 12px; line-height: 12px; }
.figma-language::before { position: absolute; z-index: -1; top: 4px; left: 4px; width: 24px; height: 24px; border: 1px solid #e7e7e7; border-radius: 16px; background: var(--figma-ink); content: ""; transition: transform 200ms cubic-bezier(.65, 0, .35, 1); }
.figma-language span, .figma-language a { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 16px; transition: color 150ms cubic-bezier(.16, 1, .3, 1); }
.figma-language span { color: var(--figma-soft); }
.figma-language a:focus-visible { outline: 2px solid var(--figma-lime); outline-offset: 2px; }
.figma-language:has(a:hover)::before, .figma-language:has(a:focus-visible)::before { transform: translateX(28px); }
.figma-language:has(a:hover) span, .figma-language:has(a:focus-visible) span { color: var(--figma-ink); }
.figma-language:has(a:hover) a, .figma-language:has(a:focus-visible) a { color: #fff; }
.figma-language--en::before { transform: translateX(28px); }
.figma-language--en:has(a:hover)::before, .figma-language--en:has(a:focus-visible)::before { transform: translateX(0); }
.figma-button { display: inline-flex; min-height: var(--button-height); align-items: center; gap: var(--button-gap); border-radius: var(--button-radius); padding: calc((var(--button-height) - var(--button-label-leading)) / 2) var(--button-padding-inline-end) calc((var(--button-height) - var(--button-label-leading)) / 2) var(--button-padding-inline-start); font-size: var(--button-label-size); line-height: var(--button-label-leading); white-space: nowrap; transition: transform 100ms var(--button-ease), background-color 180ms ease; }
.figma-button--compact { --button-height: var(--button-height-compact); --button-gap: 4px; }
.figma-button__label { display: block; height: var(--button-label-leading); overflow: hidden; }
.figma-button__label-track { display: flex; flex-direction: column; }
.figma-button__label-track > span { display: block; height: var(--button-label-leading); flex: 0 0 var(--button-label-leading); }
.figma-button:focus-visible { outline: 2px solid var(--figma-lime); outline-offset: 3px; }
.figma-button:active { transform: translateY(1px); }
.figma-button[aria-disabled="true"] { opacity: .45; cursor: not-allowed; pointer-events: none; }
.figma-button--dark { background: var(--button-surface-dark); color: var(--button-text-light); }
.figma-button--light { background: var(--button-surface-light); color: var(--button-text-dark); }
.figma-button--dark:hover, .figma-button--dark:focus-visible { background: #292927; }
.figma-button--light:hover, .figma-button--light:focus-visible { background: #f2f2f0; }
.figma-button__icon { display: grid; width: var(--button-icon-size); height: var(--button-icon-size); flex: 0 0 var(--button-icon-size); place-items: center; border-radius: 10px; }
.figma-button__icon img { width: var(--button-icon-glyph-size); height: var(--button-icon-glyph-size); }
.figma-button__icon--lime { background: var(--button-icon-accent); }
.figma-button__icon--dark { border-radius: 50%; background: var(--figma-ink); }
.figma-button__icon--plain img { width: var(--button-icon-size); height: var(--button-icon-size); }

.figma-hero { position: relative; z-index: 3; height: calc(100svh - 56px); min-height: 660px; padding: 0 8px 8px; background: #fff; }
.figma-hero__main { position: relative; isolation: isolate; height: 100%; overflow: hidden; border-radius: 8px; background: var(--figma-forest); color: #fff; }
.figma-hero__sequence { position: absolute; z-index: 0; inset: 0; overflow: hidden; background: #0d0d0c; pointer-events: none; }
.figma-hero__sequence-poster,
.figma-hero__sequence-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.figma-hero__sequence-poster { opacity: 1; transition: opacity .45s ease; }
.figma-hero__sequence-poster img { display: block; width: 100%; height: 100%; object-fit: cover; }
.figma-hero__sequence-canvas { opacity: 0; transition: opacity .45s ease; }
.figma-hero__sequence.is-ready .figma-hero__sequence-poster { opacity: 0; }
.figma-hero__sequence.is-ready .figma-hero__sequence-canvas { opacity: 1; }
.figma-hero__layout { position: relative; z-index: 1; display: grid; height: 100%; grid-template-columns: 798px 279px; justify-content: space-between; padding-top: 64px; padding-bottom: 64px; pointer-events: none; }
.figma-hero__content, .figma-hero__card { pointer-events: auto; }
.figma-hero__content { display: flex; height: 100%; flex-direction: column; justify-content: center; gap: 24px; }
.figma-hero__heading { display: flex; flex-direction: column; gap: 16px; }
.figma-signature { margin: 0; color: #fff; font-size: 11px; font-weight: 600; letter-spacing: 2.31px; line-height: 11px; text-transform: uppercase; }
.figma-hero h1 { display: flex; min-width: 0; flex-direction: column; gap: 16px; margin: 0; overflow-wrap: anywhere; font-family: "Bricolage Grotesque", sans-serif; font-size: 88px; font-variation-settings: "opsz" 14, "wdth" 100; font-weight: 700; letter-spacing: -3.52px; line-height: 72px; }
.figma-hero h1 > span { display: block; }
.figma-hero h1 > span:nth-child(2) { text-align: right; }
.figma-hero__line { overflow: hidden; margin-bottom: -.18em; padding-bottom: .18em; }
.figma-hero__line > span { display: block; color: #fff; background: none; -webkit-text-fill-color: #fff; }
.figma-hero__line:nth-child(2) > span { background: none; }
.figma-hero__actions { display: flex; width: 445px; align-items: flex-end; justify-content: space-between; overflow: hidden; }
.figma-hero__actions > p { width: 172px; margin: 0; color: var(--figma-soft); font-size: 16px; line-height: 24px; }
.figma-hero__card { align-self: end; width: 279px; padding: 24px; border-radius: 8px; background: #fff; color: var(--figma-copy); }
.figma-hero__card p { margin: 0 0 16px; font-size: 16px; letter-spacing: -.32px; line-height: 24px; }
.figma-hero__card .figma-button { color: #f0f0f0; }

.figma-trust { position: relative; z-index: 1; height: 402.56px; padding-top: 80px; background: #fff; }
.figma-section-meta { display: flex; height: 18px; align-items: center; justify-content: space-between; }
.figma-section-meta > div, .figma-services__header > div { display: flex; align-items: center; gap: 10px; }
.figma-section-meta h2, .figma-section-meta p { margin: 0; font-size: 14px; font-weight: 400; line-height: 14px; }
.figma-section-meta .figma-trust-period { display: inline-flex; align-items: center; gap: 8px; color: #343434; font-size: 12px; font-weight: 400; letter-spacing: 0; line-height: 14px; white-space: nowrap; }
.figma-trust-period img { display: block; width: 33px; height: 8px; flex: 0 0 33px; }
.figma-check { display: grid; width: 18px; height: 18px; flex: 0 0 18px; place-items: center; border-radius: 8px; background: var(--figma-lime); }
.figma-check img { width: 14px; height: 14px; }
.figma-clients { display: grid; height: 272.56px; grid-template-columns: repeat(9, 1fr); margin-top: 32px; overflow: hidden; }
.figma-client { display: grid; min-width: 0; place-items: center; border-color: var(--figma-soft); }
.figma-client.has-logo { border-right: 1px solid var(--figma-soft); }
.figma-client:nth-child(n+10).has-logo { border-right: 0; border-left: 1px solid var(--figma-soft); }
.figma-client img { width: min(102px, calc(100% - 48px)); height: auto; max-height: 40px; object-fit: contain; }

.figma-projects { position: relative; isolation: isolate; height: 723px; padding-top: 80px; background: #fff; }
.figma-projects__header { display: flex; height: 58px; align-items: flex-end; gap: 48px; }
.figma-projects__header h2 { width: 474px; margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 88px; font-weight: 800; letter-spacing: -3.52px; line-height: 58px; }
.figma-projects__header p { width: 360px; margin: 0; font-size: 16px; line-height: 24px; }
.figma-projects__viewport { width: 100%; height: 497px; margin-top: 40px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.figma-projects__viewport::-webkit-scrollbar { display: none; }
.figma-projects__track { display: flex; width: max-content; height: 495px; margin-left: max(80px, calc((100vw - 1280px) / 2)); }
.figma-project-card { display: flex; width: 624px; height: 495px; flex: 0 0 624px; flex-direction: column; gap: 16px; padding: 48px; border-right: 2px solid var(--figma-soft); }
.figma-project-card__media { position: relative; width: 528px; height: 283px; flex: 0 0 283px; overflow: hidden; border-radius: 8px; background: transparent; }
.figma-project-card__media::before { position: absolute; z-index: 0; inset: 0 0 1px; background: url("images/figma-home/project-card-outline.svg") center / 100% 100% no-repeat; content: ""; transform: scaleX(-1); }
.figma-project-card__window-bar { position: relative; z-index: 2; display: grid; height: 56px; grid-template-columns: minmax(0, 1fr) 224px; align-items: start; padding: 8px 16px 0 18px; }
.figma-project-card__window-bar > strong { overflow: hidden; padding-right: 18px; font-family: "Bricolage Grotesque", sans-serif; font-size: 20px; font-weight: 700; letter-spacing: -.4px; line-height: 24px; text-overflow: ellipsis; white-space: nowrap; }
.figma-project-card__window-bar > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 4px; }
.figma-project-card__window-bar > div > span:first-child { font-size: 10px; letter-spacing: 2.5px; line-height: 14px; text-transform: uppercase; white-space: nowrap; }
.figma-project-card__window-controls { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.figma-project-card__window-controls img { width: 8px; height: 8px; object-fit: contain; }
.figma-project-card__window-controls img:nth-child(2) { width: 9px; height: 9px; }
.figma-project-card__visual { position: absolute; z-index: 1; top: 56px; right: 0; bottom: 0; left: 0; width: auto; height: auto; overflow: hidden; }
.figma-project-card__mockup { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.figma-project-card__footer { position: relative; z-index: 3; display: flex; width: 528px; min-height: 100px; align-items: flex-start; justify-content: space-between; padding-inline: 8px; pointer-events: none; }
.figma-project-card__footer p { width: 332px; margin: 0; color: var(--figma-copy); font-size: 14px; letter-spacing: -.28px; line-height: 20px; }
.figma-project-card__footer a { position: relative; z-index: 1; display: inline-flex; width: max-content; align-items: center; gap: 4px; border-bottom: 1px solid #d9d9d9; padding: 0 2px 4px 0; font-size: 14px; line-height: 20px; cursor: pointer; pointer-events: auto; touch-action: manipulation; transition: gap 180ms cubic-bezier(.16, 1, .3, 1), border-color 180ms ease; }
.figma-project-card__footer a::before { position: absolute; inset: -10px -12px; content: ""; }
.figma-project-card__footer a img { width: 16px; height: 16px; transition: transform 180ms cubic-bezier(.16, 1, .3, 1); }
.figma-project-card__footer a:hover, .figma-project-card__footer a:focus-visible { gap: 8px; border-color: var(--figma-ink); }
.figma-project-card__footer a:hover img, .figma-project-card__footer a:focus-visible img { transform: translate(2px, -2px); }
.figma-project-card__footer a:focus-visible { outline: 2px solid var(--figma-ink); outline-offset: 3px; }
.figma-project-card__footer a:active { transform: translateY(1px); }
.figma-projects.is-gsap-horizontal { height: 100svh; min-height: 720px; overflow: hidden; }
.figma-projects.is-gsap-horizontal .figma-projects__viewport {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - clamp(120px, 12vw, 190px)), transparent 100%);
	mask-image: linear-gradient(to right, #000 0, #000 calc(100% - clamp(120px, 12vw, 190px)), transparent 100%);
}

.figma-services { position: relative; z-index: 4; isolation: isolate; display: flex; height: 882px; flex-direction: column; align-items: center; gap: 48px; overflow: hidden; padding-block: 88px; background: transparent; color: var(--figma-paper); }
.figma-services.is-gsap-service-overlap { margin-top: -100svh; pointer-events: none; }
.figma-services.is-gsap-service-overlap .figma-services__cta { pointer-events: auto; }
.figma-services__surface { position: absolute; z-index: 0; inset: 0; background: var(--figma-ink); pointer-events: none; }
.figma-services__header, .figma-services__body { position: relative; z-index: 1; }
.figma-services__header { display: grid; grid-template-columns: 279px 760px; align-items: end; gap: 32px; }
.figma-services__header > div { height: 18px; }
.figma-services__header > div p { margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 16px; font-weight: 500; letter-spacing: -.64px; line-height: 16px; }
.figma-services__header h2 { margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 88px; font-weight: 800; letter-spacing: -1.76px; line-height: 58px; }
.figma-services__body { display: flex; height: 600px; align-items: flex-end; justify-content: space-between; }
.figma-services__cta { flex: 0 0 auto; }
.figma-services__list { width: 902px; }
.figma-services__list [data-motion-service-row] { display: grid; height: 112px; grid-template-columns: 383px 1fr; gap: 32px; align-items: start; padding-block: 32px; border-top: 1px solid #343434; color: #fff; }
.figma-services__list [data-motion-service-row]:nth-child(1), .figma-services__list [data-motion-service-row]:nth-child(4) { height: 136px; }
.figma-services__list [data-motion-service-row]:nth-child(5) { height: 104px; padding-bottom: 0; }
.figma-services__list h3 { margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 24px; font-weight: 800; letter-spacing: -.36px; line-height: 32px; }
.figma-services__list p { margin: 0; font-size: 16px; line-height: 24px; }

.figma-studio { position: relative; z-index: 2; padding: 80px 0; background: #fff; color: var(--figma-ink); }
.figma-studio__header { display: grid; height: 58px; grid-template-columns: 279px 760px; align-items: end; gap: 32px; }
.figma-studio__header > div { display: flex; height: 18px; align-items: center; gap: 10px; }
.figma-studio__header > div p { margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 16px; font-weight: 500; letter-spacing: -.64px; line-height: 16px; }
.figma-studio__header h2 { margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 88px; font-weight: 800; letter-spacing: -3.52px; line-height: 58px; }
.figma-studio__feature { display: grid; grid-template-columns: 799px 385px; gap: 32px; margin-top: 80px; }
.figma-studio__manifesto { position: relative; height: 446px; overflow: hidden; border-radius: 16px; background: var(--figma-ink); }
.figma-studio__manifesto-background { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.figma-studio__wordmark { position: absolute; z-index: 3; top: 201px; left: 56px; width: 218px; height: 44px; }
.figma-studio__selection { position: absolute; z-index: 3; top: 104px; right: 56px; box-sizing: border-box; width: 218px; height: 220px; border: 1.5px solid rgba(130,254,144,.5); color: #fff; }
.figma-studio__selection::before, .figma-studio__selection::after { position: absolute; left: -8px; width: 16px; height: 16px; border: 1.5px solid rgba(130,254,144,.5); background: var(--figma-ink); content: ""; }
.figma-studio__selection::before { top: -8px; box-shadow: 218px 0 0 -1.5px var(--figma-ink), 218px 0 0 0 rgba(130,254,144,.5); }
.figma-studio__selection::after { bottom: -8px; box-shadow: 218px 0 0 -1.5px var(--figma-ink), 218px 0 0 0 rgba(130,254,144,.5); }
.figma-studio__selection p { position: absolute; top: 30px; left: 36px; width: 164px; margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 16px; font-weight: 600; line-height: 24px; }
.figma-studio__toolbar { position: absolute; z-index: 4; bottom: 26px; left: 50%; display: flex; height: 45px; align-items: center; gap: 5px; box-sizing: border-box; padding: 0; border: 1px solid #434343; border-radius: 12px; background: #2c2c2c; box-shadow: 0 2px 2px rgba(0,0,0,.25), 0 4px 6px 3px rgba(0,0,0,.25); transform: translateX(-50%); }
.figma-toolbar__tools { display: flex; height: 100%; align-items: center; gap: 12px; padding: 5px 8px; }
.figma-toolbar__group { display: flex; align-items: center; gap: 2px; }
.figma-toolbar__icon { display: grid; width: 30px; height: 34px; box-sizing: border-box; place-items: center; border-radius: 4px; }
.figma-toolbar__icon img { width: 24px; height: 24px; }
.figma-toolbar__icon.is-selected { width: 24px; height: 24px; padding: 0; background: #0c8ce9; }
.figma-toolbar__icon.is-selected img { width: 16px; height: 16px; }
.figma-toolbar__group i { display: grid; width: 12px; height: 34px; place-items: center; }
.figma-toolbar__group i img { width: 5px; height: 3px; }
.figma-toolbar__divider { width: 1px; height: 100%; background: #434343; }
.figma-toolbar__dev { display: grid; width: 55px; height: 100%; box-sizing: border-box; padding: 6px 8px; place-items: center; }
.figma-toolbar__dev::before { position: absolute; width: 39px; height: 31px; border-radius: 4px; background: #383838; content: ""; }
.figma-toolbar__dev img { position: relative; z-index: 1; width: 19px; height: 19px; }
.figma-studio__profile { display: flex; height: 446px; flex-direction: column; align-items: flex-end; justify-content: space-between; }
.figma-studio__profile img { width: 142px; height: 175px; object-fit: contain; }
.figma-studio__profile p { width: 327px; margin: 0; font-size: 16px; line-height: 24px; }
.figma-process { position: relative; z-index: 2; overflow: visible; padding-top: 80px; background: #fff; color: var(--figma-ink); }
.figma-process__header { display: flex; height: 144px; align-items: flex-end; justify-content: space-between; }
.figma-process__header h2 { width: 462px; margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 48px; font-weight: 800; letter-spacing: -1.44px; line-height: 48px; }
.figma-process__header p { width: 589px; margin: 0; font-size: 16px; line-height: 24px; }
.figma-process__steps { position: relative; display: grid; height: 398px; grid-template-columns: repeat(4, 1fr); margin-top: 32px; }
.figma-process__step { position: relative; border-right: 1px solid var(--figma-soft); }
.figma-process__step:nth-child(2) { padding-top: 80px; }
.figma-process__step:nth-child(3) { padding-top: 160px; }
.figma-process__step:nth-child(4) { padding-top: 240px; border-right: 0; }
.figma-process__card { display: flex; flex-direction: column; gap: 16px; padding: 24px; background: #f8ffe7; }
.figma-process__title { display: flex; align-items: center; justify-content: space-between; }
.figma-process__title h3 { margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 16px; font-weight: 600; letter-spacing: -.32px; line-height: 16px; }
.figma-process__title span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 8px; background: var(--figma-ink); color: var(--figma-soft); font-family: "Bricolage Grotesque", sans-serif; font-size: 14px; line-height: 14px; }
.figma-process__card > p { margin: 0; font-size: 16px; letter-spacing: -.32px; line-height: 24px; }
.figma-studio__metrics { display: grid; min-height: 201px; grid-template-columns: repeat(4, 1fr); margin-top: 80px; border-top: 1px solid var(--figma-soft); padding-top: 80px; }
.figma-studio__metrics > div { display: flex; min-width: 0; flex-direction: column; border-right: 1px solid var(--figma-soft); padding: 0 24px; }
.figma-studio__metrics > div:first-child { padding-left: 0; }
.figma-studio__metrics > div:last-child { border-right: 0; padding-right: 0; }
.figma-studio__metrics strong { font-family: "Bricolage Grotesque", sans-serif; font-size: 48px; font-weight: 800; letter-spacing: -1.44px; line-height: 48px; }
.figma-studio__metrics b { margin-top: 8px; font-family: "Bricolage Grotesque", sans-serif; font-size: 16px; letter-spacing: -.32px; line-height: 20px; }
.figma-studio__metrics p { margin: 8px 0 0; font-size: 14px; line-height: 20px; }
.figma-contact { position: relative; z-index: 2; padding-inline: 8px; background: #fff; color: var(--figma-ink); }
.figma-contact__main { height: 494px; overflow: hidden; border-radius: 8px; background: var(--figma-ink); color: #fff; }
.figma-contact__layout { position: relative; display: grid; height: 100%; grid-template-columns: 798px 380px; justify-content: space-between; padding-block: 64px; }
.figma-contact__message { position: relative; z-index: 2; }
.figma-contact__message h2 { margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 88px; font-weight: 800; letter-spacing: -1.76px; line-height: 72px; }
.figma-contact__message--en h2 { white-space: nowrap; }
.figma-contact__message p { position: absolute; bottom: 0; left: 0; width: 364px; margin: 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 24px; font-weight: 600; letter-spacing: -.48px; line-height: 32px; }
.figma-contact__glass-wrap { position: absolute; z-index: 1; bottom: -70px; left: 320px; width: 496px; pointer-events: none; }
.figma-contact__glass { width: 100%; max-width: none; transform-origin: 50% 60%; }
.figma-contact__card { position: relative; z-index: 2; display: flex; width: 380px; height: 366px; flex-direction: column; border-radius: 8px; padding: 24px; background: #fff; color: var(--figma-ink); }
.figma-contact__card > img { width: 77px; height: 16px; object-fit: contain; object-position: left center; }
.figma-contact__card h3 { margin: 16px 0 0; font-family: "Bricolage Grotesque", sans-serif; font-size: 20px; font-weight: 600; letter-spacing: -.4px; line-height: 24px; }
.figma-contact__card > div { margin-top: auto; }
.figma-contact__card p { margin: 0 0 16px; font-size: 16px; letter-spacing: -.32px; line-height: 24px; }
.figma-contact__card .figma-button { width: max-content; }
.figma-copyright { position: relative; z-index: 2; height: 144px; padding-top: 48px; background: #fff; color: var(--figma-ink); font-size: 12px; line-height: 16px; }

@media (max-width: 1180px) {
	.figma-container { width: calc(100% - 64px); }
	.figma-hero__layout { grid-template-columns: minmax(0, 1fr) 260px; gap: 48px; }
	.figma-hero h1 { font-size: clamp(64px, 7.4vw, 88px); }
	.figma-hero__actions { width: min(445px, 100%); }
	.figma-projects__track { margin-left: 32px; }
	.figma-services__header { grid-template-columns: 260px 1fr; }
	.figma-services__list { width: calc(100% - 292px); }
	.figma-studio__header { grid-template-columns: 260px 1fr; }
	.figma-studio__feature { grid-template-columns: minmax(0, 2.08fr) minmax(300px, 1fr); }
	.figma-contact__layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; }
	.figma-contact__glass-wrap { left: clamp(260px, 26vw, 300px); }
}

@media (max-width: 860px) {
	.figma-container { width: calc(100% - 32px); padding-inline: 16px; }
	.figma-header__inner { grid-template-columns: 1fr auto; }
	.figma-header .nav-toggle { display: block; color: var(--figma-ink); }
	.figma-header .figma-nav { position: absolute; inset: 56px 0 auto; display: none; padding: 24px; background: var(--figma-paper); }
	.nav-open .figma-header .figma-nav { display: block; }
	.figma-nav__list { display: grid; gap: 0; }
	.figma-nav__list a { padding: 14px 0; border-bottom: 1px solid var(--figma-soft); }
	.figma-nav__list a::after { content: none; }
	.figma-header__actions { display: none; }
	.figma-hero { height: auto; min-height: calc(100svh - 56px); }
	.figma-hero__main { height: auto; min-height: calc(100svh - 64px); }
	.figma-hero__layout { grid-template-columns: 1fr; gap: 48px; padding-block: 64px 32px; }
	.figma-hero__content { gap: 42px; }
	.figma-hero h1 { gap: 8px; font-size: clamp(48px, 12vw, 76px); letter-spacing: -.05em; line-height: .86; }
	.figma-hero h1 span:nth-child(2) { text-align: left; }
	.figma-hero__actions { align-items: flex-start; gap: 32px; }
	.figma-hero__card { width: min(100%, 360px); }
	.figma-trust { height: auto; padding-block: 64px; }
	.figma-clients { height: auto; grid-template-columns: repeat(3, 1fr); }
	.figma-client { min-height: 112px; border-bottom: 1px solid var(--figma-soft); }
	.figma-projects { height: auto; padding-block: 64px; }
	.figma-projects__header { height: auto; flex-direction: column; align-items: flex-start; gap: 28px; }
	.figma-projects__header h2 { width: auto; font-size: 64px; line-height: .9; }
	.figma-projects__header p { width: auto; }
	.figma-projects__viewport { height: 472px; margin-top: 40px; }
	.figma-projects__track { margin-left: 16px; }
	.figma-project-card { width: min(82vw, 560px); height: 470px; flex-basis: min(82vw, 560px); padding: 32px; }
	.figma-project-card__media { width: 100%; height: 283px; }
	.figma-project-card__footer { display: grid; width: 100%; grid-template-columns: 128px 1fr; gap: 24px; }
	.figma-project-card__footer p { width: 100%; }
	.figma-services { height: auto; padding-block: 72px; }
	.figma-services__header { grid-template-columns: 1fr; align-items: start; gap: 32px; }
	.figma-services__header h2 { font-size: 64px; line-height: .9; }
	.figma-services__body { height: auto; flex-direction: column; align-items: flex-start; justify-content: stretch; gap: 40px; }
	.figma-services__list { width: 100%; }
	.figma-services__list [data-motion-service-row], .figma-services__list [data-motion-service-row]:nth-child(n) { height: auto; min-height: 112px; grid-template-columns: minmax(180px, 40%) 1fr; padding-block: 32px; }
	.figma-studio { padding-block: 72px; }
	.figma-studio__header { height: auto; grid-template-columns: 1fr; align-items: start; gap: 32px; }
	.figma-studio__header h2 { font-size: 64px; line-height: .9; }
	.figma-studio__feature { grid-template-columns: 1fr; margin-top: 56px; }
	.figma-studio__manifesto { height: auto; aspect-ratio: 799 / 446; }
	.figma-studio__profile { height: auto; min-height: 400px; }
	.figma-studio__profile p { width: min(100%, 520px); }
	.figma-process { height: auto; padding-top: 72px; }
	.figma-process__header { height: auto; flex-direction: column; align-items: flex-start; gap: 32px; }
	.figma-process__header h2, .figma-process__header p { width: 100%; }
	.figma-process__steps { height: auto; grid-template-columns: 1fr 1fr; }
	.figma-process__step:nth-child(n) { padding-top: 0; border-bottom: 1px solid var(--figma-soft); }
	.figma-studio__metrics { grid-template-columns: 1fr 1fr; gap: 40px 0; }
	.figma-studio__metrics > div:nth-child(2) { border-right: 0; }
	.figma-studio__metrics > div:nth-child(3) { padding-left: 0; }
	.figma-contact__main { height: auto; min-height: 720px; }
	.figma-contact__layout { grid-template-columns: 1fr; gap: 48px; padding-block: 56px; }
	.figma-contact__message { min-height: 255px; }
	.figma-contact__message h2 { font-size: 72px; }
	.figma-contact__message p { width: min(364px, 70%); }
	.figma-contact__glass-wrap { top: 80px; right: -160px; bottom: auto; left: auto; width: 440px; opacity: .78; }
	.figma-contact__card { width: min(100%, 430px); }
}

@media (max-width: 560px) {
	.figma-brand > span { display: none; }
	.figma-section-meta { height: auto; align-items: flex-start; gap: 18px; }
	.figma-section-meta > p { white-space: nowrap; }
	.figma-section-meta .figma-trust-period { align-self: center; }
	.figma-clients { grid-template-columns: repeat(2, 1fr); }
	.figma-hero__actions { flex-direction: column-reverse; }
	.figma-hero__actions > p { width: min(100%, 290px); }
	.figma-projects__viewport { height: 322px; }
	.figma-projects__track { height: 320px; }
	.figma-project-card { width: min(90vw, 420px); height: 320px; flex-basis: min(90vw, 420px); padding: 24px 18px; }
	.figma-project-card__media { width: 100%; height: auto; aspect-ratio: 528 / 283; flex-basis: auto; }
	.figma-project-card__window-bar { height: 34px; grid-template-columns: minmax(0, 1fr) 145px; padding: 5px 10px 0 11px; }
	.figma-project-card__window-bar > strong { font-size: 15px; line-height: 20px; }
	.figma-project-card__window-bar > div > span:first-child { max-width: 90px; overflow: hidden; font-size: 8px; letter-spacing: 1.4px; text-overflow: ellipsis; }
	.figma-project-card__window-bar > div { padding-top: 2px; }
	.figma-project-card__visual { top: 34px; height: auto; aspect-ratio: 528 / 220; }
	.figma-project-card__footer { display: grid; width: 100%; height: auto; grid-template-columns: 105px 1fr; gap: 14px; padding-inline: 2px; }
	.figma-project-card__footer p { font-size: 13px; line-height: 18px; }
	.figma-services__list [data-motion-service-row] { grid-template-columns: 1fr; gap: 14px; }
	.figma-services__list h3 { font-size: 28px; }
	.figma-studio__manifesto { height: 280px; aspect-ratio: auto; }
	.figma-studio__manifesto-copy:not(.figma-studio__manifesto-copy--baked) { top: auto; right: 24px; bottom: 20px; width: 218px; height: 219px; padding: 27px 28px; font-size: 15px; line-height: 22px; }
	.figma-studio__profile { min-height: 360px; padding: 24px; }
	.figma-process__header h2 { font-size: 42px; line-height: .95; }
	.figma-process__steps { grid-template-columns: 1fr; }
	.figma-studio__metrics { grid-template-columns: 1fr; gap: 32px; padding-top: 48px; }
	.figma-studio__metrics > div:nth-child(n) { border-right: 0; border-bottom: 1px solid var(--figma-soft); padding: 0 0 24px; }
	.figma-studio__metrics > div:last-child { border-bottom: 0; }
	.figma-contact__message h2 { font-size: 58px; }
	.figma-contact__message p { width: 78%; font-size: 20px; line-height: 26px; }
	.figma-contact__glass-wrap { top: 108px; right: -190px; width: 400px; }
	.figma-contact__card { height: auto; min-height: 366px; }
	.figma-contact__card h3 { font-size: 20px; line-height: 24px; }
	.figma-copyright { height: 112px; padding-top: 40px; }
}

/* Mobile composition — matched to the 390px Figma frame. */
@media (max-width: 560px) {
	:root { --figma-mobile-wide: min(358px, calc(100vw - 32px)); --figma-mobile-content: min(342px, calc(100vw - 48px)); --figma-mobile-narrow: min(326px, calc(100vw - 64px)); }
	.figma-container { width: var(--figma-mobile-wide); padding-inline: 0; }

	.figma-header { height: 56px; }
	.figma-header__inner { display: flex; width: var(--figma-mobile-content); height: 56px; justify-content: space-between; padding: 0; }
	.figma-header .nav-toggle,
	.figma-header .figma-nav,
	.figma-header .figma-language { display: none !important; }
	.figma-header__actions { display: flex; margin-left: auto; }
	.figma-header__actions .figma-button { width: max-content; min-width: 0; }
	.figma-header__actions .figma-button > span:first-child { font-size: 0; }
	.figma-header__actions .figma-button > span:first-child::before { font-size: 14px; line-height: 20px; content: attr(data-mobile-label); }

	.figma-hero { min-height: 680px; }
	.figma-hero__main { min-height: 680px; }
	.figma-hero__sequence-poster { inset: 0; width: 100%; height: 100%; }
	.figma-hero__sequence-poster img { object-fit: cover; }
	.figma-hero__layout { display: grid; width: var(--figma-mobile-narrow); height: 100%; min-height: 680px; grid-template-rows: 1fr auto; gap: 0; padding: 32px 0 24px; }
	.figma-hero__content { width: var(--figma-mobile-narrow); height: auto; justify-content: flex-start; gap: 24px; }
	.figma-hero__eyebrow { font-size: 11px; letter-spacing: .16em; line-height: 12px; }
	.figma-hero h1 { gap: 0; font-size: 32px; letter-spacing: -.64px; line-height: 36px; }
	.figma-hero h1 span { display: block; }
	.figma-hero__actions { width: var(--figma-mobile-narrow); flex-direction: column; align-items: flex-start; gap: 16px; }
	.figma-hero__actions > p { width: var(--figma-mobile-narrow); font-size: 16px; line-height: 24px; }
	.figma-hero__card { width: var(--figma-mobile-narrow); min-height: 152px; padding: 16px; border-radius: 8px; }
	.figma-hero__card p { font-size: 16px; line-height: 24px; }
	.figma-hero__card .figma-button { margin-top: auto; }

	.figma-trust { height: 844px; padding: 80px 0 0; }
	.figma-section-meta { width: var(--figma-mobile-wide); }
	.figma-clients { width: var(--figma-mobile-wide); height: 714px; min-height: 714px; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(6, 119px); margin-top: 32px; }
	.figma-client { min-height: 119px; border-bottom: 1px solid var(--figma-soft); }
	.figma-client img { width: min(82px, calc(100% - 32px)); max-height: 34px; }

	.figma-projects { height: auto; padding: 80px 0; }
	.figma-projects__header { display: flex; width: var(--figma-mobile-narrow); height: 74px; flex-direction: column; align-items: flex-start; gap: 16px; }
	.figma-projects__header h2 { width: auto; font-size: 40px; letter-spacing: -1.6px; line-height: 26px; }
	.figma-projects__header p { width: 100%; font-size: 14px; line-height: 16px; }
	.figma-projects__viewport { width: 100%; height: auto; margin-top: 32px; overflow: visible; }
	.figma-projects__track { display: flex; width: 100%; height: auto; flex-direction: column; align-items: center; gap: 32px; margin-left: 0; }
	.figma-project-card { width: min(356px, calc(100vw - 34px)); height: auto; min-height: 351px; flex: none; gap: 16px; padding: 0; border-right: 0; }
	.figma-project-card__media { width: 100%; height: 227px; flex: 0 0 227px; }
	.figma-project-card__window-bar { height: 48px; grid-template-columns: minmax(0, 1fr) 154px; padding: 8px 12px 0 14px; }
	.figma-project-card__window-bar > strong { padding-right: 10px; font-size: 16px; line-height: 20px; }
	.figma-project-card__window-bar > div { gap: 6px; padding-top: 3px; }
	.figma-project-card__window-bar > div > span:first-child { font-size: 8px; letter-spacing: 1.8px; line-height: 12px; }
	.figma-project-card__window-controls { gap: 6px; }
	.figma-project-card__visual { top: 56px; right: 0; bottom: 0; left: 0; height: auto; aspect-ratio: auto; background-image: var(--project-mockup-mobile, var(--project-mockup)); background-position: center bottom; background-size: 100% auto; background-repeat: no-repeat; }
	.figma-project-card__mockup { visibility: hidden; }
	.figma-project-card__footer { display: flex; width: 100%; min-height: 108px; flex-direction: column-reverse; align-items: flex-start; gap: 12px; padding: 0 8px; }
	.figma-project-card__footer p { width: 100%; font-size: 14px; line-height: 20px; }
	.figma-project-card__footer a { order: 0; }

	.figma-services { height: auto; min-height: 1282px; gap: 48px; padding: 88px 0; }
	.figma-services__header { display: grid; width: var(--figma-mobile-wide); height: 26px; grid-template-columns: 158px 1fr; align-items: end; gap: 28px; }
	.figma-services__header > div { height: 18px; }
	.figma-services__header > div p { font-size: 14px; line-height: 16px; }
	.figma-services__header h2 { font-size: 40px; letter-spacing: -1.6px; line-height: 26px; }
	.figma-services__body { display: flex; width: var(--figma-mobile-wide); height: auto; flex-direction: column; align-items: flex-start; gap: 32px; }
	.figma-services__cta { z-index: 2; order: 0; }
	.figma-services__list { width: 100%; }
	.figma-services__list [data-motion-service-row],
	.figma-services__list [data-motion-service-row]:nth-child(n) { display: grid; min-height: 200px; height: 200px; grid-template-columns: 1fr; gap: 32px; padding: 32px 0; }
	.figma-services__list [data-motion-service-row]:last-child { min-height: 168px; height: 168px; padding-bottom: 0; }
	.figma-services__list h3 { font-size: 18px; letter-spacing: -.36px; line-height: 32px; }
	.figma-services__list p { font-size: 14px; line-height: 24px; }

	.figma-studio { padding: 80px 0; }
	.figma-studio__header { display: grid; width: var(--figma-mobile-wide); height: 26px; grid-template-columns: 1fr auto; align-items: center; gap: 0; }
	.figma-studio__header > div { height: 18px; }
	.figma-studio__header > div p { font-size: 16px; letter-spacing: -.64px; line-height: 16px; }
	.figma-studio__header h2 { font-size: 40px; letter-spacing: -1.6px; line-height: 26px; }
	.figma-studio__feature { display: flex; width: var(--figma-mobile-wide); flex-direction: column; gap: 32px; margin-top: 40px; }
	.figma-studio__manifesto { width: 100%; height: 575px; aspect-ratio: auto; border-radius: 16px; }
	.figma-studio__manifesto::before { display: none; }
	.figma-studio__manifesto-background { display: block; top: 50%; left: 50%; width: 636px; height: 358px; transform: translate(-50%, -50%) rotate(90deg); }
	.figma-studio__wordmark { top: 32px; left: 32px; width: 218px; height: 44px; }
	.figma-studio__selection { top: auto; right: auto; bottom: 32px; left: 50%; width: 279px; height: 177px; border-color: rgba(200,250,78,.275); transform: translateX(-50%); }
	.figma-studio__selection::before,
	.figma-studio__selection::after { border-color: rgba(200,250,78,.275); background: rgba(13,13,12,.55); }
	.figma-studio__selection::before { box-shadow: 279px 0 0 -1.5px rgba(13,13,12,.55), 279px 0 0 0 rgba(200,250,78,.275); }
	.figma-studio__selection::after { box-shadow: 279px 0 0 -1.5px rgba(13,13,12,.55), 279px 0 0 0 rgba(200,250,78,.275); }
	.figma-studio__selection p { top: 27px; left: 27px; width: 223px; font-size: 16px; line-height: 24px; }
	.figma-studio__selection br { display: none; }
	.figma-studio__toolbar { display: none; }
	.figma-studio__profile { width: 100%; min-height: 351px; padding: 0; }
	.figma-studio__profile img { width: 142px; height: 175px; }
	.figma-studio__profile p { width: 100%; font-size: 16px; line-height: 24px; }

	.figma-process { padding-top: 80px; }
	.figma-process__header { width: var(--figma-mobile-wide); height: 226px; flex-direction: column; align-items: flex-start; gap: 10px; }
	.figma-process__header h2 { width: 100%; font-size: 32px; letter-spacing: -.64px; line-height: 32px; }
	.figma-process__header p { width: 100%; font-size: 16px; line-height: 24px; }
	.figma-process__steps { display: flex; width: var(--figma-mobile-wide); height: auto; flex-direction: column; gap: 16px; margin-top: 32px; }
	.figma-process__step,
	.figma-process__step:nth-child(n) { height: auto; min-height: 0; border: 0; padding-top: 0; }
	.figma-process__card { gap: 16px; padding: 24px; }
	.figma-process__card > p { font-size: 16px; line-height: 24px; }
	.figma-studio__metrics { width: var(--figma-mobile-wide); min-height: 449px; grid-template-columns: repeat(2, 155px); gap: 32px; margin-top: 80px; padding-top: 80px; }
	.figma-studio__metrics > div,
	.figma-studio__metrics > div:nth-child(n) { min-height: 0; border: 0; padding: 0; }
	.figma-studio__metrics strong { font-size: 48px; letter-spacing: -.96px; line-height: 48px; }
	.figma-studio__metrics b { font-size: 16px; letter-spacing: -.64px; line-height: 24px; }
	.figma-studio__metrics p { margin-top: 0; font-size: 16px; letter-spacing: -.64px; line-height: 24px; }

	.figma-contact { padding-inline: 8px; }
	.figma-contact__main { min-height: 762px; height: 762px; border-radius: 8px; }
	.figma-contact__layout { display: grid; width: 310px; height: 100%; grid-template-columns: 1fr; grid-template-rows: 378px 310px; gap: 10px; padding: 32px 0; }
	.figma-contact__message { display: flex; min-height: 0; flex-direction: column; gap: 24px; }
	.figma-contact__message h2 { font-size: 32px; letter-spacing: -.64px; line-height: 32px; }
	.figma-contact__message p { position: static; width: 150px; font-size: 18px; font-weight: 500; letter-spacing: -.36px; line-height: 24px; }
	.figma-contact__glass-wrap { top: 55.64px; right: auto; bottom: auto; left: -22.18px; display: grid; width: 552.36px; height: 578.71px; overflow: visible; place-items: center; opacity: 1; mix-blend-mode: normal; }
	.figma-contact__glass { position: static; width: 428px; max-width: none; height: 500px; object-fit: fill; clip-path: inset(0 0 2px); transform: rotate(30deg); }
	.figma-contact__card { width: 310px; height: 310px; min-height: 310px; padding: 24px; }
	.figma-contact__card p { font-size: 16px; letter-spacing: -.32px; line-height: 24px; }
	.figma-contact__card .figma-button { max-width: 100%; }
	.figma-copyright { height: 80px; padding-top: 16px; }
	.figma-copyright .figma-container { width: 262px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Institutional page system */
.page-hero { min-height: 78svh; padding: 180px 0 92px; }
.page-hero--blue { background: var(--blue); color: var(--white); }
.page-hero--paper { background: var(--paper); color: var(--ink); }
.page-hero--ink { background: #16180f; color: var(--white); }
.page-hero--coral { background: var(--coral); color: var(--ink); }
.page-hero__grid { display: grid; grid-template-columns: 18% minmax(0, 1.16fr) minmax(260px, .46fr); gap: 42px; align-items: end; }
.page-hero__title { max-width: 960px; margin: 0; font-size: clamp(56px, 7.25vw, 122px); font-weight: 500; letter-spacing: -.075em; line-height: .84; }
.page-hero__aside { max-width: 390px; padding-bottom: 8px; }
.page-hero__aside p { margin: 0 0 30px; font-size: 16px; line-height: 1.48; }
.page-hero--paper .text-link { border-color: var(--ink); color: var(--ink); }
.page-hero--paper .text-link:hover { color: var(--coral); }
.page-hero--coral .text-link { border-color: var(--ink); color: var(--ink); }
.page-hero--coral .text-link:hover { color: var(--white); }

.service-detail { padding: 0 0 132px; background: var(--paper); color: var(--ink); }
.service-detail__item { display: grid; grid-template-columns: 18% minmax(0, 1.05fr) minmax(210px, .42fr); gap: 42px; padding: 41px 0 48px; border-bottom: 1px solid var(--line-dark); }
.service-detail__item > .section-label { padding-top: 7px; }
.service-detail__item h2 { margin: 0 0 18px; font-size: clamp(35px, 4.2vw, 67px); font-weight: 500; letter-spacing: -.065em; line-height: .88; }
.service-detail__item div > p { max-width: 620px; margin: 0; font-size: 17px; line-height: 1.48; }
.service-detail__item ul { display: grid; gap: 8px; margin: 5px 0 0; padding: 0; list-style: none; font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.service-detail__item li { padding-bottom: 8px; border-bottom: 1px solid var(--line-dark); }
.dark-promise { padding: 130px 0; background: var(--ink); color: var(--white); }
.dark-promise__grid { display: grid; grid-template-columns: 18% minmax(0, 1.05fr) minmax(240px, .47fr); gap: 42px; }
.dark-promise h2 { max-width: 880px; margin: 0; font-size: clamp(42px, 5.3vw, 88px); font-weight: 500; letter-spacing: -.07em; line-height: .87; }
.dark-promise__grid > div { padding-top: 6px; }
.dark-promise__grid > div p { margin: 0 0 31px; color: rgba(255,253,248,.67); font-size: 16px; line-height: 1.48; }

.case-feature { padding: 90px 0; background: var(--paper); color: var(--ink); }
.case-feature__grid { display: grid; grid-template-columns: minmax(0, 1.17fr) minmax(270px, .55fr); gap: 9%; align-items: center; }
.case-feature__visual { background: var(--ink); }
.case-feature__visual img { width: 100%; aspect-ratio: 1.22 / 1; object-fit: cover; }
.case-feature__copy h2 { margin: 22px 0 26px; font-size: clamp(49px, 5vw, 84px); font-weight: 500; letter-spacing: -.075em; line-height: .84; }
.case-feature__copy > p:not(.section-label) { margin: 0 0 33px; font-size: 17px; line-height: 1.48; }
.project-cms { padding: 105px 0 132px; background: #dce7e5; color: var(--ink); }
.project-cms__heading { display: grid; grid-template-columns: 18% minmax(0, 1fr); gap: 42px; margin-bottom: 48px; }
.project-cms__heading > p:last-child { max-width: 490px; margin: 0; font-size: 16px; }
.project-cms__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-dark); }
.cms-project { min-height: 360px; padding: 22px; background: var(--paper); transition: background .25s ease, color .25s ease; }
.cms-project:hover { background: var(--blue); color: var(--white); }
.cms-project img { width: 100%; height: 190px; margin-bottom: 22px; object-fit: cover; }
.cms-project span { font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.cms-project h2 { margin: 10px 0; font-size: 34px; font-weight: 500; letter-spacing: -.055em; line-height: .9; }
.cms-project p { margin: 0; font-size: 14px; line-height: 1.4; }
.project-cms__empty { padding: 55px 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.project-cms__empty p { max-width: 420px; margin: 0; font-size: 20px; }

.studio-story { padding: 132px 0; background: var(--paper); color: var(--ink); }
.studio-story__grid { display: grid; grid-template-columns: 18% minmax(0, 1.06fr) minmax(245px, .48fr); gap: 42px; }
.studio-story h2 { max-width: 820px; margin: 0 0 35px; font-size: clamp(44px, 5.3vw, 88px); font-weight: 500; letter-spacing: -.07em; line-height: .86; }
.studio-story__grid > div p { max-width: 650px; margin: 0 0 18px; font-size: 17px; line-height: 1.5; }
.studio-stats { margin: 0; }
.studio-stats div { padding: 17px 0; border-top: 1px solid var(--line-dark); }
.studio-stats div:last-child { border-bottom: 1px solid var(--line-dark); }
.studio-stats dt { font-size: 58px; font-weight: 500; letter-spacing: -.08em; line-height: .82; }
.studio-stats dd { margin: 8px 0 0; font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.principles { padding: 125px 0; background: var(--blue); color: var(--white); }
.principles > .shell > .section-label { margin-bottom: 53px; }
.principles__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,.38); }
.principles__grid article { min-height: 365px; padding: 22px; background: var(--blue); }
.principles__grid span { color: var(--acid); font-family: var(--mono); font-size: 11px; }
.principles__grid h2 { margin: 74px 0 16px; font-size: 33px; font-weight: 500; letter-spacing: -.055em; line-height: .91; }
.principles__grid p { margin: 0; color: rgba(255,253,248,.73); font-size: 15px; line-height: 1.45; }

.partnering { padding: 132px 0; background: var(--paper); color: var(--ink); }
.partnering__grid { display: grid; grid-template-columns: 18% minmax(0, 1fr); gap: 42px; }
.partnering__list { border-top: 1px solid var(--line-dark); }
.partnering__list article { display: grid; grid-template-columns: 16% minmax(0, .9fr) minmax(220px, .45fr); gap: 25px; padding: 29px 0; border-bottom: 1px solid var(--line-dark); }
.partnering__list span { padding-top: 7px; font-family: var(--mono); font-size: 11px; }
.partnering__list h2 { margin: 0; font-size: clamp(29px, 3.5vw, 51px); font-weight: 500; letter-spacing: -.06em; line-height: .88; }
.partnering__list p { margin: 0; font-size: 15px; line-height: 1.46; }

.contact-page { min-height: 100svh; padding: 178px 0 128px; background: #15180e; color: var(--white); }
.contact-page__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(330px, .72fr); gap: 13%; align-items: start; }
.contact-page__intro h1 { max-width: 820px; margin: 23px 0 30px; font-size: clamp(52px, 6.3vw, 108px); font-weight: 500; letter-spacing: -.075em; line-height: .84; }
.contact-page__intro > p:not(.section-label) { max-width: 510px; margin: 0 0 38px; color: rgba(255,253,248,.7); font-size: 17px; line-height: 1.5; }
.contact-page__email { display: inline-block; border-bottom: 1px solid var(--acid); padding-bottom: 7px; color: var(--acid); font-size: clamp(18px, 2.1vw, 30px); letter-spacing: -.05em; }
.contact-form--page { margin-top: 5px; }

.insights-list { padding: 50px 0 132px; background: var(--paper); color: var(--ink); }
.insight-row { display: grid; grid-template-columns: 18% minmax(0, 1fr) 40px; gap: 42px; align-items: start; padding: 28px 0; border-top: 1px solid var(--line-dark); }
.insight-row:last-child { border-bottom: 1px solid var(--line-dark); }
.insight-row > p, .insight-row span { margin: 0; font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.insight-row h2 { max-width: 870px; margin: 13px 0 0; font-size: clamp(31px, 3.9vw, 61px); font-weight: 500; letter-spacing: -.065em; line-height: .89; }
.insight-row h2 a:hover { color: var(--coral); }
.insight-row > a { font-size: 22px; text-align: right; }

.case-study { background: var(--paper); color: var(--ink); }
.case-study__hero { padding: 184px 0 94px; background: #0c0d0a; color: var(--white); }
.case-study__hero-grid { display: grid; grid-template-columns: 18% minmax(0, 1fr); gap: 42px; }
.case-study__tag { margin: 0 0 23px; color: var(--acid); font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.case-study__hero h1 { margin: 0; font-size: clamp(70px, 10vw, 172px); font-weight: 500; letter-spacing: -.09em; line-height: .78; }
.case-study__intro { max-width: 530px; margin: 42px 0 0; color: rgba(255,253,248,.72); font-size: 19px; line-height: 1.45; }
.case-study__cover { padding: 0 0 88px; background: #0c0d0a; }
.case-study__cover img { width: 100%; max-height: 720px; object-fit: cover; }
.case-study__context { padding: 126px 0; }
.case-study__context-grid { display: grid; grid-template-columns: 18% minmax(0, 1fr) minmax(250px, .45fr); gap: 42px; }
.case-study__context h2 { max-width: 790px; margin: 0 0 32px; font-size: clamp(44px, 5.4vw, 89px); font-weight: 500; letter-spacing: -.07em; line-height: .86; }
.case-study__context div > p { max-width: 600px; margin: 0; font-size: 17px; line-height: 1.5; }
.case-study__facts { margin: 4px 0 0; }
.case-study__facts div { padding: 15px 0; border-top: 1px solid var(--line-dark); }
.case-study__facts div:last-child { border-bottom: 1px solid var(--line-dark); }
.case-study__facts dt { margin-bottom: 7px; font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.case-study__facts dd { margin: 0; font-size: 16px; }
.case-study__roles { padding: 120px 0; background: #dfe9da; }
.case-study__roles > .shell > .section-label { margin-bottom: 51px; }
.case-study__roles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-dark); }
.case-study__roles-grid article { min-height: 320px; padding: 23px; background: #dfe9da; }
.case-study__roles-grid span { font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.case-study__roles-grid h2 { margin: 80px 0 15px; font-size: 42px; font-weight: 500; letter-spacing: -.06em; line-height: .9; }
.case-study__roles-grid p { margin: 0; font-size: 15px; line-height: 1.45; }
.case-study__cta { padding: 126px 0; background: var(--coral); }
.case-study__cta h2 { max-width: 880px; margin: 22px 0 37px; font-size: clamp(48px, 6vw, 103px); font-weight: 500; letter-spacing: -.075em; line-height: .84; }
.case-study__cta .text-link { border-color: var(--ink); color: var(--ink); }
.case-study__cta .text-link:hover { color: var(--white); }

.standard-page, .single-project { min-height: 75svh; padding: 176px 0 120px; background: var(--paper); color: var(--ink); }
.standard-page__header { max-width: 980px; padding-bottom: 64px; border-bottom: 1px solid var(--line-dark); }
.standard-page__header h1, .single-project__header h1 { margin: 21px 0 0; font-size: clamp(54px, 7vw, 120px); font-weight: 500; letter-spacing: -.08em; line-height: .82; }
.standard-page__content, .single-project__content { max-width: 770px; padding-top: 52px; font-size: 18px; line-height: 1.58; }
.single-project__header { padding-bottom: 74px; }
.single-project__header > .shell > p:not(.section-label) { max-width: 560px; margin: 30px 0 0; font-size: 18px; }
.single-project__image img { width: 100%; max-height: 720px; object-fit: cover; }

@media (max-width: 960px) {
	.page-hero__grid, .service-detail__item, .dark-promise__grid, .studio-story__grid, .partnering__grid, .case-study__context-grid { grid-template-columns: 1fr; }
	.page-hero { min-height: auto; }
	.page-hero__aside { max-width: 490px; }
	.service-detail__item, .dark-promise__grid, .studio-story__grid, .partnering__grid, .case-study__context-grid { gap: 27px; }
	.project-cms__grid { grid-template-columns: repeat(2, 1fr); }
	.principles__grid { grid-template-columns: repeat(2, 1fr); }
	.partnering__list article { grid-template-columns: 60px minmax(0, 1fr); }
	.partnering__list p { grid-column: 2; }
	.contact-page__grid { gap: 70px; }
	.case-study__hero-grid { grid-template-columns: 1fr; }
}

@media (max-width: 660px) {
	.page-hero, .contact-page, .case-study__hero, .standard-page, .single-project { padding-top: 128px; }
	.page-hero { padding-bottom: 76px; }
	.page-hero__title { font-size: clamp(48px, 14.5vw, 74px); }
	.service-detail, .dark-promise, .studio-story, .principles, .partnering, .contact-page, .insights-list, .case-study__context, .case-study__roles, .case-study__cta { padding-top: 82px; padding-bottom: 82px; }
	.service-detail__item { padding: 28px 0 33px; }
	.service-detail__item h2 { font-size: 43px; }
	.dark-promise h2, .studio-story h2, .case-study__context h2 { font-size: clamp(41px, 12vw, 61px); }
	.case-feature { padding: 58px 0; }
	.case-feature__grid, .contact-page__grid { grid-template-columns: 1fr; gap: 45px; }
	.project-cms { padding: 75px 0 82px; }
	.project-cms__heading { grid-template-columns: 1fr; gap: 25px; }
	.project-cms__grid, .principles__grid, .case-study__roles-grid { grid-template-columns: 1fr; }
	.cms-project { min-height: 290px; }
	.principles__grid article, .case-study__roles-grid article { min-height: 270px; }
	.principles__grid h2, .case-study__roles-grid h2 { margin-top: 53px; }
	.partnering__list article { grid-template-columns: 36px minmax(0, 1fr); gap: 14px; }
	.partnering__list p { grid-column: 2; }
	.contact-page__intro h1 { font-size: clamp(50px, 14vw, 72px); }
	.insight-row { grid-template-columns: 1fr 24px; gap: 13px; }
	.insight-row > p { grid-column: 1 / -1; }
	.insight-row h2 { font-size: 40px; }
	.case-study__hero h1 { font-size: clamp(66px, 18vw, 105px); }
	.case-study__cover { padding-bottom: 55px; }
	.case-study__intro { font-size: 17px; }
	.case-study__roles > .shell > .section-label { margin-bottom: 30px; }
}
