/* AZUL: opportunities have a face. Website-owned art direction on native CMS blocks.
 * A documentary camera stage opens into a sequence of real community stories.
 * All content is present before motion; native media owns playback preferences. */
main[data-vibecms-page] {
  --azul-blue: #0261a2;
  --azul-deep: #065386;
  --azul-ink: #0f344b;
  --azul-paper: #eaf3f8;
  --azul-line: #c8dbe5;
  --azul-gutter: clamp(24px, 5.55vw, 80px);
  --azul-ease: cubic-bezier(.16, 1, .3, 1);
  background: #fff;
  color: var(--azul-ink);
  font-family: "Roboto Condensed", Arial, sans-serif;
  overflow-wrap: break-word;
}
main[data-vibecms-page] :is(h1,h2,h3) {
  font-family: "Bebas Neue", Arial, sans-serif;
  font-weight: 400;
  letter-spacing: -.025em;
  text-wrap: balance;
}
main[data-vibecms-page] :is(p,.vibe-prose) { max-width: 68ch; }
main[data-vibecms-page] .vibe-prose::first-line { font-size: inherit; font-weight: inherit; }
main[data-vibecms-page] :is(a,button,input,textarea,select):focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--azul-deep);
}
main[data-vibecms-page] :is(.vibe-button,.vibe-navbar-button,.vibe-navbar-link,.vibe-navbar-menu-button) {
  min-height: 44px;
  min-width: 44px;
  border-radius: 0;
}
main[data-vibecms-page] .vibe-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; }
main[data-vibecms-page] :is(.vibe-button,.vibe-navbar-button):active { filter: brightness(.9); }
main[data-vibecms-page] :is(.vibe-button,.vibe-navbar-button)::after {
  content: "";
  display: block;
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
}

