:root {
--graphite: #111315;
  --graphite-2: #191d20;
  --steel: #2b3035;
  --steel-light: #737a82;
  --concrete: #f4efe4;
  --muted: #c9c1b0;
  --brass: #c89b3c;
  --brass-dark: #8d6720;
  --amber: #d9a92f;
  --white: #fffaf0;
  --danger: #b64a36;
  --shadow: 0 24px 70px rgba(0, 0, 0, .25);
  --radius: 0;
  --container: 1180px;
  --header-height: 78px;
  --font-heading: "Montserrat", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
}

* {
box-sizing: border-box;
}

html {
scroll-behavior: smooth; scroll-padding-top: var(--header-height);
}

body {
margin: 0;
  font-family: var(--font-body);
  color: var(--graphite);
  background: var(--concrete);
  line-height: 1.6;
}

img {
max-width: 100%; display: block;
}

a {
color: inherit; text-decoration: none;
}

button, input, textarea {
font: inherit;
}

:focus-visible {
outline: 3px solid var(--amber); outline-offset: 4px;
}

.container {
width: min(100% - 32px, var(--container)); margin-inline: auto;
}

.skip-link {
position: absolute; left: 1rem; top: -100px; z-index: 200; background: var(--brass); color: var(--graphite); padding: .8rem 1rem; font-weight: 800;
}

.skip-link:focus {
top: 1rem;
}

.site-header {
position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  min-height: var(--header-height);
  transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
  border-bottom: 1px solid rgba(200,155,60,.25);
  color: var(--white);
}

.site-header.is-scrolled, .site-header.is-open {
background: rgba(17,19,21,.95); box-shadow: var(--shadow); backdrop-filter: blur(12px);
}

.nav {
min-height: var(--header-height); display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}

.brand {
display: inline-flex; align-items: center; gap: .75rem; font-family: var(--font-heading); font-weight: 800; letter-spacing: .16em;
}

.brand__logo {
max-width: 152px; max-height: 48px; object-fit: contain;
}

.brand__fallback {
display: none; align-items: baseline; border: 1px solid var(--brass); padding: .45rem .65rem; color: var(--white);
}

.brand small, .brand__fallback small {
color: var(--brass); font-size: .7em; letter-spacing: .1em;
}

.brand--footer {
margin-bottom: .75rem; color: var(--white);
}

.nav-menu {
display: flex; align-items: center; gap: 1.35rem; font-weight: 700; font-size: .92rem;
}

.nav-menu a:not(.btn) {
opacity: .88;
}

.nav-menu a:not(.btn):hover {
color: var(--brass); opacity: 1;
}

.nav-toggle {
display: none; width: 46px; height: 46px; border: 1px solid rgba(200,155,60,.4); background: transparent; color: var(--white); padding: 0;
}

.nav-toggle span {
display: block; width: 22px; height: 2px; margin: 5px auto; background: currentColor;
}

