/**
 * domaine.css
 * Styles for the /domaine long-scroll brand story page with sticky anchor nav.
 * Loaded conditionally on is_page('domaine') via inc/enqueue.php.
 * All values use CSS custom properties defined in style.css :root.
 *
 * @package astra-child
 */

/* ── Full-bleed sections ──────────────────────────────────────────────────── */

/*
 * Hero, viticulture (background-image banner), and #visite CTA extend to
 * viewport edges using the same negative-margin technique as other full-bleed
 * sections in components.css. See CLAUDE.md Astra Layout Configuration.
 */
.domaine-hero,
.domaine-section--viticulture,
.domaine-section--cta,
.porta-gallery-section {        /* #galerie carousel — defined in components.css */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* ── Hero ─────────────────────────────────────────────────────────────────── */

.domaine-hero {
  position: relative;
  min-height: calc(100svh - 80px);
  display: flex;
  align-items: center;
  justify-content: center;
  /* Background image path relative to this CSS file (assets/css/ → assets/images/) */
  background-image: url('../images/hero-domaine.jpg');
  background-size: cover;
  background-position: center;
  /* Fallback color shown before image loads or when file is not yet uploaded */
  background-color: var(--color-accent);
}

/* Dark overlay for text legibility over photography.
   rgba() is used intentionally — CSS custom properties cannot express alpha alone. */
.domaine-hero__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
}

.domaine-hero__content {
  position: relative; /* sits above .domaine-hero__overlay */
  z-index: 1;
  text-align: center;
  padding-block: var(--space-section);
}

.domaine-hero__eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 1rem;
}

.domaine-hero__title {
  font-size: var(--text-4xl);
  color: var(--color-white);
  margin-bottom: 1.5rem;
}

.domaine-hero__quote {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-xl);
  color: var(--color-white);
  opacity: 0.9;
  max-width: var(--max-width-text);
  margin-inline: auto;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .domaine-hero__title {
    font-size: var(--text-5xl);
  }
  .domaine-hero__quote {
    font-size: var(--text-2xl);
  }
}

/* ── Sticky anchor nav ────────────────────────────────────────────────────── */

/*
 * CSS position:sticky — the browser handles all the sticking.
 *
 * `top` is set via the CSS custom property --domaine-nav-top, which is written
 * by a one-time JS measurement in domaine-nav.js (reads the actual rendered
 * bottom of #masthead at page load + on resize). The fallback values cover the
 * rare case where JS hasn't run yet (SSR, no-JS, very slow load).
 *
 * Unlike position:fixed, sticky stays in document flow — no spacer div needed.
 * overflow-x:hidden on <body> only breaks sticky on the X axis in all modern
 * browsers (Chrome 77+, Firefox 70+, Safari 13+).
 */
/*
 * ── Sticky anchor nav ──────────────────────────────────────────────────────
 *
 * CSS position:sticky — the browser handles all the sticking.
 * `top` is set via --domaine-nav-top, written by JS at load + resize.
 *
 * Frosted glass: semi-transparent + blur so dark photo sections scrolling
 * beneath give a "floating above content" feel.
 * rgba() used intentionally — CSS custom properties cannot express alpha alone.
 *
 * Full-bleed on mobile (negative margins, same technique as other full-bleed
 * sections). Reset to 0 on desktop inside the @media (min-width: 768px) block.
 *
 * #domaine-nav ID prefix (specificity 1,0,0) beats Astra's inline <style>
 * which targets button elements at lower specificity with its blue color.
 */
.domaine-nav {
  position: sticky;
  top: var(--domaine-nav-top, 80px);
  z-index: 99;
  background-color: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(240, 236, 228, 0.6);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  /* Full-bleed on mobile */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/*
 * ── Mobile toggle button ──────────────────────────────────────────────────
 */

#domaine-nav .domaine-nav__toggle,
#domaine-nav .domaine-nav__toggle:hover,
#domaine-nav .domaine-nav__toggle:focus {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.625rem 1.25rem;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text) !important;
  text-align: left;
  outline-offset: 2px;
}

/*
 * Active section label in the toggle button — styled as a burgundy pill
 * so the nav is visually distinct even when the dropdown is closed.
 */
