@font-face {
  font-family: "Flor Símbolos";
  src: url("fonts/flor-simbolos.woff2") format("woff2");
  font-weight: 400 900;
  font-display: swap;
  unicode-range: U+2190-2197, U+2302, U+25C8, U+2600, U+2630, U+2637, U+2661, U+2733;
}
:root {
  --body: "Flor Símbolos", Nunito, "Trebuchet MS", Arial, sans-serif;
}

/* The hand-drawn transition belongs to the two adjacent v27 chapters. */
.flor-bridge {
  display: none;
  pointer-events: none;
}
#inicio + #colegio > .flor-bridge {
  display: block;
  position: absolute;
  top: 12px;
  left: 50%;
  width: clamp(90px, 16vw, 240px);
  height: auto;
  color: #785315;
  transform: translateX(-28%);
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    body:not(.is-editing) #inicio + #colegio {
      view-timeline-name: --flor-chapter;
    }
    body:not(.is-editing) #inicio + #colegio > .flor-bridge path {
      animation: flor-trace 1s linear both;
      animation-timeline: --flor-chapter;
      animation-range: entry 5% entry 85%;
      stroke-dasharray: 1;
    }
    @keyframes flor-trace {
      from { stroke-dashoffset: 1; }
      to { stroke-dashoffset: 0; }
    }
  }
}
@media (max-width: 760px) {
  #inicio + #colegio > .flor-bridge {
    top: 17px;
    left: 58%;
    transform: translateX(-50%);
  }
}
@media (max-width: 360px) {
  .header-inner { gap: 8px; }
  .brand, .brand img { width: 73px; }
  .header-visit { padding-inline: 10px; white-space: nowrap; }
  .hero h1 { font-size: 43px; }
}

@media (max-width: 760px) {
  .header-inner { min-height: 74px; }
  .hero { padding-top: 29px; }
  .hero-grid { gap: 25px; }
  .hero h1 { font-size: clamp(39px, 11.1vw, 65px); }
  .hero .lead { font-size: clamp(16px, 4.3vw, 20px); }
  .hero .hero-description { margin-top: 11px; }
  .hero .actions { margin-top: 17px; }
  .hero-art { min-height: 0; }
  .outdoor { overflow: clip; }
}

.gallery-managed { grid-auto-rows: 240px; }
.gallery-managed[data-count="1"], .gallery-managed[data-count="2"] {
  grid-template-rows: clamp(200px, 34vw, 430px);
}
.gallery-managed[data-count="1"] { grid-template-columns: 1fr; }
.gallery-managed[data-count="1"] .photo-0,
.gallery-managed[data-count="2"] .photo-0 { grid-row: auto; grid-column: auto; }
@media (max-width: 760px) {
  .gallery-managed { grid-auto-rows: 185px; }
  .gallery-managed[data-count="2"] { grid-template-columns: 1fr; grid-template-rows: auto; }
  .gallery-managed[data-count="2"] .gallery-photo { min-height: 185px; }
}

.not-found {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
  gap: clamp(26px,7vw,85px);
  align-items: center;
}
.not-found #not-found-title {
  font-size: clamp(46px,7vw,88px);
  line-height: .98;
  margin: 14px 0 22px;
}
.not-found #not-found-title em { color: #58764f; }
.not-found .actions { margin-top: 24px; }
.not-found-photo img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 7px solid var(--yellow);
  border-radius: 44% 45% 16px 16px;
}
.not-found-photo figcaption { margin-top: 12px; color: #526154; font-size: 13px; text-align: center; }
@media (max-width: 640px) {
  .not-found { grid-template-columns: 1fr; }
  .not-found-photo { max-width: 360px; }
}