.btn {
display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .85rem 1.2rem;
  border: 1px solid transparent;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-size: .82rem;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.btn:hover {
transform: translateY(-2px);
}

.btn--primary {
background: var(--brass); color: var(--graphite); border-color: var(--brass);
}

.btn--primary:hover {
background: var(--amber);
}

.btn--small {
min-height: 42px; padding: .65rem .95rem;
}

.section {
padding: 96px 0; position: relative;
}

.section--dark {
background: var(--graphite); color: var(--white);
}

.section--dark::before, .section-deco::before {
content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(135deg, transparent 0 47%, rgba(200,155,60,.16) 48% 49%, transparent 50%), linear-gradient(90deg, rgba(200,155,60,.08) 1px, transparent 1px);
  background-size: 80px 80px, 40px 40px;
  pointer-events: none;
  opacity: .35;
}

h1, h2, h3 {
font-family: var(--font-heading); line-height: 1.08; margin: 0;
}

h1 {
font-size: clamp(2.55rem, 7vw, 5.75rem); max-width: 1020px; letter-spacing: -.05em; text-transform: uppercase;
}

h2 {
font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.04em; text-transform: uppercase;
}

h3 {
font-size: 1.15rem; text-transform: uppercase; letter-spacing: .04em;
}

p {
margin: 0;
}

.eyebrow {
color: var(--brass); font-weight: 900; text-transform: uppercase; letter-spacing: .18em; font-size: .76rem; margin-bottom: 1rem;
}

.section-heading {
max-width: 780px; margin-bottom: 2.3rem;
}

.section-heading p:last-child {
margin-top: 1rem; color: var(--steel-light);
}

.section--dark .section-heading p:last-child {
color: var(--muted);
}

.copy-block {
color: #3e4145; display: grid; gap: 1rem;
}

.hero {
min-height: 100svh; display: grid; align-items: center; color: var(--white); padding: calc(var(--header-height) + 80px) 0 80px; overflow: hidden;
}

.hero__media {
position: absolute; inset: 0; background: linear-gradient(120deg, rgba(17,19,21,.2), rgba(17,19,21,.85)), url("../assets/images/hero/uzwil-hero.webp") center/cover no-repeat; transform: scale(1.02);
}

.hero__overlay {
position: absolute; inset: 0; background: radial-gradient(circle at 80% 20%, rgba(200,155,60,.24), transparent 28%), linear-gradient(90deg, rgba(17,19,21,.92), rgba(17,19,21,.42));
}

.hero__content {
position: relative; z-index: 1;
}

.hero__lead {
max-width: 820px; margin: 1.4rem 0 0; color: var(--muted); font-size: clamp(1rem, 2vw, 1.25rem);
}

.hero__actions {
display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem;
}

.trust-strip {
margin-top: 3rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 780px; border: 1px solid rgba(200,155,60,.42); background: rgba(17,19,21,.64);
}

.trust-strip span {
padding: 1rem; border-right: 1px solid rgba(200,155,60,.24); text-transform: uppercase; font-size: .8rem; letter-spacing: .06em; color: var(--muted);
}

.trust-strip span:last-child {
border-right: 0;
}

.trust-strip strong {
display: block; color: var(--brass); font-family: var(--font-heading); font-size: 1.2rem;
}

.pillars, .values-grid, .services-grid, .portfolio-grid, .client-grid, .contact-grid, .footer-grid {
display: grid; gap: 1rem;
}

.pillars {
grid-template-columns: repeat(3, 1fr); margin-top: 3rem;
}

.pillar-card, .service-card, .value-panel, .contact-form, .contact-card {
border: 1px solid rgba(200,155,60,.38);
  background: rgba(255,250,240,.62);
  padding: 1.5rem;
  position: relative;
}

.pillar-card::after, .service-card::after, .value-panel::after, .contact-form::after, .contact-card::after {
content: ""; position: absolute; inset: 8px; border: 1px solid rgba(200,155,60,.18); pointer-events: none;
}

.pillar-card .icon, .service-card span {
color: var(--brass); font-size: 1.8rem; display: inline-block; margin-bottom: 1rem;
}

.pillar-card p, .service-card p, .value-panel p {
margin-top: .75rem; color: #51555a;
}

.values-grid {
grid-template-columns: repeat(3, 1fr); margin-top: 2rem;
}

.value-panel {
background: rgba(255,255,255,.04); color: var(--white);
}

.value-panel p {
color: var(--muted);
}

.services-grid {
grid-template-columns: repeat(4, 1fr);
}

.service-card {
background: var(--white); min-height: 230px;
}

.service-card:hover {
box-shadow: var(--shadow); transform: translateY(-3px); transition: .2s ease;
}

.filter-bar {
display: flex; flex-wrap: wrap; gap: .65rem; margin-bottom: 1.6rem;
}

.filter-btn {
border: 1px solid rgba(200,155,60,.45); background: rgba(255,255,255,.04); color: var(--white); padding: .7rem 1rem; cursor: pointer; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: .76rem;
}

.filter-btn.is-active, .filter-btn:hover {
background: var(--brass); color: var(--graphite);
}

.portfolio-grid {
grid-template-columns: repeat(4, 1fr);
}

.project-card {
background: var(--steel); border: 1px solid rgba(200,155,60,.28); overflow: hidden;
}

.project-card.is-hidden {
display: none;
}

.project-card img {
width: 100%; aspect-ratio: 1.25 / 1; object-fit: cover; background: #30363b;
}

.project-card div {
padding: 1.1rem;
}

.project-card span {
color: var(--brass); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 900;
}

.project-card h3 {
margin-top: .4rem; color: var(--white);
}

.project-card p {
margin-top: .65rem; color: var(--muted); font-size: .92rem;
}

.clients {
background: var(--white);
}

.client-grid {
grid-template-columns: repeat(5, 1fr);
}

.client-grid span {
min-height: 92px; display: grid; place-items: center; border: 1px solid rgba(17,19,21,.12); font-family: var(--font-heading); font-weight: 800; color: #555b61; letter-spacing: .04em; background: #f8f2e8; text-align: center; padding: 1rem;
}

.client-grid img {
max-width: 100%; max-height: 64px; object-fit: contain;
}

.cta {
background: var(--graphite); color: var(--white); padding: 96px 0; position: relative; overflow: hidden;
}

.cta__inner {
position: relative; z-index: 1; max-width: 850px; border: 1px solid rgba(200,155,60,.45); padding: clamp(1.5rem, 5vw, 3rem); background: rgba(17,19,21,.82);
}

.cta p:not(.eyebrow) {
color: var(--muted); margin-top: 1rem; max-width: 720px;
}

.contact-grid {
grid-template-columns: 1.15fr .85fr; align-items: start;
}

.contact-form, .contact-card {
background: var(--white);
}

.form-field {
display: grid; gap: .35rem; margin-bottom: 1rem;
}

label {
font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: .76rem;
}

input, textarea {
width: 100%; border: 1px solid rgba(17,19,21,.22); background: #fbf7ee; padding: .9rem 1rem; color: var(--graphite);
}

textarea {
resize: vertical;
}

.form-note {
margin-top: 1rem; color: #666a70; font-size: .9rem;
}

.contact-card ul {
list-style: none; padding: 0; margin: 1.2rem 0; display: grid; gap: 1rem;
}

.contact-card li {
display: grid; gap: .15rem;
}

.contact-card strong {
color: var(--brass-dark); text-transform: uppercase; font-size: .76rem; letter-spacing: .08em;
}

.contact-card a:hover, .text-link:hover {
color: var(--brass-dark);
}

.text-link {
font-weight: 900; text-transform: uppercase; color: var(--graphite);
}

.site-footer {
background: var(--graphite); color: var(--muted); padding: 56px 0 24px;
}

.footer-grid {
grid-template-columns: 1.4fr .8fr 1fr;
}

.footer-grid nav, .footer-grid > div:last-child {
display: grid; gap: .55rem;
}

.footer-grid a:hover {
color: var(--brass);
}

.footer-bottom {
border-top: 1px solid rgba(200,155,60,.2); margin-top: 2rem; padding-top: 1rem; display: flex; justify-content: space-between; gap: 1rem; font-size: .9rem;
}

@media (max-width: 980px) {
.nav-toggle {
display: block;
}

.nav-menu {
position: absolute; top: var(--header-height); left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; padding: 1rem; background: rgba(17,19,21,.98); border-bottom: 1px solid rgba(200,155,60,.35);
}

.nav-menu.is-open {
display: flex;
}

.nav-menu a {
padding: .75rem;
}

.contact-grid, .footer-grid {
grid-template-columns: 1fr;
}

.pillars, .values-grid {
grid-template-columns: 1fr;
}

.services-grid, .portfolio-grid {
grid-template-columns: repeat(2, 1fr);
}

.client-grid {
grid-template-columns: repeat(3, 1fr);
}
}

@media (max-width: 620px) {
:root {
--header-height: 70px;
}

.section {
padding: 72px 0;
}

.hero {
padding-top: calc(var(--header-height) + 48px);
}

.trust-strip {
grid-template-columns: 1fr;
}

.trust-strip span {
border-right: 0; border-bottom: 1px solid rgba(200,155,60,.24);
}

.services-grid, .portfolio-grid, .client-grid {
grid-template-columns: 1fr;
}

.hero__actions .btn {
width: 100%;
}

.footer-bottom {
flex-direction: column;
}
}

@media (prefers-reduced-motion: reduce) {
* {
scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
}
}

.hero__actions {
position: relative; z-index: 3;
}

.btn--download {
position: relative; z-index: 1; width: min(100%, 290px);
}

.contact-map {
margin-top: 1rem;
  overflow: hidden;
  border: 1px solid rgba(200,155,60,.38);
  background: #e9e1d2;
  aspect-ratio: 16 / 10;
}

.contact-map iframe {
width: 100%; height: 100%; border: 0; display: block;
}

@media (max-width: 980px) {
body {
overflow-x: hidden;
}

.site-header {
background: rgba(17,19,21,.95); backdrop-filter: blur(12px);
}

.nav {
width: min(100% - 24px, var(--container));
}

.nav-menu {
max-height: calc(100svh - var(--header-height));
    overflow-y: auto;
}

.nav-menu .btn {
justify-content: center; width: 100%;
}

.hero {
min-height: auto; padding-top: calc(var(--header-height) + 72px);
}

.hero__lead {
max-width: 680px;
}
}

@media (max-width: 760px) {
.container {
width: min(100% - 24px, var(--container));
}

h1 {
font-size: clamp(2rem, 12vw, 3.4rem); letter-spacing: -.055em;
}

h2 {
font-size: clamp(1.65rem, 8vw, 2.35rem);
}

h3 {
font-size: 1rem;
}

.hero__actions {
gap: .7rem;
}

.btn {
width: 100%; min-height: 50px; padding-inline: .9rem;
}

.trust-strip {
margin-top: 2rem;
}

.pillar-card, .service-card, .value-panel, .contact-form, .contact-card {
padding: 1.2rem;
}

.project-card img {
aspect-ratio: 1.45 / 1;
}

.filter-bar {
display: grid; grid-template-columns: 1fr 1fr;
}

.filter-btn {
min-height: 46px;
}

.client-grid span {
min-height: 82px;
}

.cta {
padding: 72px 0;
}

.contact-map {
aspect-ratio: 1 / .82;
}
}

@media (max-width: 420px) {
:root {
--header-height: 66px;
}

.brand__fallback {
font-size: .86rem; padding: .35rem .5rem;
}

.nav-toggle {
width: 42px; height: 42px;
}

.section {
padding: 58px 0;
}

.hero {
padding-bottom: 56px;
}

.filter-bar {
grid-template-columns: 1fr;
}

.trust-strip span {
padding: .85rem;
}

.footer-grid {
gap: 1.4rem;
}
}

html, body {
max-width: 100%; overflow-x: hidden;
}

.hero__actions .btn--primary {
background: var(--brass);
  color: var(--graphite);
  border-color: var(--brass);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
}

.hero__actions .btn--primary:hover, .hero__actions .btn--primary:focus-visible {
background: var(--amber);
  color: var(--graphite);
  border-color: var(--amber);
  transform: translateY(-2px);
}

.about-intro {
max-width: 920px;
  margin-inline: auto;
  text-align: left;
}

.about-intro .copy-block {
margin-top: 1.35rem;
  max-width: 860px;
}

.contact-grid {
align-items: stretch;
}

.contact-form, .contact-card {
height: 100%;
  display: flex;
  flex-direction: column;
}

.contact-card .contact-map {
margin-top: auto;
}

.contact-form .btn {
margin-top: auto;
}

@media (max-width: 1180px) {
.services-grid, .portfolio-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.client-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}

@media (max-width: 980px) {
.nav-menu {
position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    width: 100%;
    padding: 1rem max(1rem, calc((100vw - var(--container)) / 2));
}

.nav-menu a {
min-height: 46px; display: flex; align-items: center;
}

.hero {
min-height: auto;
}

.hero__content {
padding-block: 1rem;
}

.trust-strip {
width: 100%;
}

.services-grid, .portfolio-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.client-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contact-form .btn {
margin-top: 1rem;
}

.contact-card .contact-map {
margin-top: 1rem;
}
}

@media (max-width: 700px) {
.container {
width: min(100% - 24px, var(--container));
}

.site-header {
min-height: var(--header-height);
}

.brand__logo {
max-width: 124px; max-height: 42px;
}

.hero {
padding: calc(var(--header-height) + 44px) 0 54px;
}

.hero__lead {
font-size: 1rem;
}

.hero__actions {
flex-direction: column; align-items: stretch;
}

.hero__actions .btn {
width: 100%;
}

.section-heading {
margin-bottom: 1.6rem;
}

.services-grid, .portfolio-grid, .client-grid {
grid-template-columns: 1fr;
}

.contact-grid, .footer-grid {
grid-template-columns: 1fr;
}

.contact-card ul {
gap: .8rem;
}
}

@media (max-width: 520px) {
:root {
--header-height: 66px;
}

.container {
width: min(100% - 20px, var(--container));
}

h1 {
font-size: clamp(1.85rem, 11vw, 2.85rem); line-height: 1.03; overflow-wrap: anywhere;
}

h2 {
font-size: clamp(1.45rem, 8.5vw, 2.05rem); overflow-wrap: anywhere;
}

.eyebrow {
font-size: .68rem; letter-spacing: .14em;
}

.nav {
gap: .6rem;
}

.brand {
letter-spacing: .1em;
}

.btn {
min-height: 48px; padding: .8rem .9rem; font-size: .76rem;
}

.trust-strip {
margin-top: 1.5rem;
}

.filter-bar {
grid-template-columns: 1fr;
}

.project-card img {
aspect-ratio: 4 / 3;
}

.client-grid span {
min-height: 76px;
}

input, textarea {
font-size: 16px;
}

.contact-map {
aspect-ratio: 1 / 1;
}
}

.about-intro.about-intro--two {
max-width: var(--container);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "kicker kicker"
    "copy title";
  column-gap: clamp(2rem, 6vw, 5rem);
  row-gap: .35rem;
  align-items: start;
  margin-inline: auto;
  text-align: left;
}

.about-intro--two .about-kicker {
grid-area: kicker;
  align-self: end;
  transform: translateY(.25rem);
}

.about-intro--two .about-kicker .eyebrow {
margin-bottom: .25rem;
}

.about-intro--two .about-copy {
grid-area: copy;
  margin-top: 0;
  max-width: none;
}

.about-intro--two .about-title {
grid-area: title;
  align-self: start;
  margin-top: 0;
}

.footer-contact {
display: grid;
  gap: .8rem;
}

.footer-contact__item {
display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  min-width: 0;
}

.footer-contact__item span:last-child {
min-width: 0;
  overflow-wrap: anywhere;
}

.footer-icon {
width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(200,155,60,.44);
  color: var(--brass);
  background: rgba(255,250,240,.04);
}

.footer-icon svg {
width: 17px;
  height: 17px;
  fill: currentColor;
}

@media (max-width: 980px) {
.about-intro.about-intro--two {
grid-template-columns: 1fr;
    grid-template-areas:
      "kicker"
      "title"
      "copy";
    row-gap: 1rem;
}

.about-intro--two .about-kicker {
transform: none;
}
}

@media (max-width: 700px) {
.footer-contact__item {
grid-template-columns: 26px minmax(0, 1fr);
}

.footer-icon {
width: 26px; height: 26px;
}
}

#hero-title {
font-size: clamp(2.15rem, 5.2vw, 4.45rem);
  line-height: 1.04;
  max-width: 940px;
  letter-spacing: -.045em;
}