.domaine-nav__current-label {
  display: inline-block;
  background-color: var(--color-accent);
  color: var(--color-white);
  padding: 0.3rem 0.875rem;
  border-radius: 2rem;
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.4;
}

.domaine-nav__toggle-icon {
  flex-shrink: 0;
  color: var(--color-text-light);
  transition: transform 0.2s ease;
}

/* Rotate chevron when open */
.domaine-nav.is-open .domaine-nav__toggle-icon {
  transform: rotate(180deg);
}

/* Mobile nav list — hidden by default, shown when toggle is open */
.domaine-nav ul {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
  flex-direction: column;
  border-top: 1px solid rgba(240, 236, 228, 0.6);
}

.domaine-nav.is-open ul {
  display: flex;
}

.domaine-nav li {
  flex-shrink: 0;
}

/* Mobile link — full-width row */
.domaine-nav a {
  display: block;
  padding: 0.625rem 1.25rem;
  margin: 0.2rem 0.75rem;
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-light);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: none;
  border-left: none;
  border-radius: 2rem;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.domaine-nav a:hover {
  color: var(--color-accent);
  background-color: var(--color-bg-alt);
}

/* Active state — burgundy pill (same as desktop) */
.domaine-nav a.is-active {
  background-color: var(--color-accent);
  color: var(--color-white);
  border-left: none;
}

.domaine-nav a.is-active:hover {
  color: var(--color-white);
}

/*
 * ── Desktop: reset full-bleed + hide toggle + restore horizontal bar ──────
 */
@media (min-width: 1280px) {
  /* Reset full-bleed — on desktop the nav is contained within the page column */
  .domaine-nav {
    margin-left: 0;
    margin-right: 0;
  }
  /* Fade gradient on the right edge — scroll affordance for the horizontal bar */
  .domaine-nav::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 3rem;
    height: 100%;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.92));
    pointer-events: none;
    z-index: 1;
  }

  /* ID prefix matches the specificity of the base toggle rule — overrides display:flex */
  #domaine-nav .domaine-nav__toggle,
  #domaine-nav .domaine-nav__toggle:hover,
  #domaine-nav .domaine-nav__toggle:focus {
    display: none;
  }

  /* Restore horizontal flex bar — always visible, no toggle needed */
  .domaine-nav ul {
    display: flex !important;
    flex-direction: row;
    justify-content: center;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    max-width: var(--max-width);
    margin-inline: auto;
    padding-inline: 1.5rem;
    border-top: none;
  }

  .domaine-nav ul::-webkit-scrollbar {
    display: none; /* Chrome / Safari */
  }

  /* Desktop link — active item gets a solid burgundy pill background */
  .domaine-nav a {
    padding: 0.5rem 1rem;
    border-bottom: none;
    border-left: none;
    border-radius: 2rem;
    margin-block: 0.4rem;
  }

  .domaine-nav a.is-active {
    background-color: var(--color-accent);
    color: var(--color-white);
    border-bottom: none;
    border-left: none;
  }

  .domaine-nav a.is-active:hover {
    color: var(--color-white);
  }
}

/* ── Shared section typography ────────────────────────────────────────────── */

/* Small uppercase label above section headings */
.domaine-section__eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 0.75rem;
}

.domaine-section__title {
  font-size: var(--text-3xl);
  color: var(--color-text);
  margin-bottom: 1.5rem;
}

.domaine-section__body {
  font-size: var(--text-base);
  color: var(--color-text-light);
  line-height: 1.8;
  margin-bottom: 1rem;
}

.domaine-section__body:last-of-type {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .domaine-section__title {
    font-size: var(--text-4xl);
  }
}

/* ── Two-column layout (famille, terroir, cave) ───────────────────────────── */

/*
 * HTML source order determines desktop column order — no CSS direction tricks.
 * Famille: image first → image left on desktop.
 * Terroir: text first → text left on desktop.
 * Cave:    image first → image left on desktop.
 * On mobile all columns stack vertically in source order.
 */
.domaine-section__cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}

