/* Dedicated public compositions for Método Urbanix, Empresa and Enquiry. */
.corporate-hero { position: relative; min-height: clamp(580px, 72svh, 780px); overflow: hidden; color: white; background: var(--public-ink); }
.corporate-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.corporate-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(4 24 28 / 90%) 0%, rgb(4 24 28 / 58%) 43%, rgb(4 24 28 / 9%) 76%),linear-gradient(0deg,rgb(4 24 28 / 30%),transparent 48%); }
.corporate-hero__content { position: relative; z-index: 1; display: flex; min-height: clamp(580px, 72svh, 780px); padding-top: 9.5rem; padding-bottom: clamp(4rem,8vw,7rem); flex-direction: column; justify-content: flex-end; align-items: flex-start; }
.corporate-hero h1 { max-width: 11ch; margin: .35rem 0 1.25rem; color: white; font-size: clamp(3.5rem,7vw,7.5rem); line-height: .9; letter-spacing: -.065em; }
.corporate-hero p:not(.kicker) { max-width: 46ch; margin: 0 0 2rem; color: rgb(255 255 255 / 84%); font-size: clamp(1rem,1.25vw,1.2rem); }
.corporate-hero .button { min-width: 190px; justify-content: space-between; }
.corporate-hero--company > img { object-position: center 58%; }

.method-index { position: sticky; z-index: 15; top: 72px; border-bottom: 1px solid var(--public-rule); background: rgb(255 255 255 / 96%); backdrop-filter: blur(16px); }
.method-index .shell { display: grid; grid-template-columns: repeat(4,1fr); }
.method-index a { display: flex; min-height: 72px; padding: 1rem clamp(.75rem,2vw,1.6rem); align-items: center; gap: .85rem; border-right: 1px solid var(--public-rule); color: var(--public-ink); font-size: .78rem; font-weight: 700; text-decoration: none; }
.method-index a:first-child { border-left: 1px solid var(--public-rule); }
.method-index a span { color: var(--public-teal); font-size: .68rem; }
.method-index a[aria-current="step"] { color:var(--public-teal-deep); background:#eff7f4; box-shadow:inset 0 -3px 0 var(--public-teal); }
.method-opening { display: grid; grid-template-columns: 1.15fr .7fr; align-items: end; gap: clamp(2rem,8vw,8rem); }
.method-opening h2 { max-width: 15ch; margin: 0; font-size: clamp(2.6rem,5vw,5.4rem); letter-spacing: -.055em; }
.method-opening > p { max-width: 48ch; margin: 0 0 .55rem; line-height: 1.85; }

.method-plan { padding-block: clamp(4rem,7vw,7rem); background: white; }
.method-plan__grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(3rem,8vw,8rem); }
.method-plan header > span,.method-section-number > span,.method-portal__copy > span,.method-control__grid > div > span { display: block; margin-bottom: 1rem; color: var(--public-teal); font-size: .72rem; font-weight: 800; }
.method-plan h2 { max-width: 13ch; }
.method-plan header > p:last-child { max-width: 46ch; }
.method-plan ol { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(2,1fr); list-style: none; border-top: 1px solid var(--public-rule); border-left: 1px solid var(--public-rule); }
.method-plan li { display: grid; min-height: 190px; padding: clamp(1.5rem,3vw,2.4rem); grid-template-columns: auto 1fr; align-content: center; gap: 1.25rem; border-right: 1px solid var(--public-rule); border-bottom: 1px solid var(--public-rule); }
.method-plan li > span { color: var(--public-teal-deep); }
.method-plan li strong { display: block; margin-bottom: .45rem; }
.method-plan li p { margin: 0; font-size: .84rem; }

.method-section-number { display: grid; grid-template-columns: 70px minmax(0,1fr); }
.method-section-number > div { max-width: 760px; }
.method-section-number h2 { margin-bottom: .8rem; }
.method-phases { display: grid; margin-top: 3rem; grid-template-columns: repeat(6,minmax(180px,1fr)); overflow-x: auto; border: 1px solid var(--public-rule); background: white; scrollbar-width: thin; }
.method-phases article { min-width: 180px; border-right: 1px solid var(--public-rule); }
.method-phases article:last-child { border-right: 0; }
.method-phases article > span { display: block; padding: .75rem 1rem; color: var(--public-teal); font-size: .65rem; font-weight: 800; }
.method-phases img { width: 100%; aspect-ratio: 1/1.08; object-fit: cover; }
.method-phases article div { padding: 1.15rem; }
.method-phases h3 { margin-bottom: .4rem; font-size: .93rem; }
.method-phases p { margin: 0; font-size: .72rem; line-height: 1.55; }
.method-systems { display: flex; margin-top: 2rem; padding: clamp(1.5rem,4vw,3rem); align-items: end; justify-content: space-between; gap: 2rem; border-left: 4px solid var(--public-teal); background: var(--public-ivory); }
.method-systems > div { max-width: 820px; }
.method-systems h2 { margin-bottom: .7rem; }
.method-systems p:last-child { margin-bottom: 0; }