.portfolio-video-panel {
margin-top: 2.2rem;
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: stretch;
  border: 1px solid rgba(200,155,60,.38);
  background:
    linear-gradient(135deg, rgba(255,250,240,.06), rgba(255,250,240,.02)),
    rgba(17,19,21,.62);
  padding: clamp(1rem, 2.4vw, 1.5rem);
  position: relative;
  overflow: hidden;
}

.portfolio-video-panel::before {
content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(200,155,60,.16);
  pointer-events: none;
}

.portfolio-video-panel__copy {
position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.portfolio-video-panel__copy h3 {
color: var(--white);
  font-size: clamp(1.2rem, 2.2vw, 1.65rem);
  margin-bottom: .85rem;
}

.portfolio-video-panel__copy p:last-child {
color: var(--muted);
  line-height: 1.75;
}

.portfolio-video-panel__frame {
position: relative;
  z-index: 1;
  background: #111315;
  border: 1px solid rgba(200,155,60,.28);
  min-height: 320px;
  overflow: hidden;
}

.portfolio-video-panel__frame iframe, .portfolio-video-panel__frame video {
display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  border: 0;
  background: #111315;
  object-fit: contain;
}

@media (max-width: 980px) {
#hero-title {
font-size: clamp(2rem, 8vw, 3.35rem);
    max-width: 820px;
}

.portfolio-video-panel {
grid-template-columns: 1fr;
}
}

@media (max-width: 700px) {
#hero-title {
font-size: clamp(1.72rem, 8.4vw, 2.55rem);
    line-height: 1.06;
    letter-spacing: -.035em;
}

.portfolio-video-panel {
margin-top: 1.4rem;
    padding: 1rem;
}

.portfolio-video-panel__frame, .portfolio-video-panel__frame iframe, .portfolio-video-panel__frame video {
min-height: 230px;
}
}

.brand__logo {
width: clamp(132px, 18vw, 166px);
  height: auto;
  max-height: 52px;
}

.brand__logo--footer {
width: 154px;
  max-height: 48px;
}

.client-grid span, .client-card {
min-height: 104px;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.client-grid span:hover, .client-grid span:focus-within {
transform: translateY(-3px);
  box-shadow: 0 16px 38px rgba(17, 19, 21, .12);
  border-color: rgba(200,155,60,.48);
}

.client-card--dark {
background: linear-gradient(135deg, #15191d, #252b31) !important;
  border-color: rgba(200,155,60,.38) !important;
}

.client-card--dark img {
max-height: 58px;
  width: min(100%, 180px);
}

.client-card--all img {
max-height: 78px;
  width: min(100%, 190px);
}

.services-grid, .portfolio-grid, .client-grid, .pillars, .values-grid, .contact-grid, .footer-grid {
grid-template-columns: 1fr;
}

@media (min-width: 700px) {
.services-grid, .portfolio-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.client-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pillars, .values-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}

@media (min-width: 981px) {
.contact-grid {
grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
}

.footer-grid {
grid-template-columns: 1.4fr .8fr 1fr;
}
}

@media (min-width: 1181px) {
.services-grid, .portfolio-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}

.client-grid {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
}

.section, .project-card, .service-card, .client-grid span {
content-visibility: auto;
  contain-intrinsic-size: auto 420px;
}

.site-header, .hero {
isolation: isolate;
}

.hero {
overflow: hidden;
}

.hero__media, .hero__overlay, .hero.section-deco::before {
z-index: 0;
}

.hero__content {
z-index: 2;
}

.brand__logo {
width: clamp(158px, 22vw, 206px);
  max-height: 60px;
}

.brand__fallback {
display: none !important;
}

.brand--footer .brand__logo, .brand__logo--footer {
width: 188px; max-height: 58px;
}

.client-card--dark {
background: #f8f2e8 !important;
  border-color: rgba(17,19,21,.12) !important;
}

.client-card--dark img, .client-card--aesa img {
width: min(100%, 190px);
  max-height: 54px;
}

.client-card--all img {
width: min(100%, 240px);
  max-height: 86px;
}

.client-grid span {
padding: 1.05rem 1.15rem;
}

@media (max-width: 620px) {
.hero {
padding-bottom: 44px;
}

.brand__logo {
width: 154px; max-height: 50px;
}

.client-card--all img {
width: min(100%, 250px); max-height: 78px;
}

.client-card--dark img, .client-card--aesa img {
width: min(100%, 205px); max-height: 52px;
}
}

.about-title {
max-width: 820px;
}

.brand__logo {
width: clamp(172px, 24vw, 238px);
  max-height: 72px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 8px 20px rgba(0, 0, 0, .18));
}

.brand__logo--footer, .brand--footer .brand__logo {
width: min(100%, 238px);
  max-height: 74px;
  filter: none;
}

.btn--download {
width: min(100%, 280px);
  box-shadow: 0 14px 30px rgba(17, 19, 21, .13);
}

@media (max-width: 760px) {
.brand__logo {
width: clamp(150px, 48vw, 190px);
    max-height: 60px;
}
}

@media (max-width: 480px) {
.brand__logo {
width: clamp(132px, 48vw, 164px);
}
}

.brand {
flex-shrink: 0;
  min-width: 0;
}

.brand__logo {
display: block;
  width: clamp(190px, 23vw, 252px);
  height: auto;
  max-height: 56px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .22));
}

.site-header.is-scrolled .brand__logo, .site-header.is-open .brand__logo {
filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .18));
}

.brand__logo--footer, .brand--footer .brand__logo {
width: min(100%, 252px);
  max-height: 56px;
  filter: none;
}

@media (max-width: 980px) {
.brand__logo {
width: clamp(176px, 34vw, 224px);
    max-height: 50px;
}
}

@media (max-width: 620px) {
.brand__logo {
width: clamp(156px, 50vw, 190px);
    max-height: 44px;
}

.brand--footer .brand__logo, .brand__logo--footer {
width: min(100%, 218px);
    max-height: 48px;
}
}

.quality-rebuild {
position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 10%, rgba(0, 91, 170, .14), transparent 30%),
    radial-gradient(circle at 86% 14%, rgba(200, 155, 60, .18), transparent 32%),
    linear-gradient(180deg, #f5efe3 0%, #e7ddce 100%);
}

.quality-rebuild::before {
content: "";
  position: absolute;
  inset: clamp(10px, 2vw, 26px);
  border: 1px solid rgba(17, 19, 21, .08);
  pointer-events: none;
  z-index: -1;
}

.quality-rebuild::after {
content: "";
  position: absolute;
  width: 440px;
  height: 440px;
  right: -190px;
  bottom: -210px;
  background: repeating-linear-gradient(45deg, rgba(17, 19, 21, .055) 0 1px, transparent 1px 14px);
  opacity: .55;
  transform: rotate(8deg);
  pointer-events: none;
  z-index: -1;
}

.quality-rebuild__container {
display: grid;
  gap: clamp(1.45rem, 3vw, 2.25rem);
}

.quality-rebuild__intro {
max-width: 880px;
}

.quality-rebuild__intro > p:not(.eyebrow) {
max-width: 760px;
  margin-top: 1rem;
  color: #3e4145;
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.78;
}

.quality-rebuild__grid {
display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  gap: clamp(1rem, 2.2vw, 1.55rem);
  align-items: start;
}