/* The masthead stays small enough to leave the photographic opening its stage. */
main[data-vibecms-page] .vibe-navbar.vibe-glass {
  height: 82px;
  box-sizing: border-box;
  margin: 16px var(--azul-gutter);
  padding: 10px 20px;
  top: 16px;
  border-radius: 12px;
  border-bottom: 1px solid var(--azul-line);
  background: #f3f8fb;
  color: var(--azul-ink);
}
main[data-vibecms-page] .vibe-navbar-brand { padding: 8px; flex-shrink: 0; }
main[data-vibecms-page] .vibe-navbar-logo { height: clamp(28px,3.6vw,38px); max-height: 38px; }
main[data-vibecms-page] .vibe-navbar-inner { height: 100%; gap: clamp(12px,2vw,28px); }
main[data-vibecms-page] .vibe-navbar-menu { gap: 0; }
main[data-vibecms-page] .vibe-navbar-zone { gap: clamp(10px,1.4vw,24px); }
main[data-vibecms-page] :is(.vibe-navbar-link,.vibe-navbar-button) { white-space: nowrap; flex-shrink: 0; font-size: clamp(.875rem,1.25vw,1rem); }
main[data-vibecms-page] .vibe-navbar-link { text-decoration: none; }
main[data-vibecms-page] .vibe-navbar-button { padding: 12px clamp(12px,1.7vw,24px); gap: 12px; line-height: 1.25; }
main[data-vibecms-page] .vibe-navbar-link[aria-current="page"] { color: var(--azul-blue); }
main[data-vibecms-page] .vibe-navbar.vibe-glass .vibe-navbar-menu { background: transparent; }
main[data-vibecms-page] .vibe-locale-switcher { margin-left: clamp(12px,1.6vw,24px); }
main[data-vibecms-page] .vibe-locale-switcher summary { min-width: 76px; padding: 0 12px; gap: 9px; border: 1px solid #6e94aa; border-radius: 999px; background: #ffffff38; color: var(--azul-ink); }
/* A small globe and rotating arrow remain decorative; the native disclosure owns interaction. */
main[data-vibecms-page] .vibe-locale-switcher summary::before { content: ""; width: 15px; height: 15px; flex: none; border: 1px solid currentColor; border-radius: 50%; background: radial-gradient(ellipse 32% 100% at 50% 50%,transparent 70%,currentColor 75% 84%,transparent 89%),linear-gradient(transparent 45%,currentColor 45% 53%,transparent 53%); }
main[data-vibecms-page] .vibe-locale-switcher summary span { width: 6px; height: 6px; flex: none; font-size: 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
main[data-vibecms-page] .vibe-locale-switcher summary:is(:hover,:focus-visible),
main[data-vibecms-page] .vibe-locale-switcher[open] summary { background: var(--azul-blue); border-color: var(--azul-blue); color: #fff; }
main[data-vibecms-page] .vibe-locale-switcher[open] summary span { transform: translateY(2px) rotate(225deg); }
main[data-vibecms-page] .vibe-locale-switcher > nav { min-width: 180px; padding: 8px; border-radius: 16px; border-color: #ffffffa6; background: #f3f8fb; box-shadow: 0 16px 32px #041f3526; }
main[data-vibecms-page] .vibe-locale-switcher a { justify-content: space-between; border-radius: 9px; gap: 16px; color: var(--azul-ink); }
main[data-vibecms-page] .vibe-locale-switcher a[aria-current] { color: var(--azul-blue); font-weight: 700; }
main[data-vibecms-page] .vibe-locale-switcher a[aria-current]::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
@supports (backdrop-filter: blur(1px)) {
  main[data-vibecms-page] .vibe-navbar.vibe-glass { background: rgba(245,250,253,.64); -webkit-backdrop-filter: blur(20px) saturate(1.35); backdrop-filter: blur(20px) saturate(1.35); border: 1px solid #ffffff80; }
  main[data-vibecms-page] .vibe-locale-switcher > nav { background: rgba(245,250,253,.94); backdrop-filter: blur(20px); }
}
@media (prefers-reduced-motion: no-preference) {
  main[data-vibecms-page] .vibe-locale-switcher summary { transition: background-color 180ms linear, color 180ms linear; }
  main[data-vibecms-page] .vibe-locale-switcher summary span { transition: transform 260ms var(--azul-ease); }
  main[data-vibecms-page] .vibe-locale-switcher[open] > nav { animation: azul-languages-in 260ms var(--azul-ease) both; }
  @keyframes azul-languages-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  main[data-vibecms-page] .vibe-navbar.vibe-glass,
  main[data-vibecms-page] .vibe-locale-switcher > nav { background: #f3f8fb; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
main[data-vibecms-page] .vibe-film-cues { font-family: "Bebas Neue",Arial,sans-serif; font-size: clamp(3rem,6.6vw,6rem); font-weight: 400; text-transform: uppercase; line-height: .98; max-width: 760px; letter-spacing: -.025em; text-wrap: balance; }
@media(max-width:720px) { main[data-vibecms-page] .vibe-locale-switcher { margin: 16px 0 0; align-self:flex-start; } }

/* Follow the same sourced portrait from its editorial spread into its story. */
@media (prefers-reduced-motion: no-preference) {
  main[data-vibecms-page="page_azul_home"] #home_abdul .vibe-card-image,
  main[data-vibecms-page="page_azul_story_abdul"] #abdul_film .vibe-video-poster {
    view-transition-name: azul-abdul-portrait;
  }
  ::view-transition-group(azul-abdul-portrait) { animation-duration: 480ms; animation-timing-function: var(--azul-ease); }
}
main[data-vibecms-page] .azul-community-film { padding: 48px var(--azul-gutter); background: var(--azul-paper); }
main[data-vibecms-page] .azul-community-film .vibe-motion-video { max-width: 760px; margin: 0 auto; }
main[data-vibecms-page] .azul-community-film :is(video,.vibe-video-poster) { aspect-ratio: 3/2; object-fit: cover; }

/* Three editable documentary photographs form one mission spread in source order. */
main[data-vibecms-page="page_azul_home"] { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
main[data-vibecms-page="page_azul_home"] > .vibe-block { grid-column: 1/-1; min-width: 0; }
main[data-vibecms-page="page_azul_home"] > .azul-mission-photo { grid-column: auto; padding: 0 16px 40px; }
main[data-vibecms-page] .azul-mission-statement { padding: 72px var(--azul-gutter) 36px; color: var(--azul-blue); }
main[data-vibecms-page] .azul-mission-statement h2 { margin: 0; max-width: 1120px; font-size: clamp(3rem,7vw,6rem); line-height: 1; }
main[data-vibecms-page] .azul-mission-photo figure { margin: 0; }
main[data-vibecms-page] .azul-mission-photo img { display: block; width: 100%; height: clamp(220px,23vw,360px); object-fit: cover; border-radius: 0; }
main[data-vibecms-page] .azul-mission-photo figcaption { padding-top: 12px; color: var(--azul-ink); font-size: 1rem; }
@supports(animation-timeline:view()) {
  @media (prefers-reduced-motion:no-preference) and (min-width:721px) {
    main[data-vibecms-page] .azul-mission-photo img { animation: azul-mission-frame linear both; animation-timeline: view(); animation-range: entry 0% cover 25%; }
    @keyframes azul-mission-frame { from { clip-path: inset(0 0 3% 0); } to { clip-path: inset(0); } }
  }
}
@media (max-width:720px) {
  main[data-vibecms-page="page_azul_home"] > .azul-mission-photo { padding: 0 5px 24px; }
  main[data-vibecms-page] .azul-mission-statement { padding: 40px 24px 24px; }
  main[data-vibecms-page] .azul-mission-statement h2 { font-size: clamp(2.5rem,11vw,3.2rem); }
  main[data-vibecms-page] .azul-mission-photo img { height: 160px; }
  main[data-vibecms-page] .azul-mission-photo figcaption { font-size: .8rem; line-height: 1.4; }
}

/* One camera-led stage. The face occupies the centre; reading stays below-left. */
main[data-vibecms-page] .vibe-hero.vibe-editorial.azul-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  min-height: min(100svh, 960px);
  margin-top: -114px;
  padding: 0;
  background: var(--azul-blue);
  color: #fff;
  text-align: left;
  position: relative;
  isolation: isolate;
}
main[data-vibecms-page] .azul-lead .vibe-hero-content {
  display: grid;
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  justify-items: start;
  position: relative;
  z-index: 3;
  gap: 20px;
  width: min(50%, 680px);
  box-sizing: border-box;
  padding: 168px 24px 104px var(--azul-gutter);
}
main[data-vibecms-page] .azul-lead .vibe-hero-title {
  grid-column: auto;
  grid-row: auto;
  max-width: 560px;
  margin: 0;
  color: #fff;
  font-size: clamp(3.5rem, 7.2vw, 6rem);
  line-height: .98;
  text-align: left;
}
main[data-vibecms-page] .azul-lead .vibe-hero-subtitle {
  grid-column: auto;
  grid-row: auto;
  align-self: start;
  max-width: 40ch;
  margin: 0;
  color: #fff;
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  line-height: 1.55;
}
main[data-vibecms-page] .azul-lead .vibe-hero-actions {
  grid-column: auto;
  grid-row: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin: 4px 0 0;
}
main[data-vibecms-page] .azul-lead .vibe-hero-actions .vibe-button {
  padding: 15px 20px;
  background: #fff;
  color: var(--azul-deep);
  border: 1px solid #fff;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
}
main[data-vibecms-page] .azul-lead .vibe-hero-actions .vibe-hero-secondary-cta {
  background: transparent;
  color: #fff;
  font-weight: 500;
}
main[data-vibecms-page] .vibe-hero.azul-lead > :is(img.vibe-hero-image,.vibe-motion-video) {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  margin: 0;
  object-fit: cover;
  object-position: 50% 30%;
  border-radius: 0;
  z-index: auto;
}
main[data-vibecms-page] .azul-lead .vibe-motion-video > :is(video,.vibe-video-poster) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: 50% 30%;
  animation: none;
  clip-path: none;
  z-index: 0;
}
main[data-vibecms-page] .azul-lead .vibe-motion-video > .vibe-video-poster { z-index: 1; }
main[data-vibecms-page] .vibe-hero.azul-lead::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0,24,44,.94) 0%, rgba(0,24,44,.86) 27%, rgba(0,24,44,.5) 44%, rgba(0,24,44,0) 65%), linear-gradient(0deg,rgba(0,24,44,.75),transparent 35%);
}
main[data-vibecms-page] .vibe-hero.azul-lead::after { display: none; }
/* Home film treatment: faces retain their light */
main[data-vibecms-page="page_azul_home"] #home_message::before {
  background: radial-gradient(ellipse 75% 90% at 0% 100%,rgba(4,18,28,.82) 0% 48%,rgba(4,18,28,.62) 66%,rgba(4,18,28,.24) 82%,transparent 100%),linear-gradient(90deg,rgba(4,18,28,.12),transparent 62%),linear-gradient(0deg,rgba(4,18,28,.45),transparent 24%);
}
main[data-vibecms-page="page_azul_home"] #home_message :is(.vibe-film-cues,.vibe-hero-subtitle) {
  text-shadow: 0 2px 12px rgba(4,18,28,.45);
}
@media (max-width: 720px) {
  main[data-vibecms-page="page_azul_home"] #home_message::before { display: none; }
  main[data-vibecms-page="page_azul_home"] #home_message :is(.vibe-film-cues,.vibe-hero-subtitle) { text-shadow: none; }
}
/* End Home film treatment */
main[data-vibecms-page] .azul-lead .vibe-motion-video > [data-vibe-video-toggle] {
  position: absolute;
  bottom: 24px;
  right: var(--azul-gutter);
  z-index: 4;
  margin: 0;
  min-height: 44px;
  padding: 12px 20px;
  border-radius: 999px;
}
main[data-vibecms-page] .azul-lead .vibe-motion-video > figcaption {
  position: absolute;
  left: var(--azul-gutter);
  bottom: 28px;
  z-index: 4;
  max-width: min(62ch,calc(100% - 320px));
  color: #fff;
  font-size: .8125rem;
  line-height: 1.5;
}

