:root {
  --font-geist-sans: Arial;
  --font-geist-mono: "Courier New";
  --night: #0c171d;
  --night-2: #13232b;
  --red: #f04432;
  --red-bright: #ff604c;
  --paper: #efeee9;
  --white: #fbfbf8;
  --ink: #12242c;
  --steel: #66777e;
  --line: rgba(18, 36, 44, .2);
  --line-dark: rgba(255, 255, 255, .17);
  --background: var(--paper);
  --foreground: var(--ink);
  --primary: var(--red);
  --primary-foreground: white;
  --muted: #dfe2df;
  --muted-foreground: var(--steel);
  --border: var(--line);
  --ring: var(--red);
  --radius: 0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: var(--font-geist-sans), Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.site-header { height: 82px; padding: 0 clamp(18px, 3.8vw, 72px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; position: absolute; inset: 0 0 auto; z-index: 10; border-bottom: 1px solid var(--line-dark); color: white; }
.brand { width: 218px; height: 57px; display: flex; align-items: center; }
.brand img { width: 100%; height: 100%; object-fit: contain; object-position: left; }
.site-header nav { display: flex; gap: 32px; font-size: 11px; font-weight: 720; letter-spacing: .035em; }
.site-header nav a:hover { color: var(--red-bright); }
.header-cta, .primary-cta { min-height: 44px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--red); background: var(--red); color: white; font-size: 11px; font-weight: 780; letter-spacing: .035em; }
.header-cta { justify-self: end; }
.header-cta svg, .primary-cta svg { width: 15px; }

.hero { min-height: 950px; padding: 145px clamp(18px, 4.6vw, 88px) 68px; display: grid; grid-template-columns: minmax(0, .9fr) minmax(540px, 1.1fr); gap: clamp(48px, 6vw, 105px); align-items: center; position: relative; overflow: hidden; background: var(--night); color: white; }
.hero::before { content: ''; position: absolute; inset: 0; opacity: .37; background-image: linear-gradient(var(--line-dark) 1px, transparent 1px), linear-gradient(90deg, var(--line-dark) 1px, transparent 1px); background-size: 62px 62px; mask-image: linear-gradient(90deg, black, transparent 72%); }
.hero-copy, .solution-explorer { position: relative; z-index: 1; }
.eyebrow, .section-code { margin: 0; display: flex; align-items: center; gap: 10px; color: #9aabb1; font: 700 9px var(--font-geist-mono), monospace; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow span { width: 34px; height: 2px; background: var(--red); }
.hero h1 { max-width: 870px; margin: 32px 0 0; font-size: clamp(55px, 6.2vw, 106px); font-weight: 720; line-height: .91; letter-spacing: -.07em; }
.hero h1 strong { display: block; color: var(--red); font-weight: inherit; }
.hero-lead { max-width: 660px; margin: 34px 0 0; color: #adbbc0; font-size: clamp(16px, 1.25vw, 20px); line-height: 1.65; }
.hero-actions { margin-top: 37px; display: flex; align-items: center; gap: 26px; }
.primary-cta { min-height: 50px; padding-inline: 22px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 7px; border-bottom: 1px solid #73848a; font-size: 11px; font-weight: 750; }
.text-link svg { width: 15px; }

.solution-explorer { min-height: 620px; gap: 0; border: 1px solid rgba(255,255,255,.28); background: var(--paper); color: var(--ink); box-shadow: 18px 18px 0 rgba(240,68,50,.13); }
.explorer-topline { padding: 14px 16px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); color: var(--steel); font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .1em; }
.explorer-tabs { width: 100%; height: auto; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.explorer-trigger { height: 96px; padding: 13px; display: flex; align-items: flex-start; justify-content: space-between; flex-direction: column; border-right: 1px solid var(--line); border-radius: 0; color: var(--steel); font: 700 9px var(--font-geist-mono), monospace; text-transform: uppercase; }
.explorer-trigger:last-child { border-right: 0; }
.explorer-trigger[data-active] { background: var(--red); color: white; }
.explorer-trigger svg { width: 18px; }
.explorer-panel { min-height: 480px; padding: 28px; display: grid; grid-template-columns: .3fr 1.18fr .72fr; gap: 26px; }
.explorer-panel[hidden] { display: none; }
.explorer-index { color: rgba(18,36,44,.12); font: 800 88px/1 var(--font-geist-mono), monospace; letter-spacing: -.1em; }
.explorer-copy { align-self: center; }
.explorer-copy > span, .explorer-output > span { color: var(--red); font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .12em; }
.explorer-copy h2 { max-width: 470px; margin: 17px 0; font-size: clamp(38px, 3.3vw, 58px); line-height: .94; letter-spacing: -.06em; }
.explorer-copy p { max-width: 360px; color: var(--steel); font-size: 14px; line-height: 1.55; }
.explorer-output { align-self: end; padding: 20px; border: 1px solid var(--line); background: var(--white); }
.explorer-output strong { display: block; margin: 38px 0 28px; font-size: 19px; line-height: 1.1; }
.explorer-output a { display: flex; justify-content: space-between; padding-top: 13px; border-top: 1px solid var(--line); font-size: 11px; font-weight: 760; }
.explorer-output svg { width: 15px; }

.signal-bar { min-height: 62px; padding: 14px clamp(18px, 4.6vw, 88px); display: flex; align-items: center; justify-content: space-between; gap: 20px; overflow: hidden; background: var(--red); color: white; font: 760 9px var(--font-geist-mono), monospace; letter-spacing: .11em; text-transform: uppercase; white-space: nowrap; }
.signal-bar i { width: 4px; height: 4px; background: var(--night); transform: rotate(45deg); }

.architecture, .project-lab, .scope, .method { padding: clamp(85px, 8.5vw, 145px) clamp(18px, 4.6vw, 88px); }
.architecture-head, .project-lab-head { margin-bottom: 70px; display: grid; grid-template-columns: minmax(150px,.38fr) minmax(0,1.62fr); gap: 55px; }
.section-code { padding-top: 8px; color: var(--red); }
.architecture h2, .project-lab h2, .scope h2, .method h2, .contact h2 { margin: 0; font-size: clamp(44px, 5.1vw, 82px); font-weight: 690; line-height: .96; letter-spacing: -.063em; }
.system-map { display: grid; grid-template-columns: 1fr .82fr 1fr; border: 1px solid var(--line); background: var(--white); }
.map-column { display: grid; grid-template-rows: auto repeat(4,1fr); }
.map-column > p { margin: 0; padding: 16px 20px; color: var(--steel); border-bottom: 1px solid var(--line); font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .11em; }
.map-column > span { min-height: 84px; padding: 20px; display: flex; align-items: center; gap: 20px; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 700; }
.map-column > span:last-child { border-bottom: 0; }
.map-column b { color: var(--red); font: 700 9px var(--font-geist-mono), monospace; }
.map-column--output { text-align: right; }
.map-column--output span { justify-content: flex-end; }
.map-core { padding: 30px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; border-inline: 1px solid var(--line); background: var(--night); color: white; }
.map-core::after { content: ''; width: 250px; height: 250px; position: absolute; right: -125px; top: 50%; border: 1px solid rgba(240,68,50,.5); border-radius: 50%; transform: translateY(-50%); box-shadow: 0 0 0 45px rgba(240,68,50,.04), 0 0 0 90px rgba(240,68,50,.025); }
.map-core span { color: var(--red); font: 800 56px var(--font-geist-mono), monospace; letter-spacing: -.09em; }
.map-core strong { position: relative; z-index: 1; font: 760 clamp(24px,2.4vw,38px)/1.2 var(--font-geist-mono), monospace; }
.map-core small { color: #819399; font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .12em; }
.architecture-note { margin-top: 26px; padding-top: 22px; display: grid; grid-template-columns: .38fr 1.62fr; gap: 55px; border-top: 1px solid var(--line); }
.architecture-note span { color: var(--red); font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .12em; }
.architecture-note p { max-width: 820px; margin: 0; color: var(--steel); font-size: 16px; line-height: 1.65; }

.project-lab { background: var(--night); color: white; }
.project-lab-head .section-code { color: var(--red-bright); }
.project-lab-head > div > p { max-width: 650px; margin: 25px 0 0; color: #98a8ae; line-height: 1.65; }
.project-stack { display: grid; gap: 32px; }
.live-project { display: grid; grid-template-columns: 1.42fr .58fr; border: 1px solid var(--line-dark); }
.live-project-bar { min-height: 48px; padding: 0 16px; grid-column: 1/-1; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid var(--line-dark); background: #081116; color: #84959b; font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .08em; }
.live-project-bar > div { display: flex; gap: 6px; }
.live-project-bar i { width: 7px; height: 7px; border-radius: 50%; background: #3d4c52; }
.live-project-bar i:first-child { background: var(--red); }
.live-project-bar b { justify-self: end; color: #82d39b; font-size: 8px; }
.live-project-screen { min-height: 650px; position: relative; overflow: hidden; border-right: 1px solid var(--line-dark); }
.live-project-screen::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 60%,rgba(5,14,18,.55)); }
.live-project-screen img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: top; transition: transform .5s ease; }
.live-project-screen:hover img { transform: scale(1.012); }
.live-project-screen > span { position: absolute; left: 24px; bottom: 24px; z-index: 2; padding: 14px 17px; display: flex; align-items: center; gap: 16px; background: var(--red); color: white; font: 760 9px var(--font-geist-mono), monospace; letter-spacing: .1em; }
.live-project-screen svg { width: 16px; }
.live-project-meta { padding: 28px; display: flex; flex-direction: column; background: #101e25; }
.live-project-meta > div:first-child { display: flex; justify-content: space-between; color: #798b92; font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .1em; }
.live-project-meta h3 { margin: auto 0 16px; color: var(--red); font-size: clamp(54px,5.5vw,90px); line-height: .8; letter-spacing: -.075em; }
.live-project-meta > p { margin: 0 0 34px; color: #a0afb4; font-size: 14px; line-height: 1.65; }
.live-project-meta dl { margin: 0 0 28px; }
.live-project-meta dl > div { padding: 11px 0; display: grid; grid-template-columns: 80px 1fr; border-bottom: 1px solid var(--line-dark); }
.live-project-meta dt { color: #75878d; font: 700 8px var(--font-geist-mono), monospace; text-transform: uppercase; }
.live-project-meta dd { margin: 0; font-size: 11px; font-weight: 680; }
.live-project-meta dd i { width: 6px; height: 6px; margin-right: 7px; display: inline-block; border-radius: 50%; background: #6ed18f; }
.demo-cta, .case-cta { min-height: 48px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; font-size: 10px; font-weight: 760; }
.demo-cta { background: var(--red); color: white; }
.case-cta { margin-top: 9px; border: 1px solid var(--line-dark); color: #bec8cb; }
.demo-cta svg, .case-cta svg { width: 15px; }
.fixiagro-screen { isolation: isolate; background: #033b30; }
.fixiagro-screen::after { z-index: 1; background: linear-gradient(90deg,rgba(2,34,28,.15),rgba(2,34,28,.02) 52%,rgba(2,34,28,.52)); }
.fixiagro-screen .fixiagro-screen-bg { z-index: -1; opacity: .95; object-position: center; }
.fixiagro-screen .fixiagro-screen-logo { width: min(32%,260px); height: auto; inset: 56px auto auto 52px; z-index: 2; object-fit: contain; }
.fixiagro-screen > p { max-width: 470px; margin: 0; position: absolute; left: 52px; top: 47%; z-index: 2; color: white; font-size: clamp(30px,3.6vw,58px); font-weight: 680; line-height: .98; letter-spacing: -.055em; }
.fixiagro-screen .fixiagro-screen-products { width: min(62%,670px); height: auto; inset: auto -2% -4% auto; z-index: 2; object-fit: contain; filter: drop-shadow(0 25px 30px rgba(0,0,0,.35)); }
.live-project--fixiagro .live-project-meta { background: #0b2822; }
.live-project--fixiagro .live-project-meta h3 { color: #a9d72f; }
.live-project--fixiagro .demo-cta { background: #a9d72f; color: #10241e; }
.live-project--secondary { grid-template-columns: 1.15fr .85fr; }
.live-project--secondary .live-project-screen { min-height: 520px; }

.scope { display: grid; grid-template-columns: .42fr 1.58fr; gap: clamp(60px,8vw,130px); }
.scope-index { display: flex; flex-direction: column; align-items: flex-start; }
.scope-index > span { margin-top: auto; color: var(--red); font: 800 clamp(120px,15vw,240px)/.7 var(--font-geist-mono), monospace; letter-spacing: -.12em; }
.scope-index small { margin-top: 24px; color: var(--steel); font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .13em; }
.scope-list h2 { max-width: 1000px; margin-bottom: 65px; }
.scope-list article { min-height: 118px; padding: 22px 0; display: grid; grid-template-columns: 55px 1fr 1fr 90px; gap: 24px; align-items: center; border-top: 1px solid var(--line); }
.scope-list article:last-child { border-bottom: 1px solid var(--line); }
.scope-list article > span { color: var(--red); font: 700 9px var(--font-geist-mono), monospace; }
.scope-list h3 { margin: 0; font-size: clamp(22px,2.2vw,34px); letter-spacing: -.045em; }
.scope-list p { margin: 0; color: var(--steel); font-size: 13px; line-height: 1.55; }
.scope-list b { justify-self: end; color: #9aa5a8; font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .1em; }

.method { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(60px,8vw,125px); background: #dce1df; }
.method-copy { align-self: start; position: sticky; top: 40px; }
.method-copy h2 { margin-top: 28px; }
.method-copy > p:last-child { max-width: 520px; margin: 26px 0 0; color: var(--steel); line-height: 1.65; }
.method-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.method-steps li { min-height: 170px; padding: 25px 0; display: grid; grid-template-columns: 52px 1fr auto; gap: 22px; align-items: center; border-bottom: 1px solid var(--line); }
.method-steps li > span { color: var(--red); font: 700 9px var(--font-geist-mono), monospace; }
.method-steps h3 { margin: 0 0 9px; font-size: clamp(25px,2.4vw,37px); letter-spacing: -.045em; }
.method-steps p { margin: 0; color: var(--steel); font-size: 13px; }
.method-steps b { color: #909d9f; font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .1em; }

.contact { min-height: 620px; padding: clamp(85px,8.5vw,145px) clamp(18px,4.6vw,88px); display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; background: var(--red); color: white; }
.contact::after { content: '→'; position: absolute; right: -4vw; top: -10vw; color: rgba(12,23,29,.12); font-size: min(60vw,800px); font-weight: 900; line-height: 1; }
.contact > * { position: relative; z-index: 1; }
.contact .section-code { color: var(--night); }
.contact-main { display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: end; }
.contact-main > div { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.55); }
.contact-main p { margin: 0 0 40px; font-size: 16px; line-height: 1.65; }
.contact-main a { display: flex; justify-content: space-between; gap: 18px; padding-bottom: 11px; border-bottom: 1px solid white; font-weight: 760; overflow-wrap: anywhere; }
.contact-main svg { width: 17px; flex: none; }

.site-footer { padding: 55px clamp(18px,4.6vw,88px) 26px; display: grid; grid-template-columns: 1.2fr 1fr .65fr; gap: 40px; background: #081116; color: #819299; }
.site-footer img { width: 214px; height: 62px; object-fit: contain; object-position: left; }
.site-footer p { max-width: 340px; margin: 7px 0 0; font-size: 12px; line-height: 1.6; }
.site-footer nav { display: flex; flex-direction: column; gap: 11px; color: white; font-size: 11px; }
.site-footer > span { grid-column: 1/-1; padding-top: 21px; border-top: 1px solid var(--line-dark); font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .1em; }

/* Project case */
.case-page { background: var(--paper); }
.case-header { height: 80px; padding: 0 clamp(18px,4.6vw,88px); display: flex; align-items: center; justify-content: space-between; background: var(--night); color: white; border-bottom: 1px solid var(--line-dark); }
.case-header > a:first-child { width: 205px; height: 56px; }
.case-header img { width: 100%; height: 100%; object-fit: contain; object-position: left; }
.case-back { display: flex; align-items: center; gap: 9px; font-size: 11px; font-weight: 720; }
.case-back svg { width: 15px; }
.case-hero { padding: clamp(65px,7vw,110px) clamp(18px,4.6vw,88px) 0; }
.case-kicker { display: flex; align-items: center; justify-content: space-between; color: var(--steel); font: 700 9px var(--font-geist-mono), monospace; letter-spacing: .1em; }
.case-kicker span { color: var(--red); }
.case-hero h1 { margin: 38px 0 32px; font-size: clamp(90px,16vw,245px); font-weight: 760; line-height: .78; letter-spacing: -.085em; }
.case-summary { margin-bottom: 52px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; }
.case-summary > p { max-width: 750px; margin: 0; font-size: clamp(21px,2.1vw,32px); line-height: 1.35; letter-spacing: -.03em; }
.case-summary dl { margin: 0; }
.case-summary dl > div { padding: 12px 0; display: grid; grid-template-columns: 86px 1fr; border-bottom: 1px solid var(--line); }
.case-summary dt { color: var(--steel); font: 700 8px var(--font-geist-mono), monospace; text-transform: uppercase; }
.case-summary dd { margin: 0; font-size: 11px; font-weight: 700; }
.case-cover { min-height: 650px; position: relative; overflow: hidden; border: 1px solid var(--line); }
.case-cover img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: top; }
.case-cover--fixiagro { min-height: 700px; isolation: isolate; background: #063c31; }
.case-cover--fixiagro::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg,rgba(2,34,28,.08),rgba(2,34,28,.04) 54%,rgba(2,34,28,.48)); }
.case-cover--fixiagro .fixiagro-cover-bg { z-index: -1; object-position: center; }
.case-cover--fixiagro .fixiagro-cover-logo { width: min(26%,300px); height: auto; inset: 62px auto auto 58px; z-index: 2; object-fit: contain; }
.case-cover--fixiagro > p { margin: 0; position: absolute; left: 58px; top: 45%; z-index: 2; color: white; font-size: clamp(42px,5vw,78px); font-weight: 680; letter-spacing: -.06em; }
.case-cover--fixiagro .fixiagro-cover-products { width: min(58%,780px); height: auto; inset: auto -1% -6% auto; z-index: 2; object-fit: contain; filter: drop-shadow(0 28px 30px rgba(0,0,0,.36)); }
.case-challenge, .case-system { padding: clamp(85px,8.5vw,145px) clamp(18px,4.6vw,88px); display: grid; grid-template-columns: .38fr 1.62fr; gap: 55px; }
.case-challenge { background: var(--night); color: white; }
.case-challenge h2, .case-system h2, .case-outcome h2 { max-width: 1060px; margin: 0; font-size: clamp(42px,5vw,80px); line-height: .97; letter-spacing: -.06em; }
.case-challenge h2 strong { color: var(--red); }
.case-challenge > div > p { max-width: 730px; margin: 30px 0 0; color: #99aab0; font-size: 16px; line-height: 1.7; }
.case-system { display: block; }
.case-system-heading { display: grid; grid-template-columns: .38fr 1.62fr; gap: 55px; }
.case-principles { margin-top: 68px; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); }
.case-principles article { min-height: 280px; padding: 25px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.case-principles article:last-child { border-right: 0; }
.case-principles span { color: var(--red); font: 700 9px var(--font-geist-mono), monospace; }
.case-principles h3 { margin: auto 0 13px; font-size: 26px; letter-spacing: -.04em; }
.case-principles p { margin: 0; color: var(--steel); font-size: 12px; line-height: 1.65; }
.case-gallery { padding: 0 clamp(18px,4.6vw,88px) clamp(85px,8.5vw,145px); }
.case-gallery-copy { padding: 22px 0; display: flex; justify-content: space-between; gap: 45px; border-top: 1px solid var(--line); }
.case-gallery-copy span { color: var(--red); font: 700 9px var(--font-geist-mono), monospace; }
.case-gallery-copy p { max-width: 630px; margin: 0; color: var(--steel); line-height: 1.6; }
.case-gallery > img { border: 1px solid var(--line); }
.fixiagro-product-stage { min-height: 580px; display: grid; place-items: center; overflow: hidden; background: #073b31 url('/assets/projects/fixiagro/hero-background.png') center/cover; border: 1px solid var(--line); }
.fixiagro-product-stage img { width: min(82%,980px); filter: drop-shadow(0 30px 30px rgba(0,0,0,.35)); }
.case-outcome { min-height: 570px; padding: clamp(85px,8.5vw,145px) clamp(18px,4.6vw,88px); display: flex; flex-direction: column; justify-content: space-between; background: var(--red); color: white; }
.case-outcome > span { color: var(--night); font: 700 9px var(--font-geist-mono), monospace; letter-spacing: .1em; }
.case-outcome a { width: max-content; display: flex; align-items: center; gap: 11px; padding-bottom: 9px; border-bottom: 1px solid white; font-weight: 760; }
.case-outcome--fixiagro { background: #a9d72f; color: #10241e; }
.case-outcome--fixiagro > span { color: #326239; }
.case-outcome--fixiagro a { border-color: #10241e; }
.case-footer { padding: 28px clamp(18px,4.6vw,88px); display: flex; justify-content: space-between; background: #081116; color: #89999f; font: 700 8px var(--font-geist-mono), monospace; letter-spacing: .08em; }
.case-footer a { display: flex; align-items: center; gap: 8px; color: white; }
.case-footer svg { width: 14px; }

@media(max-width:980px){
  .site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:135px}.solution-explorer{min-height:570px}.system-map{grid-template-columns:1fr}.map-core{min-height:380px;border:0;border-block:1px solid var(--line)}.live-project{grid-template-columns:1fr}.live-project-screen{min-height:520px;border-right:0;border-bottom:1px solid var(--line-dark)}.live-project-meta{min-height:440px}.scope{grid-template-columns:1fr}.scope-index>span{margin-top:60px}.scope-list article{grid-template-columns:45px 1fr 1fr}.scope-list b{display:none}.method{grid-template-columns:1fr}.method-copy{position:static}.case-summary,.case-challenge,.case-system-heading{grid-template-columns:1fr}.case-cover{min-height:510px}
}
@media(max-width:590px){
  .site-header{height:74px;padding-inline:15px}.brand{width:145px;height:45px}.header-cta{min-height:38px;padding-inline:11px;font-size:9px}.hero{min-height:auto;padding:120px 16px 55px;gap:48px}.hero h1{font-size:clamp(47px,14.8vw,65px)}.hero-actions{align-items:stretch;flex-direction:column}.primary-cta{width:100%}.text-link{align-self:flex-start}.solution-explorer{min-height:650px;box-shadow:9px 9px 0 rgba(240,68,50,.13)}.explorer-topline span:last-child{display:none}.explorer-tabs{grid-template-columns:1fr 1fr}.explorer-trigger{height:72px}.explorer-panel{grid-template-columns:1fr;min-height:490px}.explorer-index{font-size:54px}.explorer-output{align-self:auto}.signal-bar{justify-content:flex-start;padding-inline:16px}.architecture,.project-lab,.scope,.method{padding-inline:16px}.architecture-head,.project-lab-head{grid-template-columns:1fr;gap:27px;margin-bottom:48px}.architecture h2,.project-lab h2,.scope h2,.method h2,.contact h2{font-size:42px}.map-column>span{min-height:72px}.architecture-note{grid-template-columns:1fr;gap:18px}.live-project-bar{grid-template-columns:1fr auto}.live-project-bar>span{display:none}.live-project-screen{min-height:410px}.live-project-screen img{object-position:24% top}.live-project-meta{min-height:400px;padding:22px}.scope-index>span{font-size:140px}.scope-list h2{margin-bottom:48px}.scope-list article{grid-template-columns:35px 1fr;gap:15px}.scope-list p{grid-column:2}.method-steps li{grid-template-columns:38px 1fr}.method-steps b{display:none}.contact{min-height:650px;padding-inline:16px}.contact-main{grid-template-columns:1fr}.contact-main>div{padding-left:0;border-left:0}.site-footer{padding-inline:16px;grid-template-columns:1fr}.site-footer>span{grid-column:1}.case-header{height:74px;padding-inline:15px}.case-header>a:first-child{width:145px}.case-back{font-size:0}.case-back svg{width:19px}.case-hero,.case-challenge,.case-system,.case-gallery,.case-outcome{padding-inline:16px}.case-hero h1{font-size:103px}.case-cover{min-height:450px}.case-cover img{object-position:24% top}.case-principles{grid-template-columns:1fr}.case-principles article{min-height:230px;border-right:0;border-bottom:1px solid var(--line)}.case-principles article:last-child{border-bottom:0}.case-gallery-copy{flex-direction:column}.case-outcome{min-height:640px}.case-footer{padding-inline:16px}.case-footer span{display:none}
}
@media(max-width:590px){
  .project-stack{gap:22px}.fixiagro-screen .fixiagro-screen-logo{width:46%;inset:32px auto auto 24px}.fixiagro-screen>p{left:24px;top:38%;font-size:35px}.fixiagro-screen .fixiagro-screen-products{width:88%;right:-22%;bottom:3%}.live-project--secondary .live-project-screen{min-height:360px}.case-hero h1{font-size:clamp(62px,21vw,103px)}.case-cover--fixiagro{min-height:500px}.case-cover--fixiagro .fixiagro-cover-logo{width:50%;inset:35px auto auto 25px}.case-cover--fixiagro>p{left:25px;top:38%;font-size:40px}.case-cover--fixiagro .fixiagro-cover-products{width:92%;right:-25%;bottom:2%}.fixiagro-product-stage{min-height:390px}.fixiagro-product-stage img{width:115%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