.quality-rebuild__qr-card, .quality-rebuild__copy-card, .quality-rebuild__iso-card, .quality-rebuild__facts span {
position: relative;
  border: 1px solid rgba(17, 19, 21, .1);
  background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(248, 242, 232, .94));
  box-shadow: 0 24px 70px rgba(17, 19, 21, .13);
}

.quality-rebuild__qr-card::after, .quality-rebuild__copy-card::after, .quality-rebuild__iso-card::after, .quality-rebuild__facts span::after {
content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(200, 155, 60, .16);
  pointer-events: none;
}

.quality-rebuild__qr-card {
display: grid;
  gap: clamp(.85rem, 1.6vw, 1.15rem);
  padding: clamp(1rem, 2vw, 1.35rem);
  overflow: hidden;
}

.quality-rebuild__qr-heading {
position: relative;
  z-index: 1;
  max-width: 640px;
  text-align: left;
}

.quality-rebuild__tag {
display: inline-flex;
  width: fit-content;
  margin-bottom: .65rem;
  padding: .38rem .62rem;
  border: 1px solid rgba(200,155,60,.34);
  background: rgba(200,155,60,.1);
  color: var(--brass-dark);
  font-family: var(--font-heading);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}

.quality-rebuild__qr-heading h3, .quality-rebuild__copy-card h3 {
color: var(--graphite);
  font-size: clamp(1.18rem, 2vw, 1.55rem);
  line-height: 1.12;
}

.quality-rebuild__qr-frame {
position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  margin: 0;
  padding: clamp(.55rem, 1.2vw, .85rem);
  border: 1px solid rgba(17, 19, 21, .12);
  background: #f3f4f4;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.75),
    0 18px 42px rgba(17,19,21,.1);
}

.quality-rebuild__qr-frame img {
width: min(100%, 860px);
  max-height: 460px;
  object-fit: contain;
  object-position: center;
}

.quality-rebuild__qr-help {
position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0;
  color: #50545a;
  font-size: clamp(.94rem, 1vw, 1rem);
  line-height: 1.68;
  text-align: left;
}

.quality-rebuild__side {
display: grid;
  gap: .9rem;
  align-self: start;
}

.quality-rebuild__copy-card, .quality-rebuild__iso-card {
padding: clamp(1rem, 1.7vw, 1.25rem);
  overflow: hidden;
}

.quality-rebuild__copy-card {
text-align: left;
}

.quality-rebuild__copy-card p {
position: relative;
  z-index: 1;
  margin-top: .75rem;
  color: #4f5358;
  line-height: 1.65;
}

.quality-rebuild__copy-card .quality-rebuild__tag, .quality-rebuild__copy-card h3 {
position: relative;
  z-index: 1;
}

.quality-rebuild__iso-card {
display: grid;
  justify-items: center;
  gap: .75rem;
  text-align: center;
}

.quality-rebuild__iso-card::before {
content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 10%, rgba(0, 91, 170, .12), transparent 36%),
    radial-gradient(circle at 50% 112%, rgba(200,155,60,.14), transparent 42%);
  pointer-events: none;
}

.quality-rebuild__iso-card img, .quality-rebuild__iso-card p, .quality-rebuild__iso-card a {
position: relative;
  z-index: 1;
}