/* Interior intros share the lettering and paper, with a quieter reading scale. */
main[data-vibecms-page] .vibe-hero:not(.azul-lead) {
  padding: 48px var(--azul-gutter) 48px;
  min-height: 0;
  background: #fff;
  color: var(--azul-blue);
  text-align: left;
  border-bottom: 1px solid var(--azul-line);
}
main[data-vibecms-page] .vibe-hero:not(.azul-lead) .vibe-hero-content {
  justify-items: start;
  gap: 20px;
  text-align: left;
}
main[data-vibecms-page] .vibe-hero:not(.azul-lead) .vibe-hero-title {
  max-width: 1000px;
  margin: 0;
  color: var(--azul-blue);
  font-size: clamp(3rem, 6.5vw, 5rem);
  line-height: 1;
}
main[data-vibecms-page] .vibe-hero:not(.azul-lead) .vibe-hero-subtitle {
  max-width: 62ch;
  margin: 0;
  color: var(--azul-ink);
  font-size: 1.25rem;
  line-height: 1.6;
}

/* Numbers share one field; their destinations connect scale to the human stories below. */
main[data-vibecms-page] #home_impact { display: block; padding: 64px var(--azul-gutter) 72px; background: var(--azul-deep); color: #fff; text-align: left; }
main[data-vibecms-page] #home_impact .vibe-stats-title { max-width: 900px; margin: 0 0 48px; font-size: clamp(2.75rem,5.5vw,5rem); line-height: 1; color: #fff; text-align: left; }
main[data-vibecms-page] #home_impact .vibe-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; text-align: left; }
main[data-vibecms-page] #home_impact .vibe-stat { min-width: 0; padding: 0 0 0 24px; border-left: 1px solid #7caecb; text-align: left; }
main[data-vibecms-page] #home_impact .vibe-stat:first-child { padding-left: 0; border-left: 0; }
main[data-vibecms-page] #home_impact .vibe-stat-link { display: block; color: #fff; text-decoration: none; }
main[data-vibecms-page] #home_impact .vibe-stat strong { display: block; color: #fff; font-family: "Bebas Neue",Arial,sans-serif; font-weight: 400; font-size: clamp(2.5rem,5.5vw,5.5rem); line-height: 1; font-variant-numeric: tabular-nums; white-space: nowrap; text-decoration: none; }
main[data-vibecms-page] #home_impact [data-vibe-part^="stats.label:"] { display: block; margin-top: 16px; max-width: 20ch; color: #fff; font-size: 1.0625rem; line-height: 1.4; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
main[data-vibecms-page] #home_impact .vibe-stat-link:hover [data-vibe-part^="stats.label:"] { text-decoration-thickness: 2px; }
@media (max-width:720px) {
  main[data-vibecms-page] #home_impact { padding: 40px 24px; }
  main[data-vibecms-page] #home_impact .vibe-stats-title { margin-bottom: 32px; font-size: 2.75rem; }
  main[data-vibecms-page] #home_impact .vibe-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 24px; }
  main[data-vibecms-page] #home_impact .vibe-stat { padding: 0; border-left: 0; }
  main[data-vibecms-page] #home_impact .vibe-stat strong { font-size: clamp(2.4rem,10vw,3.5rem); }
  main[data-vibecms-page] #home_impact [data-vibe-part^="stats.label:"] { margin-top: 10px; font-size: 1rem; }
}