/* Section image fills its column with a fixed aspect ratio */
.domaine-section__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--border-radius);
  /* Tinted placeholder shown while image is absent */
  background-color: var(--color-bg-alt);
}

.domaine-section__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (min-width: 768px) {
  .domaine-section__cols {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
  }
}

/* ── #famille ─────────────────────────────────────────────────────────────── */

.domaine-section--famille {
  background-color: var(--color-bg-alt);
}

/* Italic serif renders like a handwritten signature — CSS only, no image */
.domaine-famille__signature {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-xl);
  color: var(--color-text-light);
  margin-top: 1.5rem;
}

/* ── #histoire ────────────────────────────────────────────────────────────── */

.domaine-section--histoire {
  background-color: var(--color-bg);
}

/* Centered prose intro above the timeline */
.domaine-histoire__intro {
  max-width: var(--max-width-text);
  margin-inline: auto;
  text-align: center;
  margin-bottom: 3.5rem;
}

/* Timeline — vertical on mobile, horizontal on desktop */
.domaine-timeline {
  display: flex;
  flex-direction: column;
  position: relative;
}

/* Vertical connecting line (mobile) */
.domaine-timeline::before {
  content: '';
  position: absolute;
  top: 0.625rem; /* aligns with dot center */
  bottom: 0;
  left: 0.625rem; /* center of the dot */
  width: 2px;
  background-color: var(--color-bg-alt);
}

.domaine-timeline__item {
  position: relative;
  padding-left: 3rem;
  padding-bottom: 2.5rem;
}

.domaine-timeline__item:last-child {
  padding-bottom: 0;
}

/* Dot marker on the vertical line */
.domaine-timeline__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.375rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: var(--color-accent);
  border: 3px solid var(--color-bg);
}

.domaine-timeline__year {
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  color: var(--color-accent);
  font-weight: 700;
  margin-bottom: 0.4rem;
}

.domaine-timeline__desc {
  font-size: var(--text-base);
  color: var(--color-text-light);
  line-height: 1.7;
}

@media (min-width: 768px) {
  /* Horizontal layout — items share a row, line runs along the top */
  .domaine-timeline {
    flex-direction: row;
    align-items: flex-start;
  }

  /* Horizontal connecting line */
  .domaine-timeline::before {
    top: 0.5rem; /* vertically centers on the dots */
    bottom: auto;
    left: 0;
    right: 0;
    width: auto;
    height: 2px;
  }

  .domaine-timeline__item {
    flex: 1;
    padding-left: 0;
    padding-top: 2.5rem;
    padding-bottom: 0;
    padding-right: 1.5rem;
  }

  .domaine-timeline__item:last-child {
    padding-right: 0;
  }

  /* Dot sits on top of the horizontal line */
  .domaine-timeline__item::before {
    left: 0;
    top: -0.375rem;
  }
}

/* ── #terroir ─────────────────────────────────────────────────────────────── */

.domaine-section--terroir {
  background-color: var(--color-bg);
}

/* UNESCO badge — small inline callout */
.domaine-terroir__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
  padding: 0.5rem 1rem;
  background-color: var(--color-bg-alt);
  border-radius: var(--border-radius);
  font-size: var(--text-sm);
  color: var(--color-text-light);
}

/* ── #viticulture ─────────────────────────────────────────────────────────── */

/*
 * Full-bleed background-image banner with dark overlay.
 * Image path relative to this CSS file.
 */
.domaine-section--viticulture {
  position: relative;
  background-image: url('../images/viticulture-vignes.jpg');
  background-size: cover;
  background-position: center;
  /* Fallback when image is not yet uploaded */
  background-color: var(--color-text);
}

.domaine-viticulture__overlay {
  position: absolute;
  inset: 0;
  /* rgba intentional — see hero overlay comment */
  background-color: rgba(0, 0, 0, 0.42);
}

.domaine-viticulture__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: var(--max-width-text);
  margin-inline: auto;
}

/* White text variants for viticulture — override shared section typography */
.domaine-section--viticulture .domaine-section__eyebrow {
  color: var(--color-gold);
}

.domaine-section--viticulture .domaine-section__title {
  color: var(--color-white);
}

