:root {
  --navy: #0d4865;
  --navy-deep: #07334a;
  --blue: #087eaf;
  --blue-dark: #06668f;
  --sky: #e8f2f7;
  --sky-deep: #c5dce9;
  --paper: #ffffff;
  --mist: #f6fafc;
  --ink: #263640;
  --muted: #60717b;
  --line: #d7e3e9;
  --line-strong: #bdd2dd;
  --white-line: rgba(255, 255, 255, .42);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: 'DM Sans', Arial, sans-serif;
  --display: 'Space Grotesk', Arial, sans-serif;
  --max: 1240px;
  --pad: clamp(1.25rem, 5vw, 5.5rem);
  --ease: cubic-bezier(.2, .7, .2, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--navy-deep); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.55; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--sky-deep); color: var(--navy-deep); }

.skip-link { position: fixed; z-index: 100; top: 1rem; left: 1rem; transform: translateY(-200%); padding: .75rem 1rem; background: var(--paper); color: var(--navy-deep); font-weight: 700; box-shadow: 0 8px 18px rgba(5, 38, 55, .22); transition: transform .2s var(--ease); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: absolute; z-index: 20; top: 0; left: 0; right: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: min(100%, var(--max)); margin: auto; padding: 1.65rem var(--pad); color: var(--paper); }
.brand { display: inline-flex; align-items: center; width: max-content; gap: .65rem; }
.brand-mark { width: 2.35rem; height: 2.35rem; fill: none; stroke: currentColor; stroke-width: 2.45; stroke-linecap: square; }
.brand-mark .mark-accent { stroke: #d2f0fb; stroke-width: 4; }
.brand-type { display: grid; gap: .04rem; font-family: var(--display); line-height: 1; letter-spacing: .12em; }
.brand-type strong { font-size: 1rem; letter-spacing: .25em; }
.brand-type span { font-size: .51rem; font-weight: 500; letter-spacing: .17em; }
.primary-nav { display: flex; align-items: center; gap: clamp(1.15rem, 2.6vw, 2.5rem); font-family: var(--display); font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.nav-link { position: relative; padding: .4rem 0; opacity: .9; transition: opacity .2s var(--ease); }
.nav-link::after { content: ''; position: absolute; width: 100%; height: 2px; bottom: -.2rem; left: 0; background: #d8f4ff; transform: scaleX(0); transform-origin: right; transition: transform .2s var(--ease); }
.nav-link:hover, .nav-link:focus, .nav-link.is-active { opacity: 1; }
.nav-link:hover::after, .nav-link:focus::after, .nav-link.is-active::after { transform: scaleX(1); transform-origin: left; }
.header-contact { justify-self: end; border: 1px solid rgba(255, 255, 255, .78); padding: .6rem .85rem; font-family: var(--display); font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: background .2s var(--ease), color .2s var(--ease); }
.header-contact:hover, .header-contact:focus { background: var(--paper); color: var(--navy-deep); }
.header-contact span { margin-left: .35rem; }
.menu-toggle { display: none; }

.section-dark { background: var(--navy); color: var(--paper); }
.hero { position: relative; min-height: 42rem; padding: 7.6rem var(--pad) 1.35rem; overflow: hidden; background-color: #79b8d0; background-image: linear-gradient(90deg, rgba(5, 50, 73, .72) 0%, rgba(5, 57, 84, .44) 45%, rgba(4, 48, 70, .18) 100%), linear-gradient(0deg, rgba(4, 45, 65, .38) 0%, transparent 42%), url('/manus-storage/async-images/8tmQ0FCeIFaGMfI4NB8qRE/image-1.webp'); background-position: center, center, center; background-size: cover; }
.hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px); background-size: min(19vw, 15rem) 100%; mask-image: linear-gradient(90deg, black, transparent 72%); opacity: .38; pointer-events: none; }
.hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 13rem; background: linear-gradient(transparent, rgba(3, 37, 54, .48)); pointer-events: none; }
.hero__topline, .hero__footerline { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; width: min(100%, var(--max)); margin: auto; }
.eyebrow { display: flex; align-items: center; gap: .65rem; margin: 0; color: var(--blue-dark); font-family: var(--display); font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow span { width: 1.45rem; height: 2px; background: currentColor; }
.eyebrow--light { color: #e3f7ff; }
.hero__index { margin: 0; font-family: var(--display); font-size: .67rem; font-weight: 600; letter-spacing: .09em; color: rgba(255, 255, 255, .82); }
.hero__index span { color: #d8f4ff; margin: 0 .18rem; }
.hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; width: min(100%, var(--max)); min-height: 28rem; margin: 1.5rem auto 0; }
.hero__content { align-self: center; max-width: 52rem; padding: 3.5rem 0; text-align: center; margin: auto; }
.hero__kicker { margin: 0 0 1.05rem; color: #d8f4ff; font-family: var(--display); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 500; letter-spacing: -.05em; }
h1 { margin-bottom: 1.3rem; color: var(--paper); font-size: clamp(3.8rem, 7vw, 7.6rem); line-height: .91; text-shadow: 0 3px 22px rgba(0, 42, 61, .22); }
h1 em, h2 em { font-family: var(--serif); font-weight: 400; letter-spacing: -.08em; }
h1 em { color: #e2f8ff; }
.hero__intro { max-width: 39rem; margin: 0 auto 2.05rem; color: rgba(255, 255, 255, .94); font-size: clamp(1rem, 1.35vw, 1.15rem); line-height: 1.7; text-shadow: 0 1px 8px rgba(0, 40, 58, .3); }
.hero__actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .9rem 1.5rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 1.25rem; border: 1px solid transparent; padding: 1rem 1.2rem; font-family: var(--display); font-size: .67rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; transition: background .2s var(--ease), transform .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease); }
.button span { font-size: 1.05rem; line-height: 0; }
.button--signal { background: var(--blue); color: var(--paper); box-shadow: 0 8px 18px rgba(0, 51, 75, .2); }
.button--signal:hover, .button--signal:focus { background: var(--paper); color: var(--navy-deep); transform: translateY(-2px); }
.text-link { display: inline-flex; align-items: center; gap: .65rem; border-bottom: 1px solid currentColor; padding-bottom: .25rem; font-family: var(--display); font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: color .2s var(--ease); }
.text-link:hover, .text-link:focus { color: var(--blue); }
.text-link--light { color: var(--paper); border-color: rgba(255, 255, 255, .58); }
.text-link--light:hover, .text-link--light:focus { color: #d8f4ff; }
.hero__visual { display: none; }
.hero__footerline { padding-top: 1.15rem; border-top: 1px solid rgba(255, 255, 255, .45); color: rgba(255, 255, 255, .92); font-family: var(--display); font-size: .62rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.hero__footerline > a { display: flex; gap: .65rem; align-items: center; }
.hero__footerline i { display: inline-block; width: .55rem; height: .55rem; border-right: 2px solid #d8f4ff; border-bottom: 2px solid #d8f4ff; transform: rotate(45deg) translateY(-2px); }

.statement-band { display: grid; grid-template-columns: 17% 1fr; gap: 3rem; max-width: var(--max); margin: auto; padding: clamp(4.5rem, 8vw, 7.5rem) var(--pad); }
.section-label { display: flex; align-items: baseline; gap: .7rem; height: max-content; padding-top: .55rem; color: var(--blue); font-family: var(--display); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.section-label span { color: var(--muted); }
.section-label p { margin: 0; }
.section-label--on-dark { color: #d5f3ff; }
.section-label--on-dark span { color: rgba(255, 255, 255, .7); }
.statement-band__content { display: grid; grid-template-columns: minmax(0, 1.38fr) minmax(14rem, .62fr); gap: clamp(2.25rem, 8vw, 8.5rem); }
.statement-band__lead { margin: 0; color: var(--navy-deep); font-family: var(--display); font-size: clamp(2rem, 4vw, 4.1rem); font-weight: 500; letter-spacing: -.06em; line-height: 1.06; }
.statement-band__body { align-self: end; padding-bottom: .35rem; }
.statement-band__body p { color: var(--muted); font-size: 1rem; line-height: 1.78; }

.services { padding: clamp(4.5rem, 8vw, 7.5rem) var(--pad); background: var(--sky); color: var(--ink); }
.services > * { width: min(100%, var(--max)); margin-left: auto; margin-right: auto; }
.services__intro { display: grid; grid-template-columns: 17% minmax(0, 1fr) minmax(14rem, .52fr); gap: 2rem; padding: 3.3rem 0 3.1rem; }
.services__intro .eyebrow { grid-column: 2; color: var(--blue); }
.services__intro h2 { grid-column: 2; grid-row: 2; margin: 0; color: var(--navy-deep); font-size: clamp(2.85rem, 5.2vw, 5.6rem); line-height: .94; }
.services__intro h2 em { color: var(--blue); }
.services__intro > p:last-child { grid-column: 3; grid-row: 2; align-self: end; margin: 0; color: var(--muted); font-size: .98rem; line-height: 1.72; }
.service-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.service-card { display: flex; flex-direction: column; min-height: 22rem; border: 1px solid var(--line); padding: 1.8rem; background: var(--paper); box-shadow: 0 14px 32px rgba(22, 81, 108, .07); transition: box-shadow .25s var(--ease), transform .25s var(--ease); }
.service-card:hover { box-shadow: 0 20px 38px rgba(22, 81, 108, .15); transform: translateY(-5px); }
.service-card__number { color: var(--blue); font-family: var(--display); font-size: .69rem; font-weight: 700; letter-spacing: .1em; }
.service-card__main { margin-top: auto; }
.service-card h3 { margin: 0 0 1rem; color: var(--navy-deep); font-size: clamp(1.75rem, 2.5vw, 2.8rem); line-height: .95; }
.service-card__main p { max-width: 23rem; margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.68; }
.service-card__arrow { order: 4; margin-top: 1.2rem; color: var(--blue); font-family: var(--serif); font-size: 2rem; line-height: 1; transition: transform .25s var(--ease); }
.service-card:hover .service-card__arrow { transform: translate(5px, -5px); }
.service-card__detail { order: 3; margin-top: 1.65rem; border-top: 1px solid var(--line); padding-top: .85rem; color: var(--blue-dark); font-family: var(--display); font-size: .59rem; font-weight: 600; letter-spacing: .07em; line-height: 1.65; text-transform: uppercase; }

.market-sectors { padding: clamp(4.5rem, 8vw, 7.5rem) var(--pad); background: var(--paper); }
.market-sectors > * { width: min(100%, var(--max)); margin-left: auto; margin-right: auto; }
.sectors__intro { display: grid; grid-template-columns: 17% minmax(0, 1fr) minmax(14rem, .52fr); gap: 2rem; padding: 3.3rem 0 3.2rem; }
.sectors__intro .eyebrow { grid-column: 2; }
.sectors__intro h2 { grid-column: 2; grid-row: 2; margin: 0; color: var(--navy-deep); font-size: clamp(2.85rem, 5.2vw, 5.6rem); line-height: .94; }
.sectors__intro h2 em { color: var(--blue); }
.sectors__intro > p:last-child { grid-column: 3; grid-row: 2; align-self: end; margin: 0; color: var(--muted); font-size: .98rem; line-height: 1.72; }
.agro-industry-panel { position: relative; min-height: clamp(20rem, 35vw, 30rem); overflow: hidden; margin-bottom: clamp(1rem, 2.2vw, 2rem); background: #6d9366; box-shadow: 0 14px 30px rgba(22, 81, 108, .1); }
.agro-industry-panel::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9, 53, 45, .85) 0%, rgba(9, 53, 45, .61) 38%, rgba(9, 53, 45, .08) 72%); }
.agro-industry-panel img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center; }
.agro-industry-panel__overlay { position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; display: flex; flex-direction: column; justify-content: center; width: min(100%, 39rem); padding: clamp(1.6rem, 5vw, 4.5rem); color: var(--paper); }
.agro-industry-panel__overlay .eyebrow { color: #e1f3d4; }
.agro-industry-panel__overlay h3 { margin: 1.1rem 0 1rem; color: var(--paper); font-size: clamp(2.2rem, 4.4vw, 4.9rem); line-height: .9; }
.agro-industry-panel__overlay h3 em { color: #d9efab; font-family: var(--serif); font-weight: 400; letter-spacing: -.07em; }
.agro-industry-panel__overlay > p:last-child { max-width: 27rem; margin: 0; color: rgba(255, 255, 255, .9); font-size: .98rem; line-height: 1.7; }
.agro-visual-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(1rem, 2.2vw, 2rem); margin-bottom: clamp(1rem, 2.2vw, 2rem); }
.agro-visual-card { position: relative; min-height: 18rem; margin: 0; overflow: hidden; background: #6d9366; }
.agro-visual-card::after { content: ''; position: absolute; inset: 42% 0 0; background: linear-gradient(transparent, rgba(7, 45, 39, .83)); pointer-events: none; }
.agro-visual-card img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; transition: transform .45s var(--ease); }
.agro-visual-card:hover img { transform: scale(1.035); }
.agro-visual-card figcaption { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 1.35rem 1.5rem; color: var(--paper); }
.agro-visual-card figcaption span { color: #d9efab; font-family: var(--display); font-size: .64rem; font-weight: 700; letter-spacing: .1em; }
.agro-visual-card figcaption p { margin: 0; font-family: var(--display); font-size: clamp(.95rem, 1.35vw, 1.2rem); font-weight: 600; letter-spacing: -.04em; line-height: 1.05; text-align: right; }
.sector-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2.2vw, 2rem); }
.sector-card { overflow: hidden; border: 1px solid var(--line); background: var(--paper); box-shadow: 0 14px 30px rgba(22, 81, 108, .08); transition: transform .25s var(--ease), box-shadow .25s var(--ease); }
.sector-card:hover { box-shadow: 0 20px 42px rgba(22, 81, 108, .16); transform: translateY(-5px); }
.sector-card img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--sky); }
.sector-card__body { padding: clamp(1.55rem, 3vw, 2.4rem); }
.sector-card__tag { margin-bottom: .8rem; color: var(--blue); font-family: var(--display); font-size: .63rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.sector-card h3 { margin: 0 0 1rem; color: var(--navy-deep); font-size: clamp(1.9rem, 3vw, 3.25rem); line-height: .94; }
.sector-card__body > p:not(.sector-card__tag) { max-width: 30rem; margin-bottom: 1.4rem; color: var(--muted); font-size: .96rem; line-height: 1.72; }
.sector-card__list { display: block; border-top: 1px solid var(--line); padding-top: .9rem; color: var(--blue-dark); font-family: var(--display); font-size: .6rem; font-weight: 700; letter-spacing: .08em; line-height: 1.65; text-transform: uppercase; }
.sector-card--agriculture .sector-card__tag { color: #5b8538; }
.sector-card--agriculture .sector-card__list { color: #4c722c; }

.approach { position: relative; overflow: hidden; max-width: var(--max); margin: auto; padding: clamp(4.5rem, 8vw, 7.5rem) var(--pad); }
.approach::after { content: ''; position: absolute; width: min(38vw, 30rem); aspect-ratio: 1; right: -14rem; bottom: -15rem; border: 1px solid var(--line); border-radius: 50%; box-shadow: 0 0 0 3.5rem rgba(232,242,247,.64), 0 0 0 7rem rgba(232,242,247,.36); pointer-events: none; }
.approach__masthead, .approach__rail, .approach__quote { position: relative; z-index: 1; }
.approach__masthead { display: grid; grid-template-columns: 17% 1fr; }
.approach__masthead .eyebrow { grid-column: 2; }
.approach__masthead h2 { grid-column: 2; margin: 1.3rem 0 3.8rem; color: var(--navy-deep); font-size: clamp(2.85rem, 5.2vw, 5.6rem); line-height: .94; }
.approach__masthead h2 em { color: var(--blue); }
.approach__rail { display: grid; grid-template-columns: 17% repeat(3, 1fr); border-top: 1px solid var(--line-strong); }
.approach-card { min-height: 15rem; padding: 1.6rem clamp(1rem, 2.2vw, 2rem); border-left: 1px solid var(--line); }
.approach-card:first-child { grid-column: 2; }
.approach-card__index { display: block; margin-bottom: 4.5rem; color: var(--blue); font-family: var(--display); font-size: .65rem; font-weight: 700; letter-spacing: .1em; }
.approach-card h3 { margin-bottom: .75rem; color: var(--navy-deep); font-size: 1.25rem; letter-spacing: -.04em; }
.approach-card p { max-width: 17rem; margin: 0; color: var(--muted); font-size: .89rem; line-height: 1.68; }
.approach__quote { display: grid; grid-template-columns: 17% 1fr auto; align-items: end; margin-top: clamp(3.8rem, 7vw, 7rem); }
.quote-mark { grid-column: 2; margin-bottom: -1.9rem; color: var(--sky-deep); font-family: var(--serif); font-size: 7rem; line-height: 1; }
.approach__quote p { grid-column: 2; margin: 0; color: var(--navy-deep); font-family: var(--display); font-size: clamp(1.45rem, 2.7vw, 2.65rem); font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.quote-line { width: clamp(4rem, 13vw, 12rem); height: 2px; background: var(--blue); margin-bottom: .6rem; }

.contact { display: grid; grid-template-columns: minmax(0, .9fr) minmax(28rem, 1.1fr); background: var(--sky); color: var(--ink); }
.contact__context { padding: clamp(4rem, 8vw, 7.5rem) clamp(1.25rem, 6vw, 7rem) clamp(4rem, 8vw, 7.5rem) var(--pad); background: linear-gradient(145deg, var(--navy) 0%, #156685 100%); color: var(--paper); }
.contact h2 { margin: 1.5rem 0 1.4rem; font-size: clamp(3rem, 5.4vw, 5.9rem); line-height: .9; }
.contact h2 em { color: #d9f5ff; }
.contact__intro { max-width: 27rem; color: rgba(255, 255, 255, .86); font-size: 1rem; line-height: 1.72; }
.contact__details { display: grid; gap: 1.45rem; margin-top: 3.8rem; }
.contact__details a { width: max-content; max-width: 100%; border-bottom: 1px solid rgba(255, 255, 255, .53); padding-bottom: .3rem; color: var(--paper); font-family: var(--display); font-size: .75rem; font-weight: 600; letter-spacing: .04em; line-height: 1.55; transition: color .2s var(--ease); }
.contact__details a:hover, .contact__details a:focus { color: #d8f4ff; }
.contact__details a span { margin-left: .35rem; }
.contact-form { padding: clamp(4rem, 8vw, 7.5rem) var(--pad); background: var(--paper); }
.form-heading { display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding-bottom: .9rem; color: var(--muted); font-family: var(--display); font-size: .61rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.form-heading b, .field b { color: var(--blue); }
.field { display: block; border-bottom: 1px solid var(--line); padding: 1.4rem 0 .75rem; }
.field > span { display: block; margin-bottom: .55rem; color: var(--navy-deep); font-family: var(--display); font-size: .64rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.field input, .field textarea { display: block; width: 100%; border: 0; outline: 0; padding: .1rem 0; background: transparent; color: var(--ink); font-size: 1rem; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: #a2b0b8; }
.field input:focus, .field textarea:focus { color: var(--blue-dark); }
.field:focus-within { border-color: var(--blue); }
.form-footer { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-top: 2rem; }
.form-footer p { max-width: 14rem; margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.55; }
.form-footer p.is-error { color: #b3483c; }
.form-footer p.is-success { color: var(--blue-dark); }

.site-footer { background: #a8c5d7; color: var(--navy-deep); padding: 2.6rem var(--pad) 1.25rem; }
.site-footer > * { width: min(100%, var(--max)); margin-left: auto; margin-right: auto; }
.footer__top { display: grid; grid-template-columns: 1fr 1fr auto; align-items: start; padding-bottom: 4.1rem; }
.brand--footer { color: var(--navy-deep); }
.brand--footer .mark-accent { stroke: var(--paper); }
.footer__top > p { margin: .3rem 0 0; color: rgba(7, 51, 74, .72); font-size: .82rem; line-height: 1.55; }
.footer__back { border-bottom: 1px solid rgba(7, 51, 74, .48); padding-bottom: .2rem; color: var(--navy-deep); font-family: var(--display); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.footer__back span { color: var(--paper); margin-left: .45rem; }
.footer__middle { display: grid; grid-template-columns: 1fr 1fr 1fr; border-top: 1px solid rgba(7, 51, 74, .24); padding: 1.5rem 0 3.4rem; }
.footer__middle > div { display: flex; flex-direction: column; gap: .55rem; padding-right: 1rem; }
.footer__middle a { width: max-content; max-width: 100%; color: rgba(7, 51, 74, .86); font-size: .82rem; line-height: 1.55; transition: color .2s var(--ease); }
.footer__middle a:hover, .footer__middle a:focus { color: var(--paper); }
.footer-label { margin: 0 0 .55rem; color: var(--paper); font-family: var(--display); font-size: .59rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.footer__bottom { display: flex; justify-content: space-between; border-top: 1px solid rgba(7, 51, 74, .24); padding-top: 1.25rem; color: rgba(7, 51, 74, .64); font-family: var(--display); font-size: .57rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.footer__bottom p { margin: 0; }

.legal-page { min-height: 100vh; padding: 8rem var(--pad) 3rem; background: var(--mist); }
.legal-page__header { display: flex; justify-content: space-between; align-items: center; max-width: var(--max); margin: auto; }
.legal-page .brand { color: var(--navy-deep); }
.legal-page__back { color: var(--blue-dark); font-family: var(--display); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.legal-content { display: grid; grid-template-columns: 17% minmax(0, 1fr); gap: 3rem; max-width: var(--max); margin: 6rem auto; }
.legal-content h1 { margin: 0; color: var(--navy-deep); font-size: clamp(3rem, 6vw, 6rem); text-shadow: none; }
.legal-content > div { max-width: 44rem; }
.legal-content h2 { margin: 2.5rem 0 .8rem; color: var(--navy-deep); font-size: 1.35rem; }
.legal-content p { color: var(--muted); line-height: 1.75; }
.legal-content a { border-bottom: 1px solid var(--blue); color: var(--navy-deep); }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s var(--ease), transform .55s var(--ease); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto; }
  .primary-nav, .header-contact { display: none; }
  .primary-nav.is-open { position: absolute; top: calc(100% - .25rem); left: var(--pad); right: var(--pad); display: flex; flex-direction: column; align-items: flex-start; gap: .15rem; padding: 1rem; background: var(--paper); color: var(--navy-deep); box-shadow: 0 12px 24px rgba(0, 48, 70, .16); }
  .primary-nav.is-open .nav-link { width: 100%; }
  .primary-nav.is-open .nav-link::after { background: var(--blue); }
  .menu-toggle { display: flex; align-items: center; gap: .7rem; border: 0; padding: .4rem 0; background: transparent; color: var(--paper); font-family: var(--display); font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
  .menu-toggle__icon { position: relative; width: 1.15rem; height: 1px; background: currentColor; }
  .menu-toggle__icon::after { content: ''; position: absolute; top: .35rem; left: 0; width: 1.15rem; height: 1px; background: #d8f4ff; transition: transform .2s var(--ease); }
  .menu-toggle[aria-expanded='true'] .menu-toggle__icon { background: transparent; }
  .menu-toggle[aria-expanded='true'] .menu-toggle__icon::after { top: 0; transform: rotate(90deg); }
  .hero { min-height: 39rem; }
  .statement-band, .services__intro, .approach__masthead, .approach__quote { grid-template-columns: 1fr; }
  .section-label, .services__intro .eyebrow, .services__intro h2, .services__intro > p:last-child, .approach__masthead .eyebrow, .approach__masthead h2, .quote-mark, .approach__quote p { grid-column: 1; }
  .statement-band__content { grid-template-columns: 1fr; gap: 2rem; }
  .services__intro, .sectors__intro { gap: 1.5rem; }
  .services__intro h2, .services__intro > p:last-child, .sectors__intro h2, .sectors__intro > p:last-child { grid-row: auto; }
  .services__intro > p:last-child, .sectors__intro > p:last-child { max-width: 31rem; }
  .service-list { grid-template-columns: 1fr; }
  .service-card { min-height: 15rem; }
  .agro-industry-panel { min-height: 23rem; }
  .agro-visual-card { min-height: 15rem; }
  .sector-grid { grid-template-columns: 1fr; }
  .approach__rail { grid-template-columns: repeat(3, 1fr); }
  .approach-card:first-child { grid-column: auto; }
  .approach-card { padding-left: 1rem; padding-right: 1rem; }
  .contact { grid-template-columns: 1fr; }
  .contact-form { padding-left: var(--pad); padding-right: var(--pad); }
}

@media (max-width: 620px) {
  .hero { min-height: 38rem; padding-top: 6.8rem; background-position: center, center, 57% center; }
  .hero__topline { align-items: flex-start; }
  .hero__index { padding-top: .15rem; }
  .hero__content { padding: 3.5rem 0 2.8rem; text-align: left; }
  h1 { font-size: clamp(3.3rem, 16vw, 5rem); }
  .hero__intro { margin-left: 0; }
  .hero__actions { justify-content: flex-start; }
  .hero__footerline > p { display: none; }
  .hero__footerline { justify-content: flex-end; }
  .statement-band { gap: 2rem; }
  .service-card { min-height: 0; padding: 1.5rem; }
  .service-card__main { margin-top: 3.6rem; }
  .service-card h3 { font-size: 2.2rem; }
  .agro-industry-panel { min-height: 26rem; }
  .agro-industry-panel::after { background: linear-gradient(90deg, rgba(9, 53, 45, .82) 0%, rgba(9, 53, 45, .54) 100%); }
  .agro-industry-panel__overlay { justify-content: flex-end; padding: 1.5rem; }
  .agro-industry-panel__overlay h3 { font-size: 2.8rem; }
  .agro-visual-grid { grid-template-columns: 1fr; }
  .agro-visual-card { min-height: 13.5rem; }
  .agro-visual-card figcaption { padding: 1.1rem 1.25rem; }
  .sector-card__body { padding: 1.5rem; }
  .approach__rail { grid-template-columns: 1fr; }
  .approach-card { min-height: 0; padding: 1.5rem 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .approach-card__index { margin-bottom: 1.6rem; }
  .approach__quote { margin-top: 4.5rem; }
  .quote-line { display: none; }
  .form-footer, .footer__top, .footer__bottom { align-items: flex-start; flex-direction: column; gap: 1.2rem; }
  .form-footer .button { width: 100%; }
  .footer__top { display: flex; }
  .footer__middle { grid-template-columns: 1fr 1fr; gap: 2.5rem 1rem; }
  .footer__legal { grid-column: 1 / -1; }
  .legal-content { grid-template-columns: 1fr; gap: 1.5rem; margin: 4rem auto; }
}

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