/* ---- Nosotros page-specific layout (built on the shared tokens in styles.css) ---- */
.nos-hero {
	position: relative;
	min-height: 60vh;
	display: flex;
	align-items: flex-end;
	background: var(--navy);
	color: var(--sand);
	overflow: hidden;
	padding: 9rem var(--gutter) clamp(3.5rem, 7vw, 6rem);
}
.nos-hero__media { position: absolute; inset: 0; z-index: 0; }
.nos-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.95); }
.nos-hero__media::after {
	content: ""; position: absolute; inset: 0;
	background:
		linear-gradient(90deg, rgba(26,36,61,.92) 0%, rgba(26,36,61,.6) 45%, rgba(26,36,61,.18) 100%),
		linear-gradient(to top, rgba(26,36,61,.7), transparent 55%);
}
.nos-hero__inner { position: relative; z-index: 2; width: 100%; max-width: var(--maxw); margin-inline: auto; }
.nos-hero__inner .col { max-width: 46ch; }
.nos-hero h1 {
	font-family: var(--font-display);
	font-size: clamp(2.8rem, 7vw, 5.4rem);
	line-height: 1.02; letter-spacing: -.01em; color: #fff; margin-top: 1.3rem; max-width: 16ch;
}
.nos-hero .hero-year { color: var(--gold); }

.nos-section { padding-block: clamp(3.5rem, 8vw, 6rem); }
.nos-section--white { background: var(--white); }
.nos-section--cream { background: var(--cream); }
.nos-h2 { font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.4rem); color: var(--navy); letter-spacing: -.01em; }

/* Story */
.story-grid { margin-top: 2.4rem; display: grid; gap: clamp(2rem, 5vw, 3.5rem); grid-template-columns: 1fr 1fr; align-items: start; }
@media (max-width: 820px) { .story-grid { grid-template-columns: 1fr; } }
.story-copy p { margin-top: 1.1rem; font-size: 1.05rem; line-height: 1.7; color: var(--ink-70); text-align: justify; hyphens: auto; }
.story-copy p:first-child { margin-top: 0; }
.story-photo { overflow: hidden; border-radius: 20px; box-shadow: 0 30px 70px -40px rgba(26,36,61,.55); }
.story-photo img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3; }

/* Quote */
.nos-quote { max-width: 52rem; margin-inline: auto; text-align: center; }
.nos-quote blockquote {
	font-family: var(--font-display); font-size: clamp(1.6rem, 3.4vw, 2.6rem);
	line-height: 1.32; color: var(--navy); letter-spacing: -.005em;
}
.nos-quote blockquote .qm { color: var(--gold); }
.nos-quote footer { margin-top: 2rem; display: flex; align-items: center; justify-content: center; gap: .9rem; }
.nos-quote footer .rule { width: 48px; height: 2px; background: var(--gold); }
.nos-quote .q-author { font-weight: 600; color: var(--navy); }
.nos-quote .q-role { font-size: .9rem; color: var(--ink-55); }

/* Vision & Mission */
.mvv-grid { margin-top: 2.6rem; display: grid; gap: 1.4rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 760px) { .mvv-grid { grid-template-columns: 1fr; } }
.mvv-card { border: 1px solid var(--ink-12); background: var(--white); border-radius: 20px; padding: clamp(1.8rem, 3.5vw, 2.6rem); }
.nos-section--white .mvv-card { background: var(--cream); }
.mvv-card .lbl { font-family: var(--font-display); font-size: clamp(1.25rem, 2.4vw, 1.5rem); color: var(--gold); }
.mvv-card p.body { margin-top: 1.1rem; font-size: 1.05rem; line-height: 1.65; color: var(--ink-70); }

/* Values */
.values-grid { margin-top: 2.6rem; display: grid; gap: 1.2rem; grid-template-columns: repeat(3, 1fr); }
@media (max-width: 860px) { .values-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .values-grid { grid-template-columns: 1fr; } }
.value-card { background: var(--white); border-radius: 16px; padding: clamp(1.5rem, 3vw, 2rem); box-shadow: 0 18px 44px -32px rgba(26,36,61,.5); border: 1px solid var(--ink-12); }
.value-card .v-num { font-family: var(--font-display); font-size: 1.4rem; color: var(--gold); line-height: 1; }
.value-card h3 { font-family: var(--font-display); font-size: clamp(1.25rem, 2.4vw, 1.5rem); color: var(--gold); margin-top: .7rem; }
.value-card p { margin-top: .7rem; font-size: .95rem; line-height: 1.55; color: var(--ink-70); }