.quality-rebuild__iso-card img {
width: min(100%, 240px);
  max-height: 140px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.quality-rebuild__iso-card p {
max-width: 290px;
  color: #4a4e53;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.5;
}

.quality-rebuild__facts {
display: grid;
  gap: .7rem;
}

.quality-rebuild__facts span {
display: grid;
  gap: .25rem;
  min-height: 74px;
  padding: .9rem 1rem;
}

.quality-rebuild__facts strong, .quality-rebuild__facts small {
position: relative;
  z-index: 1;
}

.quality-rebuild__facts strong {
color: var(--graphite);
  font-family: var(--font-heading);
  font-size: .86rem;
  line-height: 1.18;
  letter-spacing: .02em;
}

.quality-rebuild__facts small {
color: #5e6267;
  font-weight: 800;
  font-size: .68rem;
  line-height: 1.25;
  letter-spacing: .07em;
  text-transform: uppercase;
}

@media (max-width: 1080px) {
.quality-rebuild__grid {
grid-template-columns: 1fr;
}

.quality-rebuild__side {
grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr);
    align-items: start;
}

.quality-rebuild__facts {
grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quality-rebuild__qr-frame img {
max-height: 390px;
}
}

@media (max-width: 760px) {
.quality-rebuild__side, .quality-rebuild__facts {
grid-template-columns: 1fr;
}

.quality-rebuild__qr-card, .quality-rebuild__copy-card, .quality-rebuild__iso-card {
padding: 1rem;
}

.quality-rebuild__qr-frame img {
max-height: 320px;
}
}

@media (max-width: 520px) {
.quality-rebuild__tag {
font-size: .62rem;
    letter-spacing: .1em;
}

.quality-rebuild__qr-frame {
padding: .45rem;
}

.quality-rebuild__qr-frame img {
max-height: 245px;
}

.quality-rebuild__iso-card img {
width: min(100%, 190px);
    max-height: 112px;
}
}

.quality-rebuild__container {
gap: clamp(1.15rem, 2.4vw, 1.85rem);
}

.quality-rebuild__side {
gap: 1rem;
}

.quality-rebuild::after {
display: none;
}

.quality-rebuild {
background:
    radial-gradient(circle at 8% 10%, rgba(0, 91, 170, .11), transparent 30%),
    radial-gradient(circle at 86% 14%, rgba(200, 155, 60, .16), transparent 32%),
    linear-gradient(180deg, #f5efe3 0%, #e7ddce 100%);
}

.quality-rebuild__grid {
align-items: stretch;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
}

.quality-rebuild__qr-card {
height: 100%;
  min-height: 0;
  align-content: start;
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: clamp(1rem, 1.55vw, 1.22rem);
}

.quality-rebuild__qr-heading {
max-width: 560px;
}

.quality-rebuild__qr-frame {
align-self: center;
  min-height: 0;
  padding: clamp(.48rem, .95vw, .72rem);
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(239,241,241,.94));
}

.quality-rebuild__qr-frame img {
width: min(100%, 520px);
  max-height: clamp(220px, 24vw, 305px);
  object-fit: contain;
}

.quality-rebuild__qr-help {
max-width: 600px;
}

.quality-rebuild__side {
height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 1rem;
}

.quality-rebuild__copy-card, .quality-rebuild__iso-card {
min-height: 0;
}

.quality-rebuild__iso-card {
align-content: center;
}

.quality-rebuild__facts--cards {
width: min(100%, 980px);
  justify-self: start;
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: .85rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.quality-rebuild__facts--cards::before, .quality-rebuild__facts--cards::after {
display: none;
}

.quality-rebuild__facts--cards span {
position: relative;
  min-height: 96px;
  display: grid;
  align-content: end;
  gap: .28rem;
  padding: 1.1rem 1.05rem 1.05rem 1.2rem;
  border: 1px solid rgba(17, 19, 21, .12);
  background:
    linear-gradient(135deg, rgba(255, 250, 240, .98), rgba(244, 239, 228, .92)),
    var(--white);
  box-shadow: 0 18px 46px rgba(17, 19, 21, .1);
  overflow: hidden;
}

.quality-rebuild__facts--cards span::before {
content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #005baa, var(--brass));
}

.quality-rebuild__facts--cards span::after {
content: "";
  display: block;
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(200, 155, 60, .16);
  pointer-events: none;
}

.quality-rebuild__facts--cards span:nth-child(2)::before {
background: linear-gradient(180deg, var(--brass), #005baa);
}

.quality-rebuild__facts--cards span:nth-child(3)::before {
background: linear-gradient(180deg, var(--danger), var(--brass));
}

.quality-rebuild__facts--cards span > strong::before {
content: "";
  position: absolute;
  top: -2.45rem;
  left: 0;
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(0, 91, 170, .32);
  background:
    linear-gradient(135deg, rgba(0,91,170,.95), rgba(200,155,60,.76));
  box-shadow: 0 10px 22px rgba(17,19,21,.12);
}

.quality-rebuild__facts--cards strong {
position: relative;
  color: var(--graphite);
  font-size: clamp(.92rem, 1vw, 1.05rem);
  letter-spacing: .01em;
}

.quality-rebuild__facts--cards small {
color: var(--brass-dark);
  font-size: .68rem;
  letter-spacing: .105em;
}

.quality-rebuild__facts--cards span + span {
border-left: 1px solid rgba(17, 19, 21, .12);
}

@media (max-width: 1080px) {
.quality-rebuild__grid {
grid-template-columns: 1fr;
    align-items: start;
}

.quality-rebuild__qr-card {
height: auto;
}

.quality-rebuild__qr-frame img {
max-height: 320px;
}

.quality-rebuild__side {
height: auto;
    grid-template-rows: auto;
}

.quality-rebuild__facts--cards {
width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
}

@media (max-width: 760px) {
.quality-rebuild__facts--cards {
grid-template-columns: 1fr;
    gap: .7rem;
}

.quality-rebuild__facts--cards span {
min-height: 86px;
}

.quality-rebuild__qr-frame img {
max-height: 270px;
}
}

@media (max-width: 520px) {
.quality-rebuild__qr-frame img {
max-height: 220px;
}
}

.site-header {
position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 5000 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: rgba(17, 19, 21, .95);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.site-header.is-scrolled, .site-header.is-open {
transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.quality-rebuild::after {
content: none !important;
  display: none !important;
}

.quality-rebuild__grid {
grid-template-columns: minmax(0, 1fr) minmax(340px, .92fr);
}

.quality-rebuild__qr-card {
grid-template-rows: auto auto 1fr;
  align-content: start;
  gap: .9rem;
  padding: clamp(1rem, 1.45vw, 1.18rem);
}

.quality-rebuild__qr-heading {
max-width: 600px;
}

.quality-rebuild__qr-frame {
width: min(100%, 430px);
  justify-self: center;
  align-self: start;
  padding: clamp(.42rem, .75vw, .58rem);
}

.quality-rebuild__qr-frame img {
width: min(100%, 360px);
  max-height: clamp(170px, 19vw, 235px);
}

.quality-rebuild__qr-help {
max-width: 640px;
  font-size: .94rem;
  line-height: 1.62;
}

.quality-rebuild__facts--cards {
width: min(100%, 1040px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .95rem;
}

.quality-rebuild__facts--cards span {
min-height: 112px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon text";
  align-content: center;
  align-items: center;
  column-gap: .82rem;
  row-gap: .16rem;
  padding: 1rem 1.05rem;
  background:
    linear-gradient(145deg, rgba(255,250,240,.99), rgba(245,239,228,.94)),
    var(--white);
  border-color: rgba(17, 19, 21, .1);
  box-shadow: 0 16px 40px rgba(17, 19, 21, .09);
}

.quality-rebuild__facts--cards span::before {
width: 4px;
  background: linear-gradient(180deg, rgba(0,91,170,.95), rgba(200,155,60,.95));
}

.quality-rebuild__facts--cards span > strong::before {
display: none !important;
  content: none !important;
}

.quality-rebuild__fact-icon {
position: relative;
  z-index: 1;
  grid-area: icon;
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  color: #005baa;
  border: 1px solid rgba(0,91,170,.18);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.92), rgba(255,255,255,.25) 42%, transparent 43%),
    linear-gradient(145deg, rgba(0,91,170,.1), rgba(200,155,60,.14));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.58), 0 10px 22px rgba(17,19,21,.08);
}

.quality-rebuild__fact-icon svg {
width: 24px;
  height: 24px;
  fill: currentColor;
}

.quality-rebuild__facts--cards span:nth-child(2) .quality-rebuild__fact-icon {
color: var(--brass-dark);
  border-color: rgba(200,155,60,.24);
}

.quality-rebuild__facts--cards span:nth-child(3) .quality-rebuild__fact-icon {
color: var(--danger);
  border-color: rgba(182,74,54,.22);
}

.quality-rebuild__facts--cards strong {
grid-area: title;
  align-self: end;
  font-size: clamp(.9rem, 1vw, 1rem);
}

.quality-rebuild__facts--cards small {
grid-area: text;
  align-self: start;
  color: #696054;
}

@media (max-width: 1080px) {
.quality-rebuild__qr-frame {
width: min(100%, 390px);
}

.quality-rebuild__qr-frame img {
max-height: 225px;
}
}

@media (max-width: 760px) {
.quality-rebuild__facts--cards {
grid-template-columns: 1fr;
}

.quality-rebuild__facts--cards span {
min-height: 92px;
}

.quality-rebuild__qr-frame {
width: min(100%, 330px);
}

.quality-rebuild__qr-frame img {
width: min(100%, 285px);
    max-height: 205px;
}
}

@media (max-width: 520px) {
.quality-rebuild__facts--cards span {
grid-template-columns: 38px minmax(0, 1fr);
    column-gap: .72rem;
    padding: .9rem .88rem .9rem 1rem;
}

.quality-rebuild__fact-icon {
width: 38px;
    height: 38px;
}

.quality-rebuild__fact-icon svg {
width: 21px;
    height: 21px;
}

.quality-rebuild__qr-frame {
width: min(100%, 290px);
}

.quality-rebuild__qr-frame img {
width: min(100%, 250px);
    max-height: 178px;
}
}

.quality-rebuild__facts--cards span {
transform: translate3d(0, 0, 0);
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease;
  animation: qualityFactEnter .68s cubic-bezier(.2, .7, .2, 1) both;
  animation-delay: var(--quality-fact-delay, 0ms);
}

.quality-rebuild__facts--cards span:nth-child(1) {
--quality-fact-delay: 0ms;
}

.quality-rebuild__facts--cards span:nth-child(2) {
--quality-fact-delay: 110ms;
}

.quality-rebuild__facts--cards span:nth-child(3) {
--quality-fact-delay: 220ms;
}

.quality-rebuild__facts--cards span:hover, .quality-rebuild__facts--cards span:focus-within {
transform: translateY(-4px);
  border-color: rgba(200, 155, 60, .34);
  box-shadow: 0 22px 54px rgba(17, 19, 21, .14);
  background:
    linear-gradient(145deg, rgba(255,250,240,1), rgba(248,242,232,.98)),
    var(--white);
}

.quality-rebuild__facts--cards span::after {
opacity: .72;
  transition: opacity .28s ease, border-color .28s ease;
}

.quality-rebuild__facts--cards span:hover::after, .quality-rebuild__facts--cards span:focus-within::after {
opacity: 1;
  border-color: rgba(200, 155, 60, .28);
}

.quality-rebuild__facts--cards span::before {
transition: width .28s ease, filter .28s ease;
}

.quality-rebuild__facts--cards span:hover::before, .quality-rebuild__facts--cards span:focus-within::before {
width: 6px;
  filter: saturate(1.14) brightness(1.04);
}

.quality-rebuild__fact-icon {
overflow: hidden;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease;
}

.quality-rebuild__fact-icon::after {
content: "";
  position: absolute;
  inset: -45%;
  background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.58) 50%, transparent 65%);
  transform: translateX(-75%) rotate(8deg);
  opacity: 0;
  pointer-events: none;
}

.quality-rebuild__facts--cards span:hover .quality-rebuild__fact-icon, .quality-rebuild__facts--cards span:focus-within .quality-rebuild__fact-icon {
transform: translateY(-1px) scale(1.06);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72), 0 14px 28px rgba(17,19,21,.12);
}

.quality-rebuild__facts--cards span:hover .quality-rebuild__fact-icon::after, .quality-rebuild__facts--cards span:focus-within .quality-rebuild__fact-icon::after {
animation: qualityIconSheen .72s ease both;
}

.quality-rebuild__fact-icon svg {
transition: transform .28s ease;
}

.quality-rebuild__facts--cards span:hover .quality-rebuild__fact-icon svg, .quality-rebuild__facts--cards span:focus-within .quality-rebuild__fact-icon svg {
transform: scale(1.08);
}

@keyframes qualityFactEnter {
  from {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes qualityIconSheen {
  0% {
    opacity: 0;
    transform: translateX(-80%) rotate(8deg);
  }
  30% { opacity: 1; }
  100% {
    opacity: 0;
    transform: translateX(80%) rotate(8deg);
  }
}

@media (prefers-reduced-motion: reduce) {
.quality-rebuild__facts--cards span, .quality-rebuild__fact-icon, .quality-rebuild__fact-icon svg, .quality-rebuild__fact-icon::after {
animation: none !important;
    transition: none !important;
    transform: none !important;
}
}

.quality-rebuild, .quality-rebuild * {
min-width: 0;
}

.quality-rebuild {
overflow-x: clip;
}

.quality-rebuild__container {
width: min(100% - 32px, var(--container));
}

.quality-rebuild__grid {
display: grid;
  grid-template-columns: 1fr !important;
  gap: clamp(1rem, 3.2vw, 1.6rem);
  align-items: start;
}

.quality-rebuild__qr-card, .quality-rebuild__side, .quality-rebuild__copy-card, .quality-rebuild__iso-card {
width: 100%;
  max-width: 100%;
}

.quality-rebuild__side {
display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.4vw, 1.35rem);
}

.quality-rebuild__qr-card {
align-self: start;
}

.quality-rebuild__qr-frame {
width: min(100%, 360px) !important;
  max-width: 100%;
}

.quality-rebuild__qr-frame img {
width: min(100%, 300px) !important;
  max-height: 210px !important;
}

.quality-rebuild__qr-help, .quality-rebuild__copy-card p, .quality-rebuild__iso-card p {
overflow-wrap: anywhere;
}

.quality-rebuild__facts--cards {
grid-template-columns: 1fr !important;
}

@media (min-width: 720px) {
.quality-rebuild__facts--cards {
grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.quality-rebuild__side {
grid-template-columns: minmax(0, .96fr) minmax(260px, 1.04fr);
    align-items: stretch;
}
}

@media (min-width: 1100px) {
.quality-rebuild__grid {
grid-template-columns: minmax(0, .92fr) minmax(340px, .78fr) !important;
    gap: clamp(1.25rem, 2.2vw, 2rem);
    align-items: stretch;
}

.quality-rebuild__qr-card {
height: 100%;
}

.quality-rebuild__side {
grid-template-columns: 1fr;
    align-content: stretch;
    height: 100%;
}

.quality-rebuild__copy-card, .quality-rebuild__iso-card {
min-height: 0;
}
}

@media (max-width: 719px) {
.quality-rebuild__container {
width: min(100% - 24px, var(--container));
}

.quality-rebuild__intro, .quality-rebuild__qr-heading, .quality-rebuild__qr-help {
max-width: 100%;
}

.quality-rebuild__qr-card, .quality-rebuild__copy-card, .quality-rebuild__iso-card, .quality-rebuild__facts--cards span {
padding-inline: clamp(.95rem, 4vw, 1.15rem);
}

.quality-rebuild__qr-frame {
width: min(100%, 300px) !important;
    margin-inline: auto;
}

.quality-rebuild__qr-frame img {
width: min(100%, 245px) !important;
    max-height: 175px !important;
}

.quality-rebuild__iso-card img {
width: min(100%, 220px);
    max-height: 112px;
}
}

#calidad.quality-rebuild {
display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  content-visibility: visible !important;
  contain: none !important;
  min-height: auto !important;
  z-index: 1;
}

#calidad.quality-rebuild, #calidad.quality-rebuild .quality-rebuild__container, #calidad.quality-rebuild .quality-rebuild__intro, #calidad.quality-rebuild .quality-rebuild__facts, #calidad.quality-rebuild .quality-rebuild__grid, #calidad.quality-rebuild .quality-rebuild__qr-card, #calidad.quality-rebuild .quality-rebuild__side, #calidad.quality-rebuild .quality-rebuild__copy-card, #calidad.quality-rebuild .quality-rebuild__iso-card {
opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

#calidad.quality-rebuild .quality-rebuild__grid {
position: relative;
  z-index: 1;
}

.quality-rebuild__facts--cards {
width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(.9rem, 1.6vw, 1.25rem) !important;
}

.quality-rebuild__facts--cards span {
min-height: clamp(126px, 10vw, 148px) !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  column-gap: clamp(.95rem, 1.5vw, 1.25rem) !important;
  padding: clamp(1.15rem, 1.65vw, 1.45rem) !important;
  align-content: center !important;
  border-color: rgba(17, 19, 21, .11) !important;
  background:
    linear-gradient(145deg, rgba(255, 250, 240, 1), rgba(242, 234, 219, .96)),
    var(--white) !important;
  box-shadow: 0 22px 58px rgba(17, 19, 21, .115) !important;
}

.quality-rebuild__facts--cards span::before {
width: 6px !important;
}

.quality-rebuild__facts--cards span::after {
inset: 9px !important;
  border-color: rgba(200, 155, 60, .18) !important;
}

.quality-rebuild__fact-icon {
width: 56px !important;
  height: 56px !important;
  border-color: rgba(0, 91, 170, .24) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.66),
    0 14px 28px rgba(17,19,21,.1) !important;
}