.method-portal { padding-block: clamp(4rem,8vw,8rem); overflow: hidden; color: white; background: var(--public-ink); }
.method-portal__grid { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: clamp(3rem,8vw,8rem); }
.method-portal h2 { color: white; }
.method-portal__copy > p { color: rgb(255 255 255 / 72%); }
.method-portal__copy ul { display: grid; margin: 2rem 0; padding: 0; grid-template-columns: repeat(2,1fr); gap: 1rem; list-style: none; }
.method-portal__copy li { display: flex; align-items: center; gap: .7rem; color: rgb(255 255 255 / 86%); font-size: .8rem; }
.method-portal__note { padding-top: 1.2rem; border-top: 1px solid rgb(255 255 255 / 16%); font-size: .7rem; }
.portal-concept { padding: .75rem; border: 1px solid rgb(255 255 255 / 18%); border-radius: 16px; color: var(--public-ink); background: #edf1ef; box-shadow: 0 35px 80px rgb(0 0 0 / 30%); transform: perspective(1200px) rotateY(-4deg) rotateX(2deg); }
.portal-concept__top { display: flex; padding: .8rem 1rem; align-items: center; justify-content: space-between; border-radius: 9px 9px 0 0; color: white; background: var(--public-teal-deep); }
.portal-concept__top span { font-size: .72rem; font-weight: 800; }
.portal-concept__top small { opacity: .7; }
.portal-concept__body { display: grid; min-height: 390px; grid-template-columns: 82px 1fr; background: white; }
.portal-concept__body aside { display: flex; padding: 1rem; flex-direction: column; gap: 1rem; background: #f4f6f4; }
.portal-concept__body aside i { height: 8px; border-radius: 8px; background: #cbd5d2; }
.portal-concept__body > div { padding: clamp(1rem,3vw,2rem); }
.portal-concept__progress { padding: 1.2rem; border: 1px solid var(--public-rule); }
.portal-concept__progress span,.portal-concept__progress strong { display: block; font-size: .72rem; }
.portal-concept__progress strong { margin-top: .25rem; font-size: 1rem; }
.portal-concept__progress i { display: block; height: 7px; margin-top: 1rem; border-radius: 8px; background: linear-gradient(90deg,var(--public-teal) 62%,#dfe7e4 62%); }
.portal-concept__timeline { display: flex; margin: 2rem 0; justify-content: space-between; border-top: 2px solid #dfe7e4; }
.portal-concept__timeline b { width: 13px; height: 13px; margin-top: -7px; border: 3px solid white; border-radius: 50%; background: var(--public-teal); box-shadow: 0 0 0 1px var(--public-teal); }
.portal-concept__photos { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.portal-concept__photos img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }

.method-monitoring { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(3rem,8vw,8rem); }
.method-timeline ol { margin: 2rem 0 0; padding: 0; list-style: none; }
.method-timeline li { position: relative; display: grid; padding: 0 0 1.65rem; grid-template-columns: 28px 1fr; gap: .75rem; }
.method-timeline li::before { position: absolute; top: 15px; bottom: 0; left: 6px; width: 1px; content: ''; background: var(--public-rule); }
.method-timeline li:last-child::before { display: none; }
.method-timeline li > span { position: relative; z-index: 1; width: 13px; height: 13px; margin-top: .25rem; border: 2px solid white; border-radius: 50%; background: #bdc9c6; box-shadow: 0 0 0 1px #bdc9c6; }
.method-timeline li.is-current > span { background: var(--public-teal); box-shadow: 0 0 0 1px var(--public-teal); }
.method-timeline strong,.method-timeline small { display: block; }
.method-timeline small { color: var(--public-muted); }
.method-updates__grid { display: grid; margin: 2rem 0; grid-template-columns: 1.1fr .9fr; gap: .75rem; }
.method-updates__grid img { width: 100%; height: 320px; object-fit: cover; }
.method-updates__grid img:last-child { height: 250px; margin-top: 70px; }
.method-updates > p:last-child { max-width: 62ch; }
.method-control { padding-block: clamp(4rem,7vw,7rem); color: white; background: var(--public-teal-deep); }
.method-control__grid { display: grid; grid-template-columns: .65fr 1.35fr; align-items: center; gap: clamp(3rem,7vw,7rem); }
.method-control h2 { color: white; }
.method-control p { color: rgb(255 255 255 / 72%); }
.method-control img { width: 100%; max-height: 520px; object-fit: cover; }

.company-manifesto > .kicker { margin-bottom: 1.5rem; }
.company-manifesto > h2 { max-width: 15ch; font-size: clamp(3rem,6vw,6.5rem); letter-spacing: -.06em; }
.company-manifesto > div { display: grid; max-width: 860px; margin: 2.5rem 0 0 auto; grid-template-columns: repeat(2,1fr); gap: 3rem; }
.company-manifesto > div p { margin: 0; line-height: 1.85; }
.company-story { padding-block: clamp(4rem,8vw,8rem); background: white; }
.company-story__grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: clamp(3rem,8vw,8rem); }
.company-story__media { position: relative; }
.company-story__media img { width: 100%; aspect-ratio: 1.2/1; object-fit: cover; }
.company-story__media span { position: absolute; right: 0; bottom: 0; padding: 1rem 1.4rem; color: white; background: var(--public-teal-deep); font-size: .72rem; }
.company-story__copy h2 { max-width: 13ch; }
.company-story__copy ul { display: grid; margin: 2rem 0 0; padding: 0; gap: 1rem; list-style: none; }
.company-story__copy li { display: flex; align-items: center; gap: .8rem; font-size: .83rem; }
.company-story__copy li svg { color: var(--public-teal); }
.company-pillars__grid { display: grid; margin-top: 3rem; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--public-rule); border-left: 1px solid var(--public-rule); }
.company-pillars article { min-height: 260px; padding: clamp(1.4rem,3vw,2.5rem); border-right: 1px solid var(--public-rule); border-bottom: 1px solid var(--public-rule); background: white; }
.company-pillars article span { color: var(--public-teal); font-size: .68rem; font-weight: 800; }
.company-pillars h3 { margin-top: 4rem; }
.company-pillars p { font-size: .82rem; }
.company-promise { padding-block: clamp(4rem,7vw,7rem); color: white; background: var(--public-ink); }
.company-promise__grid { display: grid; grid-template-columns: 1.1fr .65fr; align-items: end; gap: clamp(3rem,8vw,8rem); }
.company-promise h2 { max-width: 13ch; color: white; }
.company-promise p { color: rgb(255 255 255 / 70%); }
.text-link--light { color: white !important; }
.company-next { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem,8vw,8rem); }
.company-next h2 { max-width: 12ch; }
.company-next__links { border-top: 1px solid var(--public-rule); }
.company-next__links a { display: flex; min-height: 104px; padding: 1.25rem 0; align-items: center; justify-content: space-between; gap: 2rem; border-bottom: 1px solid var(--public-rule); text-decoration: none; }
.company-next__links strong { font-size: 1rem; }
.company-next__links span { display: flex; align-items: center; gap: .75rem; color: var(--public-muted); font-size: .75rem; }

.enquiry-page { padding-top: 0; }
.enquiry-hero { padding: clamp(7.5rem,9vw,9rem) 0 clamp(3rem,5vw,4.5rem); background: linear-gradient(120deg,#fbfaf7 0%,#f4f1e9 100%); }
.enquiry-hero__grid { display: grid; min-height: min(640px,68vh); grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr); align-items: center; gap: clamp(2.5rem,6vw,6rem); }
.enquiry-hero__copy h1 { max-width: 11ch; margin-bottom: 1.5rem; font-size: clamp(3.4rem,6vw,6.6rem); letter-spacing: -.06em; }
.enquiry-hero__copy > p:not(.kicker) { max-width: 54ch; line-height: 1.8; }
.enquiry-hero__assurances { display: flex; margin-top: 2.25rem; flex-wrap: wrap; gap: 1rem 1.5rem; }
.enquiry-hero__assurances span { display: inline-flex; align-items: center; gap: .5rem; color: var(--public-teal-deep); font-size: .72rem; font-weight: 700; }
.enquiry-hero__media { position: relative; height: clamp(430px,50vw,620px); max-height: 68vh; margin: 0; overflow: hidden; background: #e8ece8; }
.enquiry-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.enquiry-hero__media figcaption { position: absolute; right: 0; bottom: 0; padding: 1rem 1.35rem; color: white; background: var(--public-teal-deep); font-family: var(--font-display); font-size: 1rem; font-style: italic; }
.enquiry-paths { padding-block: 2rem; border-block: 1px solid var(--public-rule); background: white; }
.enquiry-paths .kicker { margin-bottom: 1.25rem; }
.enquiry-paths__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.enquiry-paths__grid a { display: grid; min-height: 180px; padding: 1.5rem; align-content: start; border-right: 1px solid var(--public-rule); text-decoration: none; }
.enquiry-paths__grid a:first-child { border-left: 1px solid var(--public-rule); }
.enquiry-paths__grid a > span { color: var(--public-teal); }
.enquiry-paths__grid strong { margin-top: 1.5rem; font-size: .87rem; }
.enquiry-paths__grid small { margin-top: .5rem; color: var(--public-muted); line-height: 1.55; }
.enquiry-layout { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: clamp(3rem,8vw,8rem); }
.enquiry-layout__intro { position: sticky; top: 7rem; }
.enquiry-layout__intro h2 { max-width: 10ch; }
.enquiry-layout__intro ol { margin: 2.5rem 0; padding: 0; list-style: none; border-top: 1px solid var(--public-rule); }
.enquiry-layout__intro li { display: grid; padding: 1rem 0; grid-template-columns: 42px 1fr; gap: .75rem; border-bottom: 1px solid var(--public-rule); }
.enquiry-layout__intro li > span { color: var(--public-teal); font-size: .68rem; font-weight: 800; }
.enquiry-layout__intro strong,.enquiry-layout__intro small { display: block; }
.enquiry-layout__intro small { margin-top: .25rem; color: var(--public-muted); }
.enquiry-layout__note { padding: 1.2rem; border-left: 3px solid var(--public-champagne); background: var(--public-ivory); font-size: .75rem; }
.enquiry-form-panel { padding: clamp(1.5rem,4vw,3.25rem); border: 1px solid var(--public-rule); background: white; box-shadow: 0 22px 60px rgb(7 26 32 / 7%); }
.enquiry-form-panel__heading { margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--public-rule); }
.enquiry-form-panel__heading > span { color: var(--public-teal); font-size: .7rem; font-weight: 800; }
.enquiry-form-panel__heading h2 { margin: .5rem 0; font-size: clamp(1.8rem,3vw,3rem); }
.enquiry-form-panel__heading p { margin: 0; }
.enquiry-form-panel form { display: grid; gap: 1.5rem; }
.enquiry-form-panel fieldset { margin: 0; padding: 0; border: 0; }
.enquiry-form-panel legend { width: 100%; margin-bottom: 1rem; padding: 0 0 .65rem; border-bottom: 1px solid var(--public-rule); color: var(--public-ink); font-size: .78rem; font-weight: 800; }
.enquiry-form-panel label small { color: var(--public-muted); font-weight: 500; }
.enquiry-form-panel .consent { display: flex; flex-direction: row; align-items: flex-start; gap: .65rem; }
.enquiry-form-panel .consent input { width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin-top: .25rem; }
.enquiry-form-panel form > .button { width: 100%; }
.enquiry-form-panel .fine-print { margin: -.5rem 0 0; text-align: center; }
.success-panel__icon { display: grid; width: 58px; height: 58px; margin-bottom: 1.5rem; place-items: center; border-radius: 50%; color: white; background: var(--public-teal); }

@media (hover:hover) and (pointer:fine) {
  .method-index a:hover,.company-next__links a:hover { color: var(--public-teal); }
  .enquiry-paths__grid a { transition: color 220ms var(--ease-out), background-color 220ms var(--ease-out), transform 220ms var(--ease-out); }
  .enquiry-paths__grid a:hover { color: var(--public-teal-deep); background: var(--public-ivory); transform: translateY(-4px); }
  .method-plan li,.company-pillars article { transition: border-color 220ms var(--ease-out), box-shadow 220ms var(--ease-out), transform 220ms var(--ease-out); }
  .method-plan li:hover,.company-pillars article:hover { border-color: rgb(0 143 131 / 34%); box-shadow: 0 14px 32px rgb(7 26 32 / 7%); transform: translateY(-3px); }
  .company-story__media,.method-updates__grid,.method-control__grid > figure { overflow: hidden; }
  .company-story__media img,.method-updates__grid img,.method-control img { transition: transform 600ms var(--ease-out); }
  .company-story__media:hover img,.method-updates__grid img:hover,.method-control__grid > figure:hover img { transform: scale(1.025); }
}

@media (max-width:1100px) {
  .method-plan__grid,.method-portal__grid,.method-monitoring,.method-control__grid,.company-story__grid,.company-next,.enquiry-hero__grid,.enquiry-layout { grid-template-columns: 1fr; }
  .method-plan ol,.company-manifesto > div { max-width: none; }
  .method-portal__copy { max-width: 760px; }
  .portal-concept { transform: none; }
  .company-pillars__grid,.enquiry-paths__grid { grid-template-columns: repeat(2,1fr); }
  .enquiry-layout__intro { position: static; }
  .enquiry-hero__grid { min-height: 0; }
  .enquiry-hero__media { width: min(100%,820px); height: clamp(380px,58vw,560px); max-height: none; }
}

@media (max-width:767px) {
  .corporate-hero,.corporate-hero__content { min-height: max(620px,82svh); }
  .corporate-hero__overlay { background: linear-gradient(0deg,rgb(4 24 28 / 94%) 0%,rgb(4 24 28 / 28%) 82%); }
  .corporate-hero h1 { font-size: clamp(3.1rem,15vw,5rem); }
  .method-index { position: relative; top: auto; overflow-x: auto; }
  .method-index .shell { width: max-content; min-width: 100%; grid-template-columns: repeat(4,minmax(155px,1fr)); }
  .method-index a { min-height: 60px; }
  .method-opening,.company-promise__grid { grid-template-columns: 1fr; align-items: start; }
  .method-plan ol,.method-portal__copy ul,.company-manifesto > div,.company-pillars__grid,.enquiry-paths__grid { grid-template-columns: 1fr; }
  .method-plan li { min-height: 150px; }
  .method-section-number { grid-template-columns: 42px minmax(0,1fr); }
  .method-systems { align-items: flex-start; flex-direction: column; }
  .portal-concept__body { min-height: 300px; grid-template-columns: 55px 1fr; }
  .method-updates__grid img,.method-updates__grid img:last-child { height: 220px; margin-top: 0; }
  .company-manifesto > h2 { font-size: clamp(2.8rem,13vw,4.7rem); }
  .company-pillars h3 { margin-top: 2.5rem; }
  .enquiry-hero { padding-top: 7rem; }
  .enquiry-hero__copy h1 { font-size: clamp(3rem,13vw,5rem); }
  .enquiry-hero__media { height: clamp(300px,76vw,430px); }
  .enquiry-hero__media figcaption { position: static; }
  .enquiry-paths__grid a { min-height: 150px; border-bottom: 1px solid var(--public-rule); border-left: 1px solid var(--public-rule); }
  .enquiry-layout { gap: 2.5rem; }
}

@media (prefers-reduced-motion:reduce) {
  .portal-concept { transform: none; }
}

/* Public narrative pages share the same premium architectural frame as the home page. */
.corporate-hero { width:calc(100% - 36px); min-height:calc(100svh - 36px); margin:18px; overflow:hidden; border-radius:18px; box-shadow:0 20px 70px rgb(7 26 32 / 14%); }
.corporate-hero__content { min-height:calc(100svh - 36px); padding-top:clamp(9rem,15vh,12rem); padding-bottom:clamp(4rem,9vh,8rem); align-content:end; }
.corporate-hero__content h1 { max-width:10ch; font-size:clamp(4.5rem,8vw,8.5rem); line-height:.88; letter-spacing:-.065em; }
.corporate-hero__content > p:not(.kicker) { max-width:43ch; font-size:clamp(1rem,1.25vw,1.18rem); line-height:1.65; }
.corporate-hero__overlay { background:linear-gradient(90deg,rgb(4 24 28 / 83%) 0%,rgb(4 24 28 / 51%) 38%,rgb(4 24 28 / 5%) 72%),linear-gradient(0deg,rgb(4 24 28 / 42%),transparent 52%); }
.corporate-hero--company .corporate-hero__content { justify-items:start; }
.corporate-hero__values { display:grid; width:min(760px,100%); margin-top:clamp(2.5rem,7vh,5rem); grid-template-columns:repeat(4,1fr); border-block:1px solid rgb(255 255 255 / 28%); }
.corporate-hero__values span { padding:14px 16px; border-right:1px solid rgb(255 255 255 / 22%); color:rgb(255 255 255 / 82%); font-size:.66rem; font-weight:750; letter-spacing:.11em; text-align:center; text-transform:uppercase; }
.corporate-hero__values span:last-child { border-right:0; }
.method-opening { padding-block:clamp(6rem,11vw,11rem); }
.method-opening h2,.company-story__copy h2,.company-promise h2,.company-next h2 { letter-spacing:-.05em; }
.method-phases article { overflow:hidden; background:#fff; }
.method-phases article img { transition:transform 600ms var(--ease-out); }
.method-phases article:hover img { transform:scale(1.025); }
.company-story__media img { border-radius:2px; }
.company-pillars article { background:linear-gradient(145deg,#fff 0%,#fbfaf6 100%); }
.company-disciplines > header { display:grid; grid-template-columns:.8fr 1.25fr .8fr; align-items:end; gap:clamp(2rem,5vw,5rem); }
.company-disciplines > header h2,.company-disciplines > header p { margin:0; }
.company-disciplines > header h2 { max-width:12ch; letter-spacing:-.05em; }
.company-disciplines__media { position:relative; margin:clamp(3rem,6vw,5.5rem) 0 0; overflow:hidden; }
.company-disciplines__media::after { position:absolute; inset:0; content:""; box-shadow:inset 0 -100px 90px rgb(4 24 28 / 18%); pointer-events:none; }
.company-disciplines__media img { display:block; width:100%; height:clamp(430px,49vw,680px); object-fit:cover; object-position:center 58%; }
.company-disciplines__media figcaption { position:absolute; z-index:1; right:18px; bottom:16px; padding:8px 11px; color:#fff; background:rgb(4 24 28 / 72%); font-size:.65rem; backdrop-filter:blur(10px); }
.company-disciplines__grid { display:grid; margin-top:3rem; grid-template-columns:repeat(4,1fr); border:1px solid var(--public-rule); background:#fff; }
.company-disciplines__grid article { min-height:290px; padding:clamp(1.5rem,3vw,2.5rem); border-right:1px solid var(--public-rule); }
.company-disciplines__grid article:last-child { border:0; }
.company-disciplines__grid article > span { display:grid; width:48px; height:48px; place-items:center; border-radius:50%; color:var(--public-teal-deep); background:#e8f3f0; }
.company-disciplines__grid h3 { margin:4rem 0 .8rem; font-size:1.2rem; }
.company-disciplines__grid p { margin:0; font-size:.8rem; line-height:1.7; }
.company-place { padding-block:clamp(4rem,9vw,9rem); background:#edf4f0; }
.company-place__grid { display:grid; grid-template-columns:.72fr 1.28fr; align-items:center; gap:clamp(3rem,8vw,8rem); }
.company-place__grid > div { max-width:480px; }
.company-place h2 { max-width:10ch; letter-spacing:-.05em; }
.company-place figure { margin:0; }
.company-place figure img { width:100%; height:clamp(420px,49vw,680px); object-fit:cover; }
.company-place figcaption { margin-top:.65rem; color:var(--public-muted); font-size:.66rem; text-align:right; }
.method-decisions { padding-block:clamp(4rem,8vw,8rem); color:#fff; background:var(--public-teal-deep); }
.method-decisions__grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(3rem,8vw,8rem); }
.method-decisions h2 { max-width:12ch; color:#fff; letter-spacing:-.05em; }
.method-decisions__list { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid rgb(255 255 255 / 20%); }
.method-decisions__list article { min-height:270px; padding:28px; border-right:1px solid rgb(255 255 255 / 20%); }
.method-decisions__list article:last-child { border:0; }
.method-decisions__list span { color:#64d1c6; font-size:.68rem; font-weight:800; }
.method-decisions__list h3 { margin:5rem 0 .75rem; color:#fff; }
.method-decisions__list p { margin:0; color:rgb(255 255 255 / 68%); font-size:.78rem; line-height:1.65; }
.method-systems { display:block; border-left:0; background:#f4f1e9; }
.method-systems__intro { display:grid; max-width:none !important; grid-template-columns:.65fr 1fr; align-items:end; gap:3rem; margin-bottom:2rem; }
.method-systems__intro .kicker { grid-column:1/-1; }
.method-systems__intro h2,.method-systems__intro p { margin:0; }
.method-systems__cards { display:grid; max-width:none !important; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--public-rule); }
.method-systems__cards article { display:grid; grid-template-columns:1.1fr .9fr; min-height:310px; background:#fff; }
.method-systems__cards img { width:100%; height:100%; object-fit:cover; }
.method-systems__cards article div { padding:clamp(1.4rem,3vw,2.4rem); align-self:end; }
.method-systems__cards span { color:var(--public-teal); font-size:.68rem; font-weight:800; }
.method-systems__cards h3 { margin:1.5rem 0 .6rem; }
.method-systems__cards p { margin:0; font-size:.78rem; }
.method-control__grid figure { margin:0; overflow:hidden; }
.method-control__grid figure img { display:block; }
.method-control__grid figcaption { padding:.7rem 0 0; color:rgb(255 255 255 / 60%); font-size:.65rem; text-align:right; }
.method-control__grid ul { display:grid; margin:2rem 0 0; padding:0; gap:.75rem; list-style:none; }
.method-control__grid li { position:relative; padding-left:1.4rem; color:rgb(255 255 255 / 82%); font-size:.78rem; }
.method-control__grid li::before { position:absolute; top:.55em; left:0; width:7px; height:7px; border-radius:50%; content:""; background:#5fc7bc; }

@media (hover:hover) and (pointer:fine) {
  .company-disciplines__media img,.company-place figure img,.method-systems__cards img { transition:transform 700ms var(--ease-out); }
  .company-disciplines__media:hover img,.company-place figure:hover img,.method-systems__cards article:hover img { transform:scale(1.025); }
}

@media (max-width:1100px) and (min-width:768px) {
  .company-disciplines > header { grid-template-columns:.7fr 1.3fr; }
  .company-disciplines > header > p:last-child { grid-column:2; }
  .company-disciplines__grid { grid-template-columns:repeat(2,1fr); }
  .company-disciplines__grid article:nth-child(2) { border-right:0; }
  .company-disciplines__grid article:nth-child(-n+2) { border-bottom:1px solid var(--public-rule); }
  .company-place__grid,.method-decisions__grid { grid-template-columns:1fr; }
  .method-systems__cards article { grid-template-columns:1fr; }
  .method-systems__cards img { height:290px; }
}

@media (max-width:767px) {
  .corporate-hero { width:calc(100% - 20px); min-height:max(650px,calc(100svh - 20px)); margin:10px; border-radius:14px; }
  .corporate-hero__content { min-height:max(650px,calc(100svh - 20px)); padding-top:8rem; padding-bottom:3rem; align-content:end; }
  .corporate-hero__content h1 { max-width:9ch; font-size:clamp(3.5rem,16vw,5.4rem); }
  .corporate-hero__overlay { background:linear-gradient(0deg,rgb(4 24 28 / 94%) 0%,rgb(4 24 28 / 58%) 48%,rgb(4 24 28 / 8%) 100%); }
  .corporate-hero__values { grid-template-columns:repeat(2,1fr); margin-top:2rem; }
  .corporate-hero__values span:nth-child(2) { border-right:0; }
  .corporate-hero__values span:nth-child(-n+2) { border-bottom:1px solid rgb(255 255 255 / 22%); }
  .company-disciplines > header,.company-place__grid,.method-decisions__grid,.method-systems__intro { grid-template-columns:1fr; align-items:start; }
  .company-disciplines__grid,.method-decisions__list,.method-systems__cards { grid-template-columns:1fr; }
  .company-disciplines__grid article,.method-decisions__list article { min-height:220px; border-right:0; border-bottom:1px solid var(--public-rule); }
  .company-disciplines__grid h3,.method-decisions__list h3 { margin-top:2.5rem; }
  .method-systems__cards article { grid-template-columns:1fr; }
  .method-systems__cards img { height:260px; }
  .company-place figure img { height:360px; }
  .company-disciplines__media img { height:330px; }
}