/* Impact surface: waves of reach */
main[data-vibecms-page="page_azul_home"] #home_impact {
  --azul-impact-near: 64px;
  --azul-impact-far: 28px;
  position: relative;
  isolation: isolate;
  overflow: clip;
}
main[data-vibecms-page="page_azul_home"] #home_impact::before,
main[data-vibecms-page="page_azul_home"] #home_impact::after {
  content: "";
  position: absolute;
  inset: -96px -12%;
  z-index: -1;
  pointer-events: none;
}
main[data-vibecms-page="page_azul_home"] #home_impact::before {
  background: radial-gradient(ellipse 85% 140% at 100% 130%,rgba(2,97,162,.8) 0% 46%,transparent 46.2%),linear-gradient(120deg,#073d60 0%,#065386 58%,#0261a2 100%);
}
main[data-vibecms-page="page_azul_home"] #home_impact::after {
  background: radial-gradient(ellipse 85% 140% at 100% 130%,transparent 45.5%,rgba(173,223,245,.18) 45.6% 45.85%,transparent 46%),radial-gradient(ellipse 85% 140% at 100% 130%,transparent 56.5%,rgba(173,223,245,.13) 56.6% 56.85%,transparent 57%),radial-gradient(ellipse 85% 140% at 100% 130%,transparent 67.5%,rgba(173,223,245,.08) 67.6% 67.85%,transparent 68%);
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: --azul-impact) {
    main[data-vibecms-page="page_azul_home"] #home_impact::before {
      animation: azul-impact-far-drift 1ms linear both;
      animation-timeline: --azul-impact;
      animation-range: entry 0% exit 100%;
    }
    main[data-vibecms-page="page_azul_home"] #home_impact::after {
      animation: azul-impact-near-drift 1ms linear both;
      animation-timeline: --azul-impact;
      animation-range: entry 0% exit 100%;
    }
  }
}
@keyframes azul-impact-far-drift {
  from { transform: translate3d(0,calc(-1 * var(--azul-impact-far)),0); }
  to { transform: translate3d(0,var(--azul-impact-far),0); }
}
@keyframes azul-impact-near-drift {
  from { transform: translate3d(0,calc(-1 * var(--azul-impact-near)),0); }
  to { transform: translate3d(-24px,var(--azul-impact-near),0); }
}
@media (max-width: 720px) {
  main[data-vibecms-page="page_azul_home"] #home_impact { --azul-impact-near: 24px; --azul-impact-far: 12px; }
}
main[data-vibecms-page="page_azul_home"] #home_impact:is(:focus-within,:has([contenteditable="true"]))::before,
main[data-vibecms-page="page_azul_home"] #home_impact:is(:focus-within,:has([contenteditable="true"]))::after { animation: none !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  main[data-vibecms-page="page_azul_home"] #home_impact::before,
  main[data-vibecms-page="page_azul_home"] #home_impact::after { animation: none !important; transform: none !important; }
}
@media (forced-colors: active) {
  main[data-vibecms-page="page_azul_home"] #home_impact::before,
  main[data-vibecms-page="page_azul_home"] #home_impact::after { display: none; }
}
/* End Impact surface */