.quality-rebuild__fact-icon svg {
width: 30px !important;
  height: 30px !important;
}

.quality-rebuild__facts--cards strong {
font-size: clamp(1rem, 1.2vw, 1.18rem) !important;
  letter-spacing: .005em !important;
}

.quality-rebuild__facts--cards small {
font-size: clamp(.7rem, .8vw, .78rem) !important;
  letter-spacing: .105em !important;
}

.quality-rebuild__qr-card {
grid-template-rows: auto auto minmax(0, 1fr) !important;
  align-content: stretch !important;
  gap: clamp(.95rem, 1.45vw, 1.2rem) !important;
}

.quality-rebuild__qr-help {
max-width: 760px !important;
  margin: 0 !important;
  font-size: clamp(.96rem, 1.05vw, 1.03rem) !important;
  line-height: 1.68 !important;
}

.quality-rebuild__qr-frame {
width: min(100%, 620px) !important;
  justify-self: center !important;
  align-self: stretch !important;
  min-height: clamp(260px, 28vw, 360px) !important;
  padding: clamp(.7rem, 1.1vw, .95rem) !important;
}

.quality-rebuild__qr-frame img {
width: min(100%, 520px) !important;
  max-height: clamp(245px, 25vw, 330px) !important;
}

@media (max-width: 1080px) {
.quality-rebuild__facts--cards {
grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.quality-rebuild__facts--cards span {
min-height: 118px !important;
    grid-template-columns: 50px minmax(0, 1fr) !important;
    padding: 1.05rem !important;
}

.quality-rebuild__fact-icon {
width: 50px !important;
    height: 50px !important;
}

.quality-rebuild__qr-frame {
width: min(100%, 560px) !important;
    min-height: 300px !important;
}

.quality-rebuild__qr-frame img {
max-height: 285px !important;
}
}

@media (max-width: 760px) {
.quality-rebuild__facts--cards {
grid-template-columns: 1fr !important;
}

.quality-rebuild__facts--cards span {
min-height: 96px !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    padding: .95rem 1rem !important;
}

.quality-rebuild__fact-icon {
width: 46px !important;
    height: 46px !important;
}

.quality-rebuild__fact-icon svg {
width: 26px !important;
    height: 26px !important;
}

.quality-rebuild__qr-frame {
width: min(100%, 420px) !important;
    min-height: 230px !important;
}

.quality-rebuild__qr-frame img {
width: min(100%, 360px) !important;
    max-height: 215px !important;
}
}

@media (max-width: 520px) {
.quality-rebuild__qr-frame {
min-height: 205px !important;
}

.quality-rebuild__qr-frame img {
max-height: 190px !important;
}
}

#calidad.quality-rebuild .quality-rebuild__qr-frame {
width: min(100%, 600px) !important;
  min-height: auto !important;
  margin: clamp(.35rem, 1vw, .65rem) auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  display: grid !important;
  place-items: center !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame::before, #calidad.quality-rebuild .quality-rebuild__qr-frame::after {
content: none !important;
  display: none !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame img {
width: min(100%, 500px) !important;
  max-height: clamp(235px, 25vw, 320px) !important;
  object-fit: contain !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: drop-shadow(0 18px 30px rgba(17, 19, 21, .12)) !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card {
gap: clamp(.85rem, 1.25vw, 1.1rem) !important;
}

@media (max-width: 1080px) {
#calidad.quality-rebuild .quality-rebuild__qr-frame {
width: min(100%, 540px) !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame img {
width: min(100%, 455px) !important;
    max-height: 280px !important;
}
}

@media (max-width: 760px) {
#calidad.quality-rebuild .quality-rebuild__qr-frame {
width: min(100%, 410px) !important;
    margin-top: .25rem !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame img {
width: min(100%, 355px) !important;
    max-height: 218px !important;
}
}

@media (max-width: 520px) {
#calidad.quality-rebuild .quality-rebuild__qr-frame img {
width: min(100%, 315px) !important;
    max-height: 196px !important;
}
}

#calidad.quality-rebuild::before {
content: none !important;
  display: none !important;
  border: 0 !important;
}

#calidad.quality-rebuild {
border: 0 !important;
  outline: 0 !important;
}

#trabajos .filter-bar {
justify-content: center;
  align-items: center;
  text-align: center;
  margin-inline: auto;
}

#trabajos .filter-btn {
text-align: center;
}

@media (min-width: 761px) {
#trabajos .filter-bar {
display: flex;
    justify-content: center;
    width: min(100% - 32px, var(--container));
}
}

@media (max-width: 760px) {
#trabajos .filter-bar {
width: min(100% - 24px, 560px);
    margin-inline: auto;
}
}

.hero, .hero__content, .trust-strip, .trust-strip span {
min-width: 0;
}

.trust-strip {
overflow: hidden;
}

.trust-strip span {
overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 700px) {
.hero {
min-height: auto;
    align-items: start;
    padding-bottom: clamp(88px, 18vw, 128px);
    overflow: hidden;
}

.hero__content {
display: flex;
    flex-direction: column;
}

.trust-strip {
grid-template-columns: 1fr;
    width: 100%;
    margin-top: 1.35rem;
    margin-bottom: 0;
}

.trust-strip span {
display: block;
    padding: .82rem .9rem;
    line-height: 1.35;
    font-size: .76rem;
}

.trust-strip strong {
font-size: 1.08rem;
    line-height: 1.1;
    margin-bottom: .15rem;
}
}

@media (max-width: 420px) {
.hero {
padding-bottom: clamp(96px, 24vw, 144px);
}

.trust-strip span {
padding: .78rem .82rem;
    font-size: .72rem;
    letter-spacing: .045em;
}
}

