/* Header */
.site-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 1000;
  height: var(--header-height);
  background: rgba(255,255,255,.96);
  border-block-end: 1px solid rgba(228,232,238,.9);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: height var(--transition-base), background var(--transition-base), box-shadow var(--transition-base);
}
.site-header.is-scrolled { height: 78px; background: rgba(255,255,255,.985); box-shadow: 0 12px 42px rgba(11,29,51,.11); }
.site-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.scroll-progress { position: absolute; inset-inline: 0; inset-block-end: -1px; height: 2px; z-index: 4; background: linear-gradient(90deg,var(--color-accent),#ff4967); transform: scaleX(0); transform-origin: right center; pointer-events: none; }
.brand { display: inline-flex; align-items: center; gap: 13px; min-width: 0; flex-shrink: 0; }
.brand__logo-frame { width: 92px; height: 80px; display: grid; place-items: center; flex: 0 0 auto; transition: width var(--transition-base), height var(--transition-base), transform var(--transition-base); }
.site-header.is-scrolled .brand__logo-frame { width: 74px; height: 64px; }
.brand__logo-frame img { width: 100%; height: 100%; object-fit: contain; }
.brand__text { display: grid; gap: 2px; min-width: 0; line-height: 1.24; }
.brand__text strong { color: var(--color-primary); font-family: var(--font-brand); font-size: clamp(1rem,2vw,1.3rem); font-weight: 900; white-space: nowrap; }
.brand__text small { color: var(--color-text-secondary); font-size: .68rem; font-weight: 700; letter-spacing: .01em; white-space: nowrap; text-align: right; }
.nav-toggle { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--color-border); border-radius: 12px; background: #fff; cursor: pointer; z-index: 1003; }
.nav-toggle__lines { width: 23px; display: grid; gap: 5px; }
.nav-toggle__lines i { display: block; height: 2px; border-radius: 99px; background: var(--color-primary); transition: transform var(--transition-fast), opacity var(--transition-fast), width var(--transition-fast); }
.nav-toggle__lines i:nth-child(2) { width: 17px; justify-self: end; }
.nav-toggle[aria-expanded="true"] .nav-toggle__lines i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__lines i:nth-child(2) { opacity: 0; width: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__lines i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.primary-nav {
  position: fixed;
  inset-block-start: 0;
  inset-inline-end: 0;
  z-index: 1002;
  width: min(86vw,390px);
  height: 100dvh;
  padding: calc(var(--header-height) + 30px) 26px 30px;
  display: flex;
  flex-direction: column;
  gap: 26px;
  background: #fff;
  box-shadow: -24px 0 70px rgba(11,29,51,.2);
  transform: translateX(105%);
  visibility: hidden;
  transition: transform 520ms var(--ease-corporate), visibility 520ms;
}
.primary-nav.is-open { transform: translateX(0); visibility: visible; }
.primary-nav ul { display: grid; gap: 4px; }
.primary-nav li a { display: flex; align-items: center; min-height: 52px; padding: 10px 12px; color: var(--color-primary); font-weight: 800; border-block-end: 1px solid var(--color-border); position: relative; }
.primary-nav li a::after { content: ""; position: absolute; inset-inline-start: 12px; inset-block-end: -1px; width: 34px; height: 2px; background: var(--color-accent); transform: scaleX(0); transform-origin: right; transition: transform var(--transition-fast); }
.primary-nav li a:hover::after,.primary-nav li a.is-current::after { transform: scaleX(1); }
.primary-nav__cta { margin-block-start: auto; }
.menu-backdrop { position: fixed; inset: 0; z-index: 1001; background: rgba(6,18,33,.58); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: opacity 380ms ease, visibility 380ms; }
.menu-backdrop.is-open { opacity: 1; visibility: visible; }

/* Hero */
.hero { position: relative; min-height: calc(100svh - var(--header-height)); min-height: 760px; display: grid; align-items: center; overflow: clip; isolation: isolate; background: var(--color-primary); }
.hero__media { position: absolute; z-index: -4; inset: -3%; overflow: hidden; transform: translate3d(0,var(--hero-parallax,0px),0); }
.hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center center; filter: saturate(.92) contrast(1.03); }
.hero__overlay { position: absolute; z-index: -3; inset: 0; background: linear-gradient(90deg,rgba(11,29,51,.12) 0%,rgba(11,29,51,.32) 34%,rgba(11,29,51,.91) 76%,rgba(11,29,51,.97) 100%), linear-gradient(0deg,rgba(5,16,29,.58),transparent 48%); }
.hero__lines { position: absolute; z-index: -2; inset: 0; pointer-events: none; opacity: .32; }
.hero__lines span { position: absolute; inset-block: 0; width: 1px; background: linear-gradient(transparent,rgba(255,255,255,.35),transparent); }
.hero__lines span:nth-child(1) { inset-inline-end: 14%; }
.hero__lines span:nth-child(2) { inset-inline-end: 34%; }
.hero__lines span:nth-child(3) { inset-inline-end: 55%; }
.hero__inner { padding-block: clamp(90px,12vw,150px); }
.hero__content { max-width: 680px; margin-inline-end: auto; text-align: right; }
.hero__eyebrow { display: flex; align-items: center; gap: 10px; margin-block-end: 18px; color: rgba(255,255,255,.86); font-weight: 800; }
.hero__eyebrow span { width: 38px; height: 2px; background: var(--color-accent); }
.hero h1 { max-width: 620px; margin-block-end: 9px; color: #fff; font-family: var(--font-brand); font-size: clamp(2.65rem,4.8vw,4.25rem); font-weight: 900; line-height: 1.16; text-wrap: balance; text-shadow: 0 10px 32px rgba(0,0,0,.25); }
.hero h1 > span { display: inline-block; }
.hero__english { margin-block-end: 17px; text-align: right; color: rgba(255,255,255,.74); font-size: clamp(.9rem,1.4vw,1.08rem); font-weight: 700; letter-spacing: .03em; }
.hero__tagline { margin-block-end: 11px; color: #fff; font-size: clamp(1.25rem,2.5vw,2rem); font-weight: 850; }
.hero__description { max-width: 600px; margin-block-end: 18px; color: rgba(255,255,255,.78); font-size: clamp(1rem,1.45vw,1.12rem); }
.hero__meta { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-block-end: 22px; color: #fff; }
.hero__meta span { display: inline-flex; align-items: center; gap: 8px; font-weight: 750; }
.hero__actions { display: flex; }
.hero__scroll-cue { position: absolute; inset-inline-start: 50%; inset-block-end: 26px; transform: translateX(-50%); display: grid; justify-items: center; gap: 7px; color: rgba(255,255,255,.72); font-size: .72rem; }
.hero__scroll-cue span { width: 24px; height: 38px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; position: relative; }
.hero__scroll-cue span::after { content: ""; position: absolute; width: 3px; height: 8px; inset-block-start: 8px; inset-inline-start: 50%; border-radius: 99px; background: #fff; transform: translateX(-50%); }

/* Inner page hero */
.page-hero { position: relative; overflow: clip; isolation: isolate; padding-block: clamp(54px,7vw,90px); color: #fff; background: linear-gradient(135deg,var(--color-primary),#102c4e); }
.page-hero__pattern { position: absolute; z-index: -1; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent); }
.breadcrumbs { display: flex; align-items: center; gap: 8px; margin-block-end: 30px; color: rgba(255,255,255,.66); font-size: .86rem; }
.breadcrumbs a:hover { color: #fff; }
.page-hero__bands { display: grid; gap: 14px; }
.page-hero__title-band,.page-hero__description-band { position: relative; overflow: hidden; border-radius: 14px; }
.page-hero__title-band { width: min(100%,900px); margin-inline-start: auto; padding: clamp(23px,4vw,42px); background: #fff; box-shadow: var(--shadow-dark); }
.page-hero__title-band::after { content: ""; position: absolute; inset-inline-end: 0; inset-block: 0; width: 6px; background: var(--color-accent); }
.page-hero__title-band p { margin-block-end: 7px; color: var(--color-accent); font-weight: 850; }
.page-hero__title-band h1 { margin: 0; font-family: var(--font-brand); font-size: clamp(2rem,5vw,4.2rem); font-weight: 900; }
.page-hero__title-band h1 span { display: inline-block; }
.page-hero__description-band { width: min(92%,760px); margin-inline-end: auto; padding: 22px clamp(22px,4vw,38px); border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.page-hero__description-band p { margin-block-end: 7px; color: rgba(255,255,255,.84); }
.page-hero__description-band span { color: rgba(255,255,255,.58); font-size: .86rem; font-weight: 700; }
.page-hero--reverse .page-hero__title-band { margin-inline-start: 0; margin-inline-end: auto; }
.page-hero--reverse .page-hero__description-band { margin-inline-start: auto; margin-inline-end: 0; }

/* Homepage and shared sections */
.overview-grid,.inner-intro-grid,.quality-grid,.responsibility-grid,.quality-intro__grid,.commitments-layout,.responsibility-statement__grid { display: grid; align-items: center; gap: clamp(42px,7vw,92px); }
.foundation-panel { position: relative; min-height: 360px; display: grid; align-content: center; justify-items: center; text-align: center; padding: 42px; overflow: hidden; border-radius: var(--radius-lg); color: #fff; background: var(--color-primary); box-shadow: var(--shadow-md); }
.foundation-panel::before,.foundation-panel::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); }
.foundation-panel::before { width: 310px; height: 310px; }
.foundation-panel::after { width: 220px; height: 220px; }
.foundation-panel > * { position: relative; z-index: 1; }
.foundation-panel span { color: rgba(255,255,255,.68); font-weight: 750; }
.foundation-panel strong { direction: ltr; display: flex; gap: .015em; margin-block: 4px 8px; color: #fff; font-family: Arial,sans-serif; font-size: clamp(5rem,11vw,8rem); line-height: 1; letter-spacing: -.07em; }
.foundation-panel strong i { font-style: normal; }
.foundation-panel small { color: rgba(255,255,255,.72); font-weight: 700; }
.foundation-panel--inner { min-height: 320px; }
.direction-section { overflow: clip; background: var(--color-primary); }
.direction-section::before { content: ""; position: absolute; width: 600px; height: 600px; inset-inline-start: -300px; inset-block-start: -320px; border-radius: 50%; border: 100px solid rgba(255,255,255,.025); }
.vision-grid { display: grid; gap: 20px; }
.vision-card { min-height: 100%; padding: clamp(28px,4vw,46px); border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-md); background: rgba(255,255,255,.07); backdrop-filter: blur(8px); }
.vision-card--primary { background: #fff; border-color: #fff; }
.vision-card__icon { width: 58px; height: 58px; display: grid; place-items: center; margin-block-end: 24px; border-radius: 16px; color: #fff; background: var(--color-accent); }
.vision-card__label { margin-block-end: 7px; color: var(--color-accent); font-weight: 850; }
.vision-card h3 { margin-block-end: 12px; color: #fff; font-size: clamp(1.35rem,2.8vw,2rem); }
.vision-card p:last-child { margin: 0; color: rgba(255,255,255,.68); }
.vision-card--primary h3 { color: var(--color-primary); }
.vision-card--primary p:last-child { color: var(--color-text-secondary); }
.features-grid { display: grid; gap: 18px; }
.feature-card { position: relative; min-height: 100%; padding: 28px; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-sm); transition: transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base); }
.feature-card::after { content: ""; position: absolute; inset-inline-start: 0; inset-block-end: 0; width: 0; height: 3px; background: var(--color-accent); transition: width var(--transition-base); }
.feature-card:hover { transform: translateY(-7px); border-color: rgba(217,4,40,.25); box-shadow: 0 26px 56px rgba(11,29,51,.13); }
.feature-card:hover::after { width: 100%; }
.feature-card__icon,.process-card__icon,.commitment-item > span,.responsibility-item > span,.visit-panel__icon,.contact-card__icon { width: 52px; height: 52px; display: grid; place-items: center; margin-block-end: 21px; border-radius: 14px; color: var(--color-accent); background: rgba(217,4,40,.08); transition: transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast); }
.feature-card:hover .feature-card__icon { transform: translateY(-4px); color: #fff; background: var(--color-accent); }
.feature-card h3 { margin-block-end: 8px; font-size: 1.18rem; }
.feature-card p { margin: 0; }
.quality-section,.quality-intro,.responsibility-statement { overflow: clip; color: #fff; background: linear-gradient(135deg,#07182c,var(--color-primary-2)); }
.quality-copy .section-heading { margin-block-end: 26px; }
.quality-orbit { position: relative; width: min(78vw,440px); aspect-ratio: 1; margin-inline: auto; display: grid; place-items: center; }
.quality-orbit__core { width: 126px; height: 126px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--color-accent); box-shadow: 0 0 0 16px rgba(217,4,40,.1),0 25px 60px rgba(0,0,0,.28); }
.quality-orbit__ring { position: absolute; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.quality-orbit__ring--one { width: 72%; height: 72%; }
.quality-orbit__ring--two { width: 100%; height: 100%; border-style: dashed; }
.quality-orbit__label { position: absolute; padding: 7px 13px; border: 1px solid rgba(255,255,255,.16); border-radius: 99px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.06); font-size: .82rem; font-weight: 750; }
.quality-orbit__label--one { inset-block-start: 4%; }
.quality-orbit__label--two { inset-inline-start: 0; inset-block-end: 22%; }
.quality-orbit__label--three { inset-inline-end: 0; inset-block-end: 22%; }
.responsibility-list,.commitment-list { display: grid; gap: 13px; margin-block-end: 24px; }
.responsibility-item,.commitment-item { display: grid; grid-template-columns: 52px 1fr; gap: 15px; align-items: start; padding: 16px; border: 1px solid var(--color-border); border-radius: 15px; background: #fff; transition: transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast); }
.responsibility-item:hover,.commitment-item:hover { transform: translateX(-5px); border-color: rgba(217,4,40,.2); box-shadow: var(--shadow-sm); }
.responsibility-item > span,.commitment-item > span { margin: 0; }
.responsibility-item h3,.commitment-item h3 { margin-block-end: 2px; font-size: 1rem; }
.responsibility-item p,.commitment-item p { margin: 0; font-size: .92rem; }
.cta-section { padding-block-start: 0; }
.cta-panel { position: relative; display: grid; align-items: center; gap: 28px; padding: clamp(32px,5vw,58px); overflow: hidden; border-radius: var(--radius-lg); color: #fff; background: linear-gradient(120deg,var(--color-primary),#17395f); box-shadow: var(--shadow-md); }
.cta-panel::before { content: ""; position: absolute; width: 340px; height: 340px; inset-inline-end: -190px; inset-block-start: -210px; border: 58px solid rgba(255,255,255,.04); border-radius: 50%; }
.cta-panel > * { position: relative; z-index: 1; }
.cta-panel h2 { margin-block-end: 10px; color: #fff; font-size: clamp(1.65rem,3.5vw,2.75rem); }
.cta-panel p:last-child { margin: 0; color: rgba(255,255,255,.7); }

/* Internal content */
.statement-box { display: flex; gap: 15px; align-items: flex-start; padding: 20px; border-inline-start: 4px solid var(--color-accent); border-radius: 10px; background: var(--color-surface); }
.statement-box svg { flex: 0 0 auto; color: var(--color-accent); }
.statement-box p { margin: 0; }
.process-grid { display: grid; gap: 18px; }
.process-card { position: relative; padding: 30px; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-sm); transition: transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base); }
.process-card:hover { transform: translateY(-6px); border-color: rgba(217,4,40,.22); box-shadow: var(--shadow-md); }
.process-card__number { position: absolute; inset-inline-end: 18px; inset-block-start: 12px; color: rgba(11,29,51,.06); font-family: Arial,sans-serif; font-size: 4rem; font-weight: 900; line-height: 1; }
.process-card h3 { margin-block-end: 8px; }
.process-card p { margin: 0; }
.quality-seal { min-height: 300px; display: grid; align-content: center; justify-items: center; text-align: center; padding: 38px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-lg); background: rgba(255,255,255,.06); }
.quality-seal > span { width: 86px; height: 86px; display: grid; place-items: center; margin-block-end: 19px; border-radius: 22px; color: #fff; background: var(--color-accent); }
.quality-seal strong { color: #fff; font-size: clamp(1.35rem,2.7vw,1.9rem); }
.quality-seal p { margin: 7px 0 0; color: rgba(255,255,255,.66); }
.promise-list { display: grid; gap: 12px; }
.promise-list li { display: flex; gap: 12px; align-items: center; padding: 14px 16px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; color: rgba(255,255,255,.82); background: rgba(255,255,255,.06); }
.promise-list li svg { color: var(--color-accent); flex: 0 0 auto; }

/* Contact */
.contact-grid { display: grid; gap: 18px; }
.contact-card { min-height: 100%; padding: 28px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-sm); transition: transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base); }
.contact-card:hover { transform: translateY(-6px); border-color: rgba(217,4,40,.22); box-shadow: var(--shadow-md); }
.contact-card h3 { margin-block-end: 12px; }
.contact-card__content { display: grid; gap: 6px; }
.contact-card__content a { color: var(--color-text-secondary); transition: color var(--transition-fast); }
.contact-card__content a:hover { color: var(--color-accent); }
.contact-direct { margin-block-start: 24px; display: grid; gap: 20px; align-items: center; padding: clamp(25px,4vw,42px); border-radius: var(--radius-lg); color: #fff; background: var(--color-primary); }
.contact-direct__icon { width: 66px; height: 66px; display: grid; place-items: center; border-radius: 18px; background: var(--color-accent); }
.contact-direct h2 { margin-block-end: 5px; color: #fff; }
.contact-direct strong { color: rgba(255,255,255,.82); }
.visit-grid { display: grid; gap: 20px; }
.visit-panel,.social-panel { min-height: 100%; padding: clamp(28px,4.5vw,48px); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.visit-panel__icon { color: #fff; background: var(--color-primary); }
.visit-panel h2,.social-panel h2 { margin-block-end: 14px; font-size: clamp(1.45rem,3vw,2.1rem); }
.visit-panel address { color: var(--color-primary); font-style: normal; font-weight: 800; line-height: 1.9; }
.visit-panel__note { margin-block: 16px 0; padding-block-start: 14px; border-block-start: 1px solid var(--color-border); font-size: .88rem; }
.social-links { display: flex; flex-wrap: wrap; gap: 9px; }
.social-links a { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 11px; background: rgba(255,255,255,.08); transition: transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast); }
.social-links a:hover { transform: translateY(-4px); background: var(--color-accent); border-color: var(--color-accent); }
.social-links img { width: 21px; height: 21px; object-fit: contain; filter: brightness(0) invert(1); }
.social-links--light a { border-color: var(--color-border); background: var(--color-surface); }
.social-links--light img { filter: none; opacity: .85; }
.social-links--light a:hover img { filter: brightness(0) invert(1); opacity: 1; }

/* Footer */
.site-footer { position: relative; overflow: hidden; padding-block-start: clamp(60px,7vw,92px); color: #fff; background: #07182c; }
.site-footer::before { content: ""; position: absolute; width: 560px; height: 560px; inset-inline-end: -330px; inset-block-start: -340px; border: 1px solid rgba(255,255,255,.05); border-radius: 50%; box-shadow: 0 0 0 90px rgba(255,255,255,.015),0 0 0 180px rgba(255,255,255,.01); }
.footer-brand { display: inline-flex; align-items: center; gap: 18px; }
.footer-brand__logo { width: 132px; height: 112px; display: grid; place-items: center; padding: 8px; border-radius: 18px; background: #fff; box-shadow: 0 16px 40px rgba(0,0,0,.25); }
.footer-brand__logo img { width: 100%; height: 100%; object-fit: contain; }
.footer-brand__text { display: grid; gap: 4px; }
.footer-brand__text strong { color: #fff; font-family: var(--font-brand); font-size: clamp(1.15rem,2.8vw,1.8rem); font-weight: 900; }
.footer-brand__text span { color: rgba(255,255,255,.74); font-size: .82rem; font-weight: 700; }
.footer-brand__text small { color: rgba(255,255,255,.52); font-size: .8rem; }
.site-footer__contact h2 { margin-block-end: 20px; color: #fff; font-size: 1.25rem; }
.footer-contact-list { display: grid; gap: 17px; }
.footer-contact-list > div { display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: start; }
.footer-contact-list__icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: rgba(255,255,255,.08); }
.footer-contact-list p { display: grid; gap: 3px; margin: 0; color: rgba(255,255,255,.66); }
.footer-contact-list a { transition: color var(--transition-fast); }
.footer-contact-list a:hover { color: #fff; }
.site-footer__bottom { border-block-start: 1px solid rgba(255,255,255,.08); }
.site-footer__bottom .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; padding-block: 20px; }
.site-footer__bottom p { margin: 0; color: rgba(255,255,255,.48); font-size: .82rem; }

/* Floating controls */
.whatsapp-float,.back-to-top { position: fixed; z-index: 900; width: 54px; height: 54px; display: grid; place-items: center; border: 0; border-radius: 50%; color: #fff; cursor: pointer; box-shadow: 0 14px 35px rgba(11,29,51,.24); transition: transform var(--transition-fast),opacity var(--transition-fast),visibility var(--transition-fast),background var(--transition-fast); }
.whatsapp-float { inset-inline-end: 18px; inset-block-end: 20px; background: #1fa855; }
.whatsapp-float:hover { transform: translateY(-5px) scale(1.03); }
.back-to-top { inset-inline-start: 18px; inset-block-end: 20px; background: var(--color-primary); opacity: 0; visibility: hidden; transform: translateY(12px); }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: var(--color-accent); transform: translateY(-4px); }

/* 404 */
.not-found { min-height: calc(100svh - var(--header-height)); display: grid; place-items: center; text-align: center; padding-block: 70px; background: linear-gradient(135deg,#fff,var(--color-surface)); }
.not-found__inner { max-width: 740px; }
.not-found__brand { width: 120px; margin-inline: auto; }
.not-found__code { margin: 0; color: var(--color-accent); font-family: Arial,sans-serif; font-size: clamp(5rem,16vw,10rem); font-weight: 900; line-height: 1; }
.not-found h1 { margin-block: 15px 10px; font-size: clamp(1.8rem,4.5vw,3rem); }
.not-found__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-block-start: 28px; }

@media (min-width: 680px) {
  .vision-grid,.visit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .process-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .contact-direct { grid-template-columns: auto minmax(0,1fr) auto; }
}
@media (min-width: 760px) { .features-grid,.contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 900px) {
  .overview-grid,.inner-intro-grid { grid-template-columns: minmax(0,1.12fr) minmax(330px,.72fr); }
  .quality-grid { grid-template-columns: minmax(0,1fr) minmax(380px,.8fr); }
  .responsibility-grid,.commitments-layout,.inner-intro-grid--visual { grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); }
  .quality-intro__grid,.responsibility-statement__grid { grid-template-columns: minmax(0,1.1fr) minmax(340px,.72fr); }
  .cta-panel { grid-template-columns: minmax(0,1fr) auto; }
  }
@media (min-width: 1024px) {
  .nav-toggle,.menu-backdrop { display: none; }
  .primary-nav { position: static; width: auto; height: auto; padding: 0; flex-direction: row; align-items: center; gap: 24px; background: transparent; box-shadow: none; transform: none; visibility: visible; }
  .primary-nav ul { display: flex; align-items: center; gap: 4px; }
  .primary-nav li a { min-height: 46px; padding: 8px 11px; border: 0; font-size: .92rem; }
  .primary-nav__cta { margin: 0; }
  .features-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .contact-grid--page { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  :root { --header-height: 86px; }
  .site-header.is-scrolled { height: 72px; }
  .brand { gap: 8px; }
  .brand__logo-frame { width: 72px; height: 65px; }
  .site-header.is-scrolled .brand__logo-frame { width: 62px; height: 54px; }
  .brand__text strong { font-size: .9rem; }
  .brand__text small { display: none; }
  .hero { min-height: 720px; }
  .hero__media { inset: 0; }
  .hero__media img { object-position: center 42%; }
  .hero__overlay { background: linear-gradient(0deg,rgba(7,22,39,.98) 0%,rgba(7,22,39,.86) 48%,rgba(7,22,39,.3) 100%); }
  .hero__inner { align-self: end; padding-block: 265px 64px; }
  .hero__content { margin-inline-end: 0; }
  .hero h1 { max-width: 100%; font-size: clamp(2.05rem,9vw,2.75rem); line-height: 1.22; }
  .hero__description { max-width: 100%; }
  .hero__meta { display: grid; gap: 8px; }
  .hero__scroll-cue { display: none; }
  .page-hero__title-band,.page-hero__description-band { width: 100%; }
  .page-hero__description-band { margin: 0; }
  .foundation-panel { min-height: 300px; }
  .footer-brand { align-items: flex-start; }
  .footer-brand__logo { width: 104px; height: 92px; }
  .footer-brand__text span { font-size: .7rem; }
  .site-footer__bottom .container { justify-content: center; text-align: center; }
  .whatsapp-float,.back-to-top { width: 50px; height: 50px; inset-block-end: 16px; }
  .whatsapp-float { inset-inline-end: 14px; }
  .back-to-top { inset-inline-start: 14px; }
}
@media (max-width: 420px) {
  .brand__text strong { font-size: .82rem; }
  .brand__logo-frame { width: 64px; }
  .nav-toggle { width: 44px; height: 44px; }
  .footer-brand__logo { width: 116px; height: 98px; }
  .not-found__actions .button { width: 100%; }
}
@media (hover: none),(pointer: coarse) {
  .feature-card:hover,.process-card:hover,.contact-card:hover,.responsibility-item:hover,.commitment-item:hover { transform: none; }
}

/* Final approved identity and media refinement */
.brand { gap: 15px; }
.brand__logo-frame { width: 104px; height: 88px; }
.site-header.is-scrolled .brand__logo-frame { width: 84px; height: 70px; }
.brand__text { gap: 3px; }
.brand__text strong { font-size: clamp(1rem,1.6vw,1.26rem); letter-spacing: -.035em; }
.brand__text small { display: block; color: #3f4b5b; font-size: clamp(.58rem,.78vw,.72rem); font-weight: 750; letter-spacing: .015em; text-align: right; }

.approved-media { display: block; width: 100%; height: 100%; overflow: hidden; }
.approved-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease-corporate), filter .6s ease; }
.responsibility-visual,
.about-building-card,
.content-photo { position: relative; min-height: 450px; margin: 0; overflow: hidden; border-radius: var(--radius-lg); background: var(--color-primary); box-shadow: var(--shadow-md); isolation: isolate; }
.responsibility-visual::after,
.about-building-card::after,
.content-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg,rgba(6,20,36,.82),rgba(6,20,36,.06) 58%); }
.responsibility-visual figcaption,
.about-building-card figcaption,
.content-photo figcaption { position: absolute; z-index: 2; inset-inline: clamp(22px,4vw,38px); inset-block-end: clamp(20px,4vw,34px); color: #fff; }
.responsibility-visual figcaption { display: grid; gap: 4px; }
.responsibility-visual figcaption span { color: rgba(255,255,255,.72); font-size: .78rem; font-weight: 800; }
.responsibility-visual figcaption strong { color: #fff; font-family: var(--font-brand); font-size: clamp(1.25rem,2.6vw,2rem); }
.responsibility-visual figcaption small { max-width: 520px; color: rgba(255,255,255,.7); font-size: .78rem; }
.about-building-card figcaption { display: grid; gap: 2px; }
.about-building-card figcaption span { color: rgba(255,255,255,.74); font-size: .86rem; font-weight: 750; }
.about-building-card figcaption strong { color: #fff; font-size: clamp(1.15rem,2vw,1.5rem); }
.content-photo figcaption { max-width: 620px; margin: 0; color: rgba(255,255,255,.78); font-size: .8rem; line-height: 1.65; }
.content-photo--terraces { min-height: 540px; }
.content-photo--terraces .approved-media img { object-position: center 64%; }
.responsibility-visual:hover .approved-media img,
.about-building-card:hover .approved-media img,
.content-photo:hover .approved-media img { transform: scale(1.025); }

.site-footer { padding-block-start: clamp(54px,6vw,78px); }
.site-footer__masthead { position: relative; display: grid; justify-items: center; text-align: center; padding-block-end: clamp(36px,5vw,54px); }
.footer-brand { display: grid; justify-items: center; gap: 12px; text-align: center; }
.footer-brand__logo { width: clamp(144px,15vw,190px); height: clamp(118px,12vw,154px); display: grid; place-items: center; padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
.footer-brand__logo img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 1px rgba(255,255,255,.98)) drop-shadow(0 0 8px rgba(255,255,255,.42)) drop-shadow(0 12px 28px rgba(0,0,0,.32)); }
.footer-brand__text { display: grid; justify-items: center; gap: 5px; }
.footer-brand__text strong { color: #fff; font-family: var(--font-brand); font-size: clamp(1.45rem,3vw,2.25rem); font-weight: 900; }
.footer-brand__text span { color: rgba(255,255,255,.82); font-size: clamp(.82rem,1.2vw,1rem); font-weight: 720; letter-spacing: .02em; }
.footer-brand__text small { color: rgba(255,255,255,.55); font-size: .82rem; }
.site-footer__content { position: relative; display: grid; gap: clamp(34px,6vw,80px); padding-block: 34px 40px; border-block-start: 1px solid rgba(255,255,255,.09); }
.site-footer__contact h2,.site-footer__social h2 { margin-block-end: 18px; color: #fff; font-size: 1.18rem; }
.site-footer__social > p { max-width: 430px; margin-block-end: 18px; color: rgba(255,255,255,.62); }
.site-footer__social .social-links { justify-content: flex-start; }
.site-footer__social .social-links a { background: rgba(255,255,255,.09); }
.site-footer__social .social-links img { opacity: 1; }
.site-footer__bottom .container { align-items: center; }

@media (min-width: 900px) {
  .site-footer__content { grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); }
}
@media (max-width: 720px) {
  .brand { gap: 7px; }
  .brand__logo-frame { width: 72px; height: 62px; }
  .site-header.is-scrolled .brand__logo-frame { width: 62px; height: 52px; }
  .brand__text strong { font-size: clamp(.74rem,3.6vw,.92rem); }
  .brand__text small { display: block; max-width: 172px; overflow: hidden; text-overflow: ellipsis; font-size: clamp(.48rem,2.15vw,.62rem); }
  .responsibility-visual,.about-building-card,.content-photo { min-height: 390px; }
  .content-photo--terraces { min-height: 470px; }
  .footer-brand { align-items: center; }
  .footer-brand__logo { width: 150px; height: 122px; }
  .footer-brand__text span { font-size: .76rem; }
  .site-footer__content { padding-block-start: 30px; }
  .site-footer__social .social-links { justify-content: center; }
  .site-footer__social { text-align: center; }
  .site-footer__social > p { margin-inline: auto; }
}
@media (max-width: 420px) {
  .brand__logo-frame { width: 62px; height: 54px; }
  .brand__text strong { font-size: .72rem; }
  .brand__text small { max-width: 154px; font-size: .48rem; }
  .footer-brand__logo { width: 142px; height: 116px; }
}
@media (prefers-reduced-motion: reduce) {
  .approved-media img { transform: none !important; transition: none !important; }
}
.approved-media img { transform: translate3d(0,var(--media-parallax,0px),0) scale(1.02); }
.responsibility-visual:hover .approved-media img,
.about-building-card:hover .approved-media img,
.content-photo:hover .approved-media img { transform: translate3d(0,var(--media-parallax,0px),0) scale(1.045); }
.responsibility-visual > .approved-media,
.about-building-card > .approved-media,
.content-photo > .approved-media { position: absolute; inset: 0; }
.responsibility-visual > .approved-media,
.about-building-card > .approved-media,
.content-photo > .approved-media { z-index: 1; }
.responsibility-visual::after,
.about-building-card::after,
.content-photo::after { z-index: 2; }
.responsibility-visual figcaption,
.about-building-card figcaption,
.content-photo figcaption { z-index: 3; }


/* Final identity, footer alignment, and contrast */
.footer-brand { gap: clamp(22px, 3vw, 30px); }
.footer-brand__logo { margin-block-end: 2px; }
.footer-brand__text { gap: 7px; }
.footer-brand__text strong { line-height: 1.35; text-wrap: balance; }
.footer-brand__text span { color: rgba(255,255,255,.90); font-size: clamp(.96rem,1.55vw,1.24rem); font-weight: 720; line-height: 1.45; letter-spacing: .012em; }
.footer-brand__text small { color: rgba(255,255,255,.72); }
.footer-contact-list__values { min-width: 0; color: rgba(255,255,255,.78); line-height: 1.75; }
.footer-contact-list__values--ltr { direction: ltr; justify-items: start; text-align: left; font-variant-numeric: tabular-nums; }
.footer-contact-list__values--ltr a { display: block; width: max-content; max-width: 100%; unicode-bidi: isolate; }
.site-footer__social > p { color: rgba(255,255,255,.74); }
.site-footer__bottom p { color: rgba(255,255,255,.68); }
@media (max-width: 720px) {
  .footer-brand { gap: 28px; }
  .footer-brand__text span { font-size: .9rem; }
  .footer-contact-list__values--ltr { justify-items: start; }
}