.domaine-section--viticulture .domaine-section__body {
  color: var(--color-white);
  opacity: 0.85;
}

/* Pill row below text */
.domaine-viticulture__pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 2rem;
}

.domaine-viticulture__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  /* rgba intentional — semi-transparent white on dark bg */
  background-color: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 2rem;
  font-size: var(--text-sm);
  color: var(--color-white);
}

/* ── #cave ────────────────────────────────────────────────────────────────── */

.domaine-section--cave {
  background-color: var(--color-bg-alt);
}

/* Product strip sits below the two-column text block */
.domaine-cave__products {
  margin-top: 3rem;
}

.domaine-cave__products-title {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  color: var(--color-text);
  margin-bottom: 1.5rem;
}

.domaine-cave__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .domaine-cave__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.domaine-product-card {
  background-color: var(--color-bg);
  border-radius: var(--border-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.domaine-product-card__image {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  background-color: var(--color-bg-alt);
}

.domaine-product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.domaine-product-card__body {
  padding: 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.domaine-product-card__name {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  color: var(--color-text);
  margin-bottom: 0.5rem;
}

.domaine-product-card__desc {
  font-size: var(--text-sm);
  color: var(--color-text-light);
  line-height: 1.6;
  flex: 1;
  margin-bottom: 1rem;
}

.domaine-product-card__link {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-accent);
  text-decoration: none;
}

.domaine-product-card__link:hover {
  color: var(--color-gold);
}

/* ── #engagements ─────────────────────────────────────────────────────────── */

.domaine-section--engagements {
  background-color: var(--color-bg);
}

.domaine-engagements__header {
  text-align: center;
  margin-bottom: 3rem;
}

.domaine-engagements__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .domaine-engagements__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}

.domaine-engagement-card {
  padding: 2rem;
  background-color: var(--color-bg-alt);
  border-radius: var(--border-radius);
  text-align: center;
}

.domaine-engagement-card__icon {
  display: block;
  /* Color is inherited by SVG currentColor — controls stroke color */
  color: var(--color-accent);
  margin-bottom: 1rem;
  line-height: 0; /* prevent extra space below inline SVG */
}

.domaine-engagement-card__title {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  color: var(--color-text);
  margin-bottom: 0.75rem;
}

.domaine-engagement-card__desc {
  font-size: var(--text-sm);
  color: var(--color-text-light);
  line-height: 1.7;
}

/* ── Triptych visual band ─────────────────────────────────────────────────── */

/*
 * Full-bleed three-panel photography strip between #histoire and #terroir.
 * Pure visual — no text, no padding. Same negative-margin technique as hero.
 * Rendered by PHP only when all three vignes-triptych-*.jpg files are present.
 */
.domaine-triptych {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0; /* panels touch edge to edge */
}

.domaine-triptych__panel {
  overflow: hidden;
  aspect-ratio: 3 / 4; /* portrait on mobile */
  background-color: var(--color-bg-alt); /* placeholder while images load */
}

@media (min-width: 768px) {
  .domaine-triptych__panel {
    aspect-ratio: 4 / 3; /* landscape strip on desktop — ~360px tall at 1440px viewport */
  }
}

.domaine-triptych__panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Crossfade image slideshow (#terroir) ─────────────────────────────────── */

/*
 * PHP detects terroir-lavaux.jpg + optional -2.jpg, -3.jpg, -4.jpg.
 * With 1 image: plain <img> (no change to existing layout).
 * With 2–4 images: .domaine-crossfade--N container with CSS-only animation.
 *
 * Each image: 5-second slot — 4s visible, 1s fade to 0.
 * Staggered via animation-delay on :nth-child selectors.
 * CSS opacity:0 hides images 2+ during their delay (fill-mode:none = no fill).
 * Keyframes open at opacity:1 so each image pops in immediately on its turn.
 */

/* Enable absolute stacking inside the image slot */
.domaine-section__image {
  position: relative;
}

/* Crossfade container fills the entire image slot */
.domaine-crossfade {
  position: absolute;
  inset: 0;
}

/* All images stacked; opacity:0 until animation overrides it on each image's turn */
.domaine-crossfade img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

/* 2-image crossfade — cycle = 10s */
.domaine-crossfade--2 img              { animation-name: cf2; animation-duration: 10s; }
.domaine-crossfade--2 img:nth-child(1) { animation-delay: 0s; }
.domaine-crossfade--2 img:nth-child(2) { animation-delay: 5s; }

@keyframes cf2 {
  0%   { opacity: 1; }  /* visible */
  40%  { opacity: 1; }  /* hold — 4 / 10s */
  50%  { opacity: 0; }  /* fade — 5 / 10s */
  100% { opacity: 0; }
}

/* 3-image crossfade — cycle = 15s */
.domaine-crossfade--3 img              { animation-name: cf3; animation-duration: 15s; }
.domaine-crossfade--3 img:nth-child(1) { animation-delay: 0s;  }
.domaine-crossfade--3 img:nth-child(2) { animation-delay: 5s;  }
.domaine-crossfade--3 img:nth-child(3) { animation-delay: 10s; }

@keyframes cf3 {
  0%      { opacity: 1; }
  26.67%  { opacity: 1; }  /* 4 / 15s */
  33.33%  { opacity: 0; }  /* 5 / 15s */
  100%    { opacity: 0; }
}

/* 4-image crossfade — cycle = 20s */
.domaine-crossfade--4 img              { animation-name: cf4; animation-duration: 20s; }
.domaine-crossfade--4 img:nth-child(1) { animation-delay: 0s;  }
.domaine-crossfade--4 img:nth-child(2) { animation-delay: 5s;  }
.domaine-crossfade--4 img:nth-child(3) { animation-delay: 10s; }
.domaine-crossfade--4 img:nth-child(4) { animation-delay: 15s; }

@keyframes cf4 {
  0%   { opacity: 1; }
  20%  { opacity: 1; }  /* 4 / 20s */
  25%  { opacity: 0; }  /* 5 / 20s */
  100% { opacity: 0; }
}

/* Accessibility: users who prefer reduced motion see only the first image */
@media (prefers-reduced-motion: reduce) {
  .domaine-crossfade img            { animation: none; opacity: 0; }
  .domaine-crossfade img:first-child { opacity: 1; }
}

/* ── #visite — CTA band ───────────────────────────────────────────────────── */

/* Full-bleed burgundy band — matches the homepage "Venez nous rendre visite" section */
.domaine-section--cta {
  background-color: var(--color-accent);
  text-align: center;
}

.domaine-cta__title {
  font-size: var(--text-3xl);
  color: var(--color-white);
  margin-bottom: 1rem;
}

.domaine-cta__text {
  color: var(--color-white);
  opacity: 0.85;
  max-width: var(--max-width-text);
  margin-inline: auto;
  margin-bottom: 2rem;
  line-height: 1.7;
}

.domaine-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.domaine-cta__closing {
  margin-top: 2rem;
  font-style: italic;
  color: var(--color-white);
  opacity: 0.6;
  font-size: var(--text-sm);
}

@media (min-width: 768px) {
  .domaine-cta__title {
    font-size: var(--text-4xl);
  }
  .domaine-cta__actions {
    flex-direction: row;
    justify-content: center;
  }
}


/* ── Scroll-entrance stagger delays (domaine-specific) ───────────────────── */
/* Base .scroll-reveal rules live in components.css (loaded globally). */

/* Engagement cards */
.domaine-engagement-card:nth-child(2).scroll-reveal { transition-delay: 0.12s; }
.domaine-engagement-card:nth-child(3).scroll-reveal { transition-delay: 0.24s; }

/* Timeline items */
.domaine-timeline__item:nth-child(2).scroll-reveal { transition-delay: 0.1s; }
.domaine-timeline__item:nth-child(3).scroll-reveal { transition-delay: 0.2s; }
.domaine-timeline__item:nth-child(4).scroll-reveal { transition-delay: 0.3s; }

/* Triptych panels */
.domaine-triptych__panel:nth-child(2).scroll-reveal { transition-delay: 0.1s; }
.domaine-triptych__panel:nth-child(3).scroll-reveal { transition-delay: 0.2s; }