.quality-rebuild__qr-frame {
position: relative;
  overflow: visible;
  transform: translate3d(0, 0, 0);
  animation: qualityQrEnter .72s cubic-bezier(.2, .7, .2, 1) both;
  animation-delay: 180ms;
}

.quality-rebuild__qr-frame::before {
content: "";
  position: absolute;
  inset: 8% 12%;
  z-index: 0;
  background: radial-gradient(circle at 50% 45%, rgba(200,155,60,.18), transparent 62%);
  filter: blur(18px);
  opacity: .72;
  transform: scale(.96);
  pointer-events: none;
  transition: opacity .32s ease, transform .32s ease;
}

.quality-rebuild__qr-frame::after {
content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(120deg, transparent 38%, rgba(255,255,255,.46) 50%, transparent 62%);
  opacity: 0;
  transform: translateX(-72%) rotate(5deg);
  pointer-events: none;
  mix-blend-mode: screen;
}

.quality-rebuild__qr-frame img {
position: relative;
  z-index: 1;
  transition:
    transform .32s ease,
    filter .32s ease,
    box-shadow .32s ease;
  filter: drop-shadow(0 16px 30px rgba(17,19,21,.15));
}

.quality-rebuild__qr-card:hover .quality-rebuild__qr-frame::before, .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame::before {
opacity: .95;
  transform: scale(1.03);
}

.quality-rebuild__qr-card:hover .quality-rebuild__qr-frame::after, .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame::after {
animation: qualityQrSheen .82s ease both;
}

.quality-rebuild__qr-card:hover .quality-rebuild__qr-frame img, .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame img {
transform: translateY(-4px) scale(1.018);
  filter: drop-shadow(0 22px 38px rgba(17,19,21,.2));
}