/* Proof is a compact editorial index, with factual names and live destinations. */
main[data-vibecms-page] #home_proof {
  padding: 28px var(--azul-gutter) 32px;
  background: #fff;
  border-bottom: 1px solid var(--azul-line);
}
main[data-vibecms-page] #home_proof .vibe-stats-title { font-size: 1.75rem; margin: 0 0 20px; color: var(--azul-blue); }
main[data-vibecms-page] #home_proof .vibe-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
main[data-vibecms-page] #home_proof .vibe-stat { padding: 0; text-align: left; }
main[data-vibecms-page] #home_proof .vibe-stat strong { font-size: clamp(1.5rem,2.2vw,2rem); line-height: 1.2; color: var(--azul-blue); }
main[data-vibecms-page] #home_proof .vibe-stat span { display: block; margin-top: 8px; max-width: 34ch; color: var(--azul-ink); font-size: 1rem; line-height: 1.5; }
main[data-vibecms-page] #home_proof .vibe-stat-link { display: block; }

/* One human spread, then choices: distinct scales instead of repeated card shells. */
main[data-vibecms-page] #home_abdul { padding: 64px var(--azul-gutter) 48px; background: #fff; }
main[data-vibecms-page] #home_abdul .vibe-card { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: clamp(32px,6vw,88px); row-gap: 24px; }
main[data-vibecms-page] #home_abdul .vibe-card-image { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; grid-column: 1; grid-row: 1 / 3; }
main[data-vibecms-page] #home_abdul .vibe-card-title { grid-column: 2; grid-row: 1; align-self: end; font-size: clamp(3rem,6.7vw,6rem); color: var(--azul-blue); line-height: 1; }
main[data-vibecms-page] #home_abdul .vibe-card-body { grid-column: 2; grid-row: 2; max-width: 44ch; font-size: 1.25rem; line-height: 1.6; }
main[data-vibecms-page] :is(#home_abdul,#home_yopipila,#home_rights) .vibe-card { padding: 0; border: 0; border-radius: 0; box-shadow: none; text-decoration: none; }
main[data-vibecms-page] .vibe-card-link-label { display: block; margin-top: 20px; color: var(--azul-blue); font-size: 1rem; font-weight: 700; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
main[data-vibecms-page] .vibe-card:hover .vibe-card-link-label { text-decoration-thickness: 2px; }
main[data-vibecms-page] :is(#home_paths,#home_projects,#home_trust) { padding: 48px var(--azul-gutter) 12px; }
main[data-vibecms-page] :is(#home_paths,#home_projects,#home_trust) .vibe-heading-text { margin: 0; font-size: clamp(2.5rem,4.7vw,4rem); color: var(--azul-blue); }
main[data-vibecms-page] :is(#home_paths_body,#home_trust_body) { padding: 12px var(--azul-gutter) 28px; }
main[data-vibecms-page] :is(#home_paths_body,#home_trust_body) .vibe-prose { max-width: 68ch; font-size: 1.25rem; line-height: 1.6; }
main[data-vibecms-page] #home_paths_actions { padding: 0 var(--azul-gutter) 48px; background: #fff; }
main[data-vibecms-page] #home_paths_actions .vibe-button-group { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--azul-blue); border-bottom: 1px solid var(--azul-blue); }
main[data-vibecms-page] #home_paths_actions .vibe-button { min-height: 100px; padding: 24px; background: transparent; color: var(--azul-blue); font-size: 1.5rem; line-height: 1.25; text-align: left; border: 0; }
main[data-vibecms-page] #home_paths_actions .vibe-button + .vibe-button { border-left: 1px solid var(--azul-line); }
main[data-vibecms-page] #home_paths_actions .vibe-button:hover { background: var(--azul-paper); }

/* A wide project horizon followed by a reversed, more intimate field story. */
main[data-vibecms-page] #home_yopipila { padding: 24px var(--azul-gutter) 64px; }
main[data-vibecms-page] #home_yopipila .vibe-card { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px 64px; }
main[data-vibecms-page] #home_yopipila .vibe-card-image { grid-column: 1 / -1; grid-row: 1; width: 100%; height: clamp(280px,36vw,520px); aspect-ratio: auto; object-fit: cover; object-position: 50% 30%; }
main[data-vibecms-page] #home_yopipila .vibe-card-title { grid-column: 1; grid-row: 2; align-self: start; font-size: clamp(3rem,5.5vw,5rem); line-height: 1; color: var(--azul-blue); }
main[data-vibecms-page] #home_yopipila .vibe-card-body { grid-column: 2; grid-row: 2; max-width: 44ch; font-size: 1.25rem; line-height: 1.6; }
main[data-vibecms-page] #home_rights { padding: 48px var(--azul-gutter); background: var(--azul-paper); }
main[data-vibecms-page] #home_rights .vibe-card { grid-template-columns: minmax(0,6fr) minmax(0,5fr); gap: 24px 64px; }
main[data-vibecms-page] #home_rights .vibe-card-image { grid-column: 1; grid-row: 1 / 3; width: 100%; height: 100%; min-height: 360px; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
main[data-vibecms-page] #home_rights .vibe-card-title { grid-column: 2; grid-row: 1; align-self: end; font-size: clamp(2.5rem,4.5vw,4rem); line-height: 1; color: var(--azul-blue); }
main[data-vibecms-page] #home_rights .vibe-card-body { grid-column: 2; grid-row: 2; align-self: start; font-size: 1.25rem; line-height: 1.6; }
main[data-vibecms-page] #home_trust_links { padding: 0 var(--azul-gutter) 56px; }

/* Native film and page continuity carry motion; controls supply instant feedback. */
@media (prefers-reduced-motion: no-preference) {
  main[data-vibecms-page] :is(.vibe-button,.vibe-navbar-button)::after { transition: transform 180ms var(--azul-ease); }
  main[data-vibecms-page] :is(.vibe-button,.vibe-navbar-button):is(:hover,:focus-visible)::after { transform: translateX(3px) rotate(45deg); }
}
@media (prefers-reduced-motion: reduce) {
  main[data-vibecms-page] .azul-lead > .vibe-hero-image { animation: none; clip-path: none; }
  main[data-vibecms-page] :is(.vibe-button,.vibe-navbar-button)::after { transition: none; }
}

@media (max-width: 1100px) and (min-width: 721px) {
  main[data-vibecms-page] .azul-lead .vibe-hero-content { width: 55%; padding-left: 36px; }
  main[data-vibecms-page] .azul-lead .vibe-hero-title { font-size: clamp(3.5rem,7.2vw,5rem); }
  main[data-vibecms-page] .azul-lead .vibe-hero-actions .vibe-button { padding: 14px 16px; }
}
@media (max-width: 720px) {
  main[data-vibecms-page] .vibe-navbar.vibe-glass { height: auto; min-height: 76px; margin: 12px 16px; top: 12px; padding: 8px 12px; }
  main[data-vibecms-page] .vibe-navbar-inner { height: auto; min-height: 58px; }
  main[data-vibecms-page] .vibe-navbar-brand { padding: 6px 8px; }
  main[data-vibecms-page] .vibe-navbar-logo { height: 34px; max-height: 34px; }
  main[data-vibecms-page] .vibe-hero.vibe-editorial.azul-lead { display: flex; flex-direction: column; min-height: 0; margin-top: 0; }
  main[data-vibecms-page] .azul-lead .vibe-hero-content { order: 0; align-self: stretch; width: 100%; padding: 26px 24px 28px; gap: 16px; }
  main[data-vibecms-page] .azul-lead .vibe-hero-title { grid-column: auto; grid-row: auto; margin: 0; max-width: 480px; font-size: clamp(2.75rem,12.5vw,4rem); line-height: 1; }
  main[data-vibecms-page] .azul-lead .vibe-hero-subtitle { grid-column: auto; grid-row: auto; margin: 0; font-size: 1rem; line-height: 1.5; max-width: 46ch; }
  main[data-vibecms-page] .azul-lead .vibe-hero-actions { grid-column: auto; grid-row: auto; margin: 2px 0 0; gap: 10px; }
  main[data-vibecms-page] .azul-lead .vibe-hero-actions .vibe-button { padding: 13px 16px; font-size: .9375rem; }
  main[data-vibecms-page] .vibe-hero.azul-lead > :is(img.vibe-hero-image,.vibe-motion-video) { position: relative; inset: auto; order: 1; width: 100%; min-height: 0; height: auto; margin: 0; }
  main[data-vibecms-page] .vibe-hero.azul-lead > img.vibe-hero-image { height: clamp(220px,61vw,360px); object-position: 47% 19%; }
  main[data-vibecms-page] .vibe-hero.azul-lead > figure.vibe-motion-video { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto auto; gap: 12px; padding: 0 0 16px; }
  main[data-vibecms-page] .azul-lead .vibe-motion-video > :is(video,.vibe-video-poster) { position: static; inset: auto; grid-column: 1 / -1; grid-row: 1; height: clamp(220px,61vw,360px); object-position: 47% 19%; }
  main[data-vibecms-page] .azul-lead .vibe-motion-video > [data-vibe-video-toggle] { position: static; grid-column: 2; grid-row: 2; margin: 0 24px 0 0; padding: 10px 12px; align-self: center; font-size: .8125rem; }
  main[data-vibecms-page] .azul-lead .vibe-motion-video > figcaption { position: static; grid-column: 1; grid-row: 2; margin: 0 0 0 24px; max-width: none; align-self: center; font-size: .75rem; }
  main[data-vibecms-page] .vibe-hero.azul-lead::before { display: none; }
  main[data-vibecms-page] .vibe-hero:not(.azul-lead) { padding: 32px 24px; }
  main[data-vibecms-page] .vibe-hero:not(.azul-lead) .vibe-hero-title { font-size: clamp(2.5rem,10.5vw,3.5rem); }
  main[data-vibecms-page] .vibe-hero:not(.azul-lead) .vibe-hero-subtitle { font-size: 1.125rem; }
  main[data-vibecms-page] #home_proof { padding: 24px; }
  main[data-vibecms-page] #home_proof .vibe-stats { grid-template-columns: 1fr; gap: 16px; }
  main[data-vibecms-page] #home_proof .vibe-stat + .vibe-stat { border-top: 1px solid var(--azul-line); padding-top: 16px; }
  main[data-vibecms-page] #home_proof .vibe-stat span { max-width: 46ch; }
  main[data-vibecms-page] #home_abdul { padding: 40px 24px 20px; }
  main[data-vibecms-page] :is(#home_abdul,#home_yopipila,#home_rights) .vibe-card { grid-template-columns: minmax(0,1fr); gap: 20px; }
  main[data-vibecms-page] :is(#home_abdul,#home_yopipila,#home_rights) .vibe-card-image { grid-column: 1; grid-row: 1; }
  main[data-vibecms-page] :is(#home_abdul,#home_yopipila,#home_rights) .vibe-card-title { grid-column: 1; grid-row: 2; font-size: clamp(2.5rem,10vw,3.5rem); align-self: start; }
  main[data-vibecms-page] :is(#home_abdul,#home_yopipila,#home_rights) .vibe-card-body { grid-column: 1; grid-row: 3; font-size: 1.125rem; }
  main[data-vibecms-page] :is(#home_paths,#home_projects,#home_trust) { padding: 32px 24px 12px; }
  main[data-vibecms-page] :is(#home_paths_body,#home_trust_body) { padding: 8px 24px 24px; }
  main[data-vibecms-page] :is(#home_paths_body,#home_trust_body) .vibe-prose { font-size: 1.125rem; }
  main[data-vibecms-page] #home_paths_actions { padding: 0 24px 24px; }
  main[data-vibecms-page] #home_paths_actions .vibe-button-group { grid-template-columns: 1fr; }
  main[data-vibecms-page] #home_paths_actions .vibe-button { min-height: 76px; padding: 20px 0; font-size: 1.375rem; }
  main[data-vibecms-page] #home_paths_actions .vibe-button + .vibe-button { border-left: 0; border-top: 1px solid var(--azul-line); }
  main[data-vibecms-page] #home_yopipila { padding: 16px 24px 40px; }
  main[data-vibecms-page] #home_yopipila .vibe-card-image { height: 280px; }
  main[data-vibecms-page] #home_rights { padding: 32px 24px; }
  main[data-vibecms-page] #home_rights .vibe-card-image { min-height: 0; height: auto; aspect-ratio: 4 / 3; }
  main[data-vibecms-page] #home_trust_links { padding: 0 24px 40px; }
}
@media (forced-colors: active) {
  main[data-vibecms-page] .vibe-navbar.vibe-glass,
  main[data-vibecms-page] .vibe-locale-switcher :is(summary,nav,a) { background: Canvas; color: CanvasText; border-color: CanvasText; backdrop-filter: none; }
  main[data-vibecms-page] :is(.azul-lead,#azul_support,#azul_footer) { background: Canvas; color: CanvasText; }
  main[data-vibecms-page] .azul-lead :is(.vibe-hero-title,.vibe-hero-subtitle) { color: CanvasText; }
  main[data-vibecms-page] :is(a,button,input,textarea,select):focus-visible { outline-color: Highlight; box-shadow: none; }
}

/* Home opening: the blue horizon */
main[data-vibecms-page="page_azul_home"] #home_message {
  --azul-opening-duration: 900ms;
  --azul-opening-shift: -42px;
}
/* Only paint layers move; the native video clock and editable cue nodes stay intact. */
@media (prefers-reduced-motion: no-preference) {
  main[data-vibecms-page="page_azul_home"] #home_message > .vibe-motion-video::before,
  main[data-vibecms-page="page_azul_home"] #home_message > .vibe-motion-video::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 50.1%;
    z-index: 2;
    background: var(--azul-blue);
    pointer-events: none;
    transform: scaleY(0);
    animation: azul-home-horizon-open var(--azul-opening-duration) var(--azul-ease) 0ms 1 both;
  }
  main[data-vibecms-page="page_azul_home"] #home_message > .vibe-motion-video::before { top: 0; transform-origin: top; }
  main[data-vibecms-page="page_azul_home"] #home_message > .vibe-motion-video::after { bottom: 0; transform-origin: bottom; }
  main[data-vibecms-page="page_azul_home"] #home_message::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    z-index: 2;
    background: #83d4f1;
    pointer-events: none;
    opacity: 0;
    transform-origin: center;
    animation: azul-home-horizon-line 900ms var(--azul-ease) 0ms 1 both;
  }
  main[data-vibecms-page="page_azul_home"] #home_message .vibe-hero-content {
    animation: azul-home-copy-arrive var(--azul-opening-duration) var(--azul-ease) 80ms 1 both;
  }
}
@keyframes azul-home-horizon-open { from { transform: scaleY(1); } to { transform: scaleY(0); } }
@keyframes azul-home-horizon-line {
  0% { transform: scaleX(.06); opacity: .8; }
  28% { transform: scaleX(1); opacity: .8; }
  100% { transform: scaleX(1); opacity: 0; }
}
@keyframes azul-home-copy-arrive {
  from { transform: translateX(var(--azul-opening-shift)); opacity: .72; }
  to { transform: none; opacity: 1; }
}
@media (max-width: 720px) {
  main[data-vibecms-page="page_azul_home"] #home_message {
    --azul-opening-duration: 650ms;
    --azul-opening-shift: -16px;
    --azul-opening-frame-height: clamp(220px,61vw,360px);
  }
  main[data-vibecms-page="page_azul_home"] #home_message::after { display: none; }
  main[data-vibecms-page="page_azul_home"] #home_message > .vibe-motion-video::before,
  main[data-vibecms-page="page_azul_home"] #home_message > .vibe-motion-video::after { height: calc(var(--azul-opening-frame-height) / 2); }
  main[data-vibecms-page="page_azul_home"] #home_message > .vibe-motion-video::after { top: calc(var(--azul-opening-frame-height) / 2); bottom: auto; }
}
/* Editing and keyboard focus immediately expose the final composition. */
main[data-vibecms-page="page_azul_home"] #home_message:has([contenteditable="true"]) .vibe-hero-content,
main[data-vibecms-page="page_azul_home"] #home_message:focus-within .vibe-hero-content { animation: none !important; transform: none !important; opacity: 1 !important; }
main[data-vibecms-page="page_azul_home"] #home_message:is(:has([contenteditable="true"]),:focus-within)::after,
main[data-vibecms-page="page_azul_home"] #home_message:is(:has([contenteditable="true"]),:focus-within) > .vibe-motion-video::before,
main[data-vibecms-page="page_azul_home"] #home_message:is(:has([contenteditable="true"]),:focus-within) > .vibe-motion-video::after { display: none !important; }
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
  main[data-vibecms-page="page_azul_home"] #home_message .vibe-hero-content { animation: none !important; transform: none !important; opacity: 1 !important; }
  main[data-vibecms-page="page_azul_home"] #home_message::after,
  main[data-vibecms-page="page_azul_home"] #home_message > .vibe-motion-video::before,
  main[data-vibecms-page="page_azul_home"] #home_message > .vibe-motion-video::after { display: none !important; }
}
/* End Home opening */