@keyframes qualityQrEnter {
  from {
    opacity: 0;
    transform: translate3d(0, 16px, 0) scale(.985);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes qualityQrSheen {
  0% {
    opacity: 0;
    transform: translateX(-76%) rotate(5deg);
  }
  34% { opacity: .85; }
  100% {
    opacity: 0;
    transform: translateX(76%) rotate(5deg);
  }
}

@media (prefers-reduced-motion: reduce) {
.quality-rebuild__qr-frame, .quality-rebuild__qr-frame::before, .quality-rebuild__qr-frame::after, .quality-rebuild__qr-frame img {
animation: none !important;
    transition: none !important;
    transform: none !important;
}
}

#calidad.quality-rebuild .quality-rebuild__qr-frame {
position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translate3d(0, 0, 0);
  transition: transform .28s ease, filter .28s ease;
  animation: qualityQrFactLikeEnter .68s cubic-bezier(.2, .7, .2, 1) both;
  animation-delay: 220ms;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame::before {
content: "";
  position: absolute;
  inset: 8% 12%;
  z-index: 0;
  background: radial-gradient(circle at 50% 50%, rgba(200,155,60,.14), transparent 64%);
  filter: blur(18px);
  opacity: .58;
  transform: scale(.96);
  pointer-events: none;
  transition: opacity .28s ease, transform .28s ease;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame::after {
content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.52) 50%, transparent 65%);
  opacity: 0;
  transform: translateX(-80%) rotate(8deg);
  pointer-events: none;
  mix-blend-mode: screen;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame img {
position: relative;
  z-index: 1;
  transform: translate3d(0, 0, 0) scale(1);
  transition: transform .28s ease, filter .28s ease;
  filter: drop-shadow(0 14px 26px rgba(17,19,21,.13));
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover .quality-rebuild__qr-frame, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame {
transform: translateY(-4px);
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover .quality-rebuild__qr-frame::before, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame::before {
opacity: .86;
  transform: scale(1.04);
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover .quality-rebuild__qr-frame::after, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame::after {
animation: qualityQrFactLikeSheen .72s ease both;
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover .quality-rebuild__qr-frame img, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame img {
transform: scale(1.035);
  filter: drop-shadow(0 18px 34px rgba(17,19,21,.18));
}

@keyframes qualityQrFactLikeEnter {
  from {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes qualityQrFactLikeSheen {
  0% {
    opacity: 0;
    transform: translateX(-80%) rotate(8deg);
  }
  30% { opacity: .9; }
  100% {
    opacity: 0;
    transform: translateX(80%) rotate(8deg);
  }
}

@media (prefers-reduced-motion: reduce) {
#calidad.quality-rebuild .quality-rebuild__qr-frame, #calidad.quality-rebuild .quality-rebuild__qr-frame::before, #calidad.quality-rebuild .quality-rebuild__qr-frame::after, #calidad.quality-rebuild .quality-rebuild__qr-frame img {
animation: none !important;
    transition: none !important;
    transform: none !important;
}
}

#calidad.quality-rebuild .quality-rebuild__qr-frame {
position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame::before {
content: none !important;
  display: none !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame::after {
content: "" !important;
  position: absolute !important;
  inset: -45% !important;
  z-index: 2 !important;
  background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.58) 50%, transparent 65%) !important;
  transform: translateX(-75%) rotate(8deg) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  mix-blend-mode: screen !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame img {
position: relative !important;
  z-index: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition: transform .28s ease, filter .28s ease !important;
  filter: drop-shadow(0 14px 26px rgba(17,19,21,.13)) !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover .quality-rebuild__qr-frame, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame {
transform: translateY(-1px) scale(1.06) !important;
  box-shadow: none !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover .quality-rebuild__qr-frame::after, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame::after {
animation: qualityIconSheen .72s ease both !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover .quality-rebuild__qr-frame img, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame img {
transform: scale(1.08) !important;
  filter: drop-shadow(0 18px 34px rgba(17,19,21,.18)) !important;
}

@media (prefers-reduced-motion: reduce) {
#calidad.quality-rebuild .quality-rebuild__qr-frame, #calidad.quality-rebuild .quality-rebuild__qr-frame::after, #calidad.quality-rebuild .quality-rebuild__qr-frame img {
animation: none !important;
    transition: none !important;
    transform: none !important;
}
}

#calidad.quality-rebuild .quality-rebuild__qr-card {
position: relative !important;
  overflow: hidden !important;
  transform: translate3d(0, 0, 0) !important;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease !important;
  animation: qualityFactEnter .68s cubic-bezier(.2, .7, .2, 1) both !important;
  animation-delay: 260ms !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card::before {
content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  z-index: 2 !important;
  background: linear-gradient(180deg, #005baa, var(--brass), var(--danger)) !important;
  pointer-events: none !important;
  transition: width .28s ease, filter .28s ease !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card::after {
content: "" !important;
  position: absolute !important;
  inset: 8px !important;
  z-index: 1 !important;
  border: 1px solid rgba(200, 155, 60, .16) !important;
  opacity: .72 !important;
  pointer-events: none !important;
  transition: opacity .28s ease, border-color .28s ease !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within {
transform: translateY(-4px) !important;
  border-color: rgba(200, 155, 60, .34) !important;
  box-shadow: 0 22px 54px rgba(17, 19, 21, .14) !important;
  background:
    linear-gradient(145deg, rgba(255,250,240,1), rgba(248,242,232,.98)),
    var(--white) !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover::before, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within::before {
width: 6px !important;
  filter: saturate(1.14) brightness(1.04) !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover::after, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within::after {
opacity: 1 !important;
  border-color: rgba(200, 155, 60, .28) !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame {
position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame::before {
content: none !important;
  display: none !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame::after {
content: "" !important;
  position: absolute !important;
  inset: -45% !important;
  z-index: 3 !important;
  background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.58) 50%, transparent 65%) !important;
  transform: translateX(-75%) rotate(8deg) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  mix-blend-mode: screen !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-frame img {
position: relative !important;
  z-index: 2 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition: transform .28s ease, filter .28s ease !important;
  filter: drop-shadow(0 14px 26px rgba(17,19,21,.13)) !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover .quality-rebuild__qr-frame, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame {
transform: translateY(-1px) scale(1.06) !important;
  box-shadow: none !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover .quality-rebuild__qr-frame::after, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame::after {
animation: qualityIconSheen .72s ease both !important;
}

#calidad.quality-rebuild .quality-rebuild__qr-card:hover .quality-rebuild__qr-frame img, #calidad.quality-rebuild .quality-rebuild__qr-card:focus-within .quality-rebuild__qr-frame img {
transform: scale(1.08) !important;
  filter: drop-shadow(0 18px 34px rgba(17,19,21,.18)) !important;
}

@media (prefers-reduced-motion: reduce) {
#calidad.quality-rebuild .quality-rebuild__qr-card, #calidad.quality-rebuild .quality-rebuild__qr-card::before, #calidad.quality-rebuild .quality-rebuild__qr-card::after, #calidad.quality-rebuild .quality-rebuild__qr-frame, #calidad.quality-rebuild .quality-rebuild__qr-frame::after, #calidad.quality-rebuild .quality-rebuild__qr-frame img {
animation: none !important;
    transition: none !important;
    transform: none !important;
}
}

#trabajos .project-card {
position: relative;
  cursor: zoom-in;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

#trabajos .project-card:focus-visible {
outline: 2px solid var(--brass);
  outline-offset: 4px;
}

#trabajos .project-card:hover, #trabajos .project-card:focus-visible {
border-color: rgba(200,155,60,.62);
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
  transform: translateY(-3px);
}

#trabajos .project-card img {
display: block;
  object-position: center center;
  transition: transform .28s ease, filter .28s ease;
}

#trabajos .project-card:hover img, #trabajos .project-card:focus-visible img {
filter: saturate(1.08) contrast(1.03);
  transform: scale(1.025);
}

.work-lightbox {
position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: clamp(16px, 4vw, 48px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}

.work-lightbox.is-open {
opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.work-lightbox__backdrop {
position: absolute;
  inset: 0;
  background: rgba(10,12,14,.86);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.work-lightbox__content {
position: relative;
  z-index: 1;
  width: min(100%, 1120px);
  max-height: min(88vh, 820px);
  margin: 0;
  display: grid;
  gap: .85rem;
  place-items: center;
  transform: scale(.985);
  transition: transform .2s ease;
}

.work-lightbox.is-open .work-lightbox__content {
transform: scale(1);
}

.work-lightbox__image {
display: block;
  width: auto;
  max-width: 100%;
  max-height: calc(88vh - 82px);
  object-fit: contain;
  object-position: center center;
  background: #171a1d;
  border: 1px solid rgba(200,155,60,.38);
  box-shadow: 0 26px 70px rgba(0,0,0,.5);
}

.work-lightbox__caption {
max-width: min(100%, 920px);
  color: var(--muted);
  text-align: center;
  font-size: .92rem;
}

.work-lightbox__close {
position: absolute;
  top: -14px;
  right: -14px;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(200,155,60,.55);
  border-radius: 999px;
  background: var(--brass);
  color: var(--graphite);
  cursor: pointer;
  font-size: 1.65rem;
  line-height: 1;
  font-weight: 700;
  box-shadow: 0 14px 34px rgba(0,0,0,.35);
}

.work-lightbox__close:hover, .work-lightbox__close:focus-visible {
background: var(--amber);
  outline: 2px solid rgba(255,255,255,.72);
  outline-offset: 2px;
}

.work-lightbox-open, .work-lightbox-open body {
overflow: hidden;
}

@media (max-width: 700px) {
#trabajos .project-card img {
aspect-ratio: 4 / 3;
}

.work-lightbox {
padding: 14px;
}

.work-lightbox__content {
width: 100%;
    max-height: 92vh;
}

.work-lightbox__image {
width: 100%;
    max-height: calc(92vh - 84px);
}

.work-lightbox__caption {
font-size: .84rem;
    line-height: 1.35;
}

.work-lightbox__close {
top: 8px;
    right: 8px;
    width: 42px;
    height: 42px;
}
}

@media (prefers-reduced-motion: reduce) {
#trabajos .project-card, #trabajos .project-card img, .work-lightbox, .work-lightbox__content {
transition: none !important;
    transform: none !important;
}
}

/* Hero responsive rebuild - fold/tablet/desktop safe */
.hero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  overflow: clip;
  min-height: clamp(680px, 100svh, 900px);
  max-height: none;
  padding: calc(var(--header-height) + clamp(4.5rem, 7vw, 6.25rem)) 0 clamp(4.5rem, 7vw, 6.25rem);
  margin-bottom: 0;
}

.hero__media,
.hero__overlay,
.hero.section-deco::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.hero__media {
  width: 100%;
  height: 100%;
  max-height: 100%;
  aspect-ratio: 16 / 9;
  transform: none;
  background-image:
    linear-gradient(120deg, rgba(17, 19, 21, .34), rgba(17, 19, 21, .88)),
    url("../assets/images/hero/uzwil-hero.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.hero__overlay {
  background:
    radial-gradient(circle at 78% 18%, rgba(200, 155, 60, .22), transparent 30%),
    linear-gradient(90deg, rgba(17, 19, 21, .92), rgba(17, 19, 21, .54) 58%, rgba(17, 19, 21, .72));
}

.hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: clamp(1rem, 2vw, 1.35rem);
}

#hero-title {
  max-width: 980px;
  font-size: clamp(2.65rem, 5.4vw, 4.65rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
  overflow-wrap: break-word;
}

.hero__lead {
  max-width: 760px;
  margin: 0;
  color: #e2d9c8;
  font-size: clamp(1.05rem, 1.35vw, 1.24rem);
  line-height: 1.65;
}

.hero__actions {
  margin-top: .4rem;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(.75rem, 1.5vw, 1rem);
  align-items: center;
}

.trust-strip {
  width: min(100%, 780px);
  margin-top: clamp(1.8rem, 4vw, 3rem);
}

#nosotros {
  position: relative;
  z-index: 1;
  clear: both;
  scroll-margin-top: var(--header-height);
}

/* Desktop: > 1024px */
@media (min-width: 1025px) {
  .hero {
    min-height: clamp(700px, 100svh, 920px);
    padding-block: calc(var(--header-height) + 5.75rem) 5.75rem;
  }

  .hero__media {
    background-position: center center;
  }

  .about-intro.about-intro--two {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    column-gap: clamp(2.5rem, 5vw, 5.25rem);
  }
}

/* Tablet y plegables medianos: 768px - 1024px */
@media (min-width: 768px) and (max-width: 1024px) {
  .hero {
    align-items: end;
    min-height: auto;
    max-height: none;
    padding: calc(var(--header-height) + 5.25rem) 0 clamp(5.5rem, 8vw, 6.75rem);
  }

  .hero__media {
    aspect-ratio: 4 / 3;
    background-position: 54% center;
  }

  .hero__overlay {
    background:
      radial-gradient(circle at 78% 20%, rgba(200, 155, 60, .2), transparent 30%),
      linear-gradient(90deg, rgba(17, 19, 21, .94), rgba(17, 19, 21, .68) 64%, rgba(17, 19, 21, .8));
  }

  #hero-title {
    max-width: 760px;
    font-size: clamp(2.45rem, 6.4vw, 3.75rem);
    line-height: 1.04;
  }

  .hero__lead {
    max-width: 700px;
    font-size: clamp(1rem, 2vw, 1.18rem);
  }

  .trust-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2rem;
  }

  #nosotros {
    padding-top: clamp(76px, 9vw, 104px);
  }

  .about-intro.about-intro--two {
    grid-template-columns: 1fr;
    grid-template-areas:
      "kicker"
      "title"
      "copy";
    row-gap: 1rem;
  }
}

/* Mobile estándar: 480px - 768px */
@media (min-width: 480px) and (max-width: 767px) {
  .hero {
    align-items: start;
    min-height: auto;
    max-height: none;
    padding: calc(var(--header-height) + 4.5rem) 0 5rem;
  }

  .hero__media {
    aspect-ratio: 3 / 4;
    background-position: 58% center;
  }

  .hero__overlay {
    background:
      linear-gradient(180deg, rgba(17, 19, 21, .86), rgba(17, 19, 21, .62) 44%, rgba(17, 19, 21, .92)),
      linear-gradient(90deg, rgba(17, 19, 21, .9), rgba(17, 19, 21, .58));
  }

  #hero-title {
    font-size: clamp(2rem, 8.6vw, 3.15rem);
    line-height: 1.05;
  }

  .hero__lead {
    font-size: clamp(.98rem, 2.6vw, 1.08rem);
    line-height: 1.62;
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__actions .btn {
    width: 100%;
  }

  .trust-strip {
    grid-template-columns: 1fr;
    margin-top: 1.5rem;
  }

  #nosotros {
    padding-top: 72px;
  }
}

/* Mobile pequeño: < 480px */
@media (max-width: 479px) {
  .hero {
    align-items: start;
    min-height: auto;
    max-height: none;
    padding: calc(var(--header-height) + 3.75rem) 0 4.5rem;
  }

  .hero__media {
    aspect-ratio: 9 / 16;
    background-position: 60% center;
  }

  .hero__overlay {
    background:
      linear-gradient(180deg, rgba(17, 19, 21, .9), rgba(17, 19, 21, .66) 42%, rgba(17, 19, 21, .94)),
      linear-gradient(90deg, rgba(17, 19, 21, .92), rgba(17, 19, 21, .62));
  }

  #hero-title {
    font-size: clamp(1.78rem, 10.5vw, 2.75rem);
    line-height: 1.06;
    letter-spacing: -.035em;
  }

  .hero__lead {
    font-size: .98rem;
    line-height: 1.58;
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: .7rem;
  }

  .hero__actions .btn {
    width: 100%;
  }

  .trust-strip {
    grid-template-columns: 1fr;
    margin-top: 1.25rem;
  }

  .trust-strip span {
    padding: .78rem .82rem;
  }

  #nosotros {
    padding-top: 64px;
  }
}
