/* GRUPO DAIVAL — Premium industrial experience v2 */

@font-face {
  font-family: "Barlow Condensed";
  src: url("assets/fonts/barlow-condensed-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Barlow Condensed";
  src: url("assets/fonts/barlow-condensed-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Barlow Condensed";
  src: url("assets/fonts/barlow-condensed-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Barlow Condensed";
  src: url("assets/fonts/barlow-condensed-800.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("assets/fonts/source-sans-3-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

:root,
[data-theme="light"],
[data-theme="dark"] {
  --font-d: "Barlow Condensed", sans-serif;
  --font-b: "Source Sans 3", sans-serif;
  --red: #e51b2a;
  --red-2: #b70e1b;
  --ink: #090b0e;
  --ink-2: #111419;
  --paper: #ffffff;
  --paper-2: #f4f5f6;
  --steel: #626a73;
  --line: rgba(10, 13, 17, .15);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-ui: cubic-bezier(.23, 1, .32, 1);
  --ease-in-out: cubic-bezier(.77, 0, .175, 1);
  --fs-display: clamp(3.5rem, 6vw, 5.25rem);
  --fs-h2: clamp(2.35rem, 4.4vw, 4.15rem);
  --container: 1380px;
}

html {
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
}

body {
  font-family: var(--font-b);
  background: var(--paper-2);
}

h1, h2, h3, h4,
.provider__head h3,
.fiscal__head h3 {
  font-family: var(--font-b);
}

h2 {
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.035em;
}

h3, h4 { letter-spacing: -.018em; }

p, li, td, input, select, textarea, button { font-family: var(--font-b); }

.container { width: min(100% - 80px, var(--container)); }
.eyebrow { display: none !important; }
.section-head { max-width: 930px; margin-bottom: clamp(44px, 6vw, 82px); }
.section-head h2 { max-width: 15ch; margin-bottom: 22px; font-weight: 700; line-height: 1.02; letter-spacing: -.035em; }
.section-head .lead { max-width: 68ch; line-height: 1.68; }
#lineas .section-head h2 { max-width: 24ch; }
#aditivos .section-head h2 { max-width: 22ch; }

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px var(--red);
}
.fab--top { display: none; }
.fab--top.is-on { display: grid; }

.btn {
  transition:
    transform 160ms var(--ease-ui),
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 220ms var(--ease-ui);
}
.btn:active { transform: scale(.97); }
.is-pressed { transform: scale(.97) !important; }
.btn svg { transition: transform 180ms var(--ease-ui); }

@media (hover: hover) and (pointer: fine) {
  .btn:hover { transform: translateY(-1px); }
  .btn:hover svg { transform: translateX(4px); }
}

/* Navigation */
.nav { background: rgba(7, 9, 12, .94); }
.nav__inner { min-height: 78px; }
.nav__link { font-size: .84rem; letter-spacing: .01em; }
.nav__actions > .btn { min-height: 46px; }

/* Cinematic hero */
.hero {
  min-height: calc(100svh - 148px);
  padding-block: clamp(64px, 7vh, 90px) 28px;
  isolation: isolate;
  background: var(--ink);
}

.hero__media {
  overflow: hidden;
  animation: hero-media-reveal 820ms var(--ease-out) both;
}
.hero__media img,
.hero__media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 61% center;
}
.hero__media img { animation: none; opacity: 1; }
.hero__media video {
  z-index: 1;
  opacity: 0;
  filter: saturate(.86) contrast(1.06);
  transition: opacity 420ms var(--ease-out);
}
.hero__media.is-video-ready video { opacity: 1; }
.hero__media::after {
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(4, 6, 8, .92) 0%, rgba(4, 6, 8, .72) 35%, rgba(4, 6, 8, .12) 66%, rgba(4, 6, 8, .04) 100%),
    linear-gradient(0deg, rgba(4, 6, 8, .74) 0%, transparent 34%);
}

.hero__grid { display: none; }
.hero__diag { display: none !important; }

.hero__layout {
  grid-template-columns: minmax(0, 1.15fr) minmax(380px, .62fr);
  grid-template-areas: "copy provider";
  min-height: 610px;
  align-items: center;
  gap: clamp(40px, 6vw, 88px);
}
.hero__layout > div:first-child { max-width: 820px; }
.hero h1 {
  margin-bottom: 30px;
  max-width: none;
  font-family: var(--font-b);
  font-size: clamp(3.5rem, 5vw, 4.75rem);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.035em;
  text-transform: none;
}
.hero h1 .line { display: block; }
.hero h1 .grad { color: var(--red); }
.hero .lead {
  max-width: 62ch;
  color: rgba(255, 255, 255, .82);
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.62;
}
.hero .lead strong { color: #fff; }
.hero__cta { margin-top: 30px; }

.provider {
  padding: 0;
  color: #171a1e;
  background: #fff;
  border: 0;
  border-radius: 2px;
  box-shadow: 0 34px 90px -44px rgba(0, 0, 0, .9);
}
.provider__head {
  margin: 0;
  padding: 18px 20px;
  color: #fff;
  border-radius: 0;
  background: var(--ink-2);
}
.provider__head span { color: rgba(255,255,255,.62); }
.provider__head h3 { font-size: 1.16rem; font-weight: 700; text-transform: none; letter-spacing: -.01em; }
.provider__head > .chip { border-radius: 3px; }
.provider .datalist { margin: 0; padding: 0 20px; background: #fff; }
.provider .datalist li { padding: 11px 0; color: #171a1e; background: #fff; border-color: rgba(10,13,17,.15); }
.provider .datalist li span { color: #68717b; }
.provider .datalist li strong { color: #171a1e; }
.provider .datalist .ok { color: #167c4b; }
.provider__foot { margin: 0; padding: 18px 20px 20px; background: #fff; }
.provider .btn--ghost { color: #171a1e; border-color: rgba(10,13,17,.26); }

.hero__media-toggle {
  position: absolute;
  right: max(24px, calc((100vw - var(--container)) / 2));
  bottom: 28px;
  z-index: 9;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  color: rgba(255, 255, 255, .8);
  background: rgba(8, 10, 13, .76);
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 2px;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease, transform 160ms var(--ease-ui);
}
.hero__media-toggle:active { transform: scale(.97); }
.hero__media-toggle svg { width: 18px; height: 18px; }
.hero__media-toggle .icon-play { display: none; }
.hero__media-toggle.is-paused .icon-pause { display: none; }
.hero__media-toggle.is-paused .icon-play { display: block; }
.hero__media-toggle span { font-size: .77rem; font-weight: 650; }

@keyframes hero-media-reveal {
  from { clip-path: inset(0 100% 0 0); }
  to { clip-path: inset(0); }
}

/* Static sector navigator */
.sector-rail {
  position: relative;
  z-index: 10;
  color: #fff;
  background: #0b0d10;
  border-top: 1px solid rgba(255, 255, 255, .12);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.sector-rail__inner {
  display: grid;
  grid-template-columns: 1.35fr repeat(6, 1fr);
  align-items: stretch;
}
.sector-rail__label,
.sector-rail a {
  display: flex;
  min-height: 70px;
  align-items: center;
  gap: 12px;
  padding: 0 22px;
  border-right: 1px solid rgba(255, 255, 255, .13);
}
.sector-rail__label {
  padding-left: 0;
  color: var(--red);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.sector-rail a {
  justify-content: space-between;
  color: rgba(255, 255, 255, .7);
  font-size: .82rem;
  transition: color 180ms ease, background-color 180ms ease;
}
.sector-rail a span { color: var(--red); transition: transform 180ms var(--ease-ui); }
@media (hover: hover) and (pointer: fine) {
  .sector-rail a:hover { color: #fff; background: rgba(255, 255, 255, .04); }
  .sector-rail a:hover span { transform: translateX(4px); }
}

/* Factory story with real media rhythm */
.brandsec { padding-top: clamp(100px, 10vw, 148px); background: var(--paper); }
.brand { grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr); gap: clamp(62px, 8vw, 122px); }
.brand__media {
  display: grid;
  grid-template-rows: minmax(420px, 1fr) 176px;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 680px;
  aspect-ratio: auto;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.brand__media > img { display: none; }
.brand__media-main { min-height: 0; overflow: hidden; }
.brand__media-main img,
.process-reel img,
.process-reel video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.brand__media-main img { transition: transform 700ms var(--ease-out); }
.process-reel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.process-reel figure {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: var(--ink-2);
}
.process-reel figcaption {
  position: absolute;
  inset: auto 0 0;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  padding: 26px 14px 12px;
  color: #fff;
  background: linear-gradient(0deg, rgba(4, 6, 8, .84), transparent);
}
.process-reel figcaption b { font-size: .75rem; }
.process-reel figcaption span { color: rgba(255, 255, 255, .67); font-size: .67rem; }
.brand__tag { right: auto; bottom: 200px; left: 18px; max-width: calc(100% - 36px); border-radius: 2px; }
.brand .lead { max-width: 66ch; }
.avales { margin-top: 34px; }

@media (hover: hover) and (pointer: fine) {
  .brand__media-main:hover img { transform: scale(1.025); }
}

/* Product line navigator — stage + stable selector */
#lineas { position: relative; background: var(--paper-2); }
#lineas::before {
  display: none !important;
}
.line-showcase { border-top: 1px solid var(--line); }
.line-showcase__tabs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border-bottom: 1px solid var(--line);
}
.line-showcase__tab {
  position: relative;
  min-height: 88px;
  padding: 18px 14px;
  color: #252a30;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease;
}
.line-showcase__tab::after {
  content: "";
  position: absolute;
  right: 100%;
  bottom: -1px;
  left: 0;
  height: 4px;
  background: var(--red);
  transition: right 260ms var(--ease-ui);
}
.line-showcase__tab[aria-selected="true"] { color: var(--red); }
.line-showcase__tab[aria-selected="true"]::after { right: 0; }
.line-showcase__tab span { display: block; }
.line-showcase__num { margin-bottom: 7px; font-family: var(--font-d); font-size: 1.6rem; font-weight: 700; line-height: 1; }
.line-showcase__label { font-family: var(--font-d); font-size: .9rem; font-weight: 600; letter-spacing: .025em; text-transform: uppercase; }
.line-showcase__stage {
  display: grid;
  grid-template-columns: minmax(290px, .7fr) minmax(0, 1.65fr);
  min-height: 0;
  padding-top: 28px;
}
.line-showcase__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(32px, 5vw, 74px) clamp(30px, 5vw, 74px) clamp(32px, 5vw, 74px) 0;
}
.line-showcase__copy h3 {
  margin-bottom: 18px;
  font-family: var(--font-b);
  font-size: clamp(2.25rem, 3.5vw, 3.5rem);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.03em;
  text-transform: none;
}
.line-showcase__copy p { max-width: 44ch; color: var(--tx-2); line-height: 1.62; }
.line-showcase__meta { margin-top: 20px; color: var(--red); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.line-showcase__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.line-showcase__media { position: relative; min-height: 0; aspect-ratio: 16 / 9; overflow: hidden; background: #d9dde0; }
.line-showcase__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 22%;
  background: linear-gradient(0deg, rgba(5, 7, 9, .52), transparent);
  pointer-events: none;
}
.line-showcase__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--ease-out); }
.line-showcase__media.is-switching { opacity: .62; transform: scale(.985); }
.lines.is-upgraded { display: none; }

@media (hover: hover) and (pointer: fine) {
  .line-showcase__tab:hover { color: var(--red); background: rgba(229, 27, 42, .035); }
  .line-showcase__media:hover img { transform: scale(1.025); }
}

/* Technical directory */
#aditivos { background: #0b0d10; }
#aditivos .section-head { margin-bottom: 52px; }
.adit-tools { margin: 0 0 24px; justify-content: space-between; }
.search { flex: 1 1 700px; max-width: none; min-height: 58px; }
.adit-grid { grid-template-columns: repeat(2, 1fr); }
.adit {
  min-height: 58px;
  padding: 13px 18px;
  transition: color 180ms ease, background-color 180ms ease, opacity 180ms ease, transform 180ms var(--ease-ui);
}
.adit i { font-family: var(--font-d); font-size: .9rem; }
.adit::after { transition: opacity 180ms ease, transform 180ms var(--ease-ui); }

/* Technical documents with editorial quality-control media */
.catalog-layout { display: grid; grid-template-columns: minmax(0, 1.62fr) minmax(280px, .58fr); gap: clamp(36px, 5vw, 76px); align-items: start; }
.catalog-media { position: sticky; top: 112px; overflow: hidden; background: var(--ink-2); }
.catalog-media img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.catalog-media figcaption { display: grid; gap: 4px; padding: 18px; color: #fff; }
.catalog-media figcaption b { font-family: var(--font-b); font-size: 1.08rem; font-weight: 700; letter-spacing: -.01em; text-transform: none; }
.catalog-media figcaption span { color: rgba(255,255,255,.67); font-size: .78rem; line-height: 1.45; }
.prod { grid-template-columns: minmax(190px, .78fr) minmax(270px, 1.22fr); }
.prod__foot { grid-column: 1 / -1; justify-content: flex-end; border-top: 1px solid var(--line); }
.prod:hover { transform: none; box-shadow: inset 4px 0 0 var(--red); }

/* Procurement and media */
#licitaciones .section-head { max-width: 800px; }
.fiscal__head { background: #d81726; }
.doc { transition: transform 180ms var(--ease-ui), color 180ms ease, background-color 180ms ease; }

/* Portfolio: one cinematic frame, no autoplaying carousel */
.gal { padding-block: clamp(90px, 10vw, 150px); }
.gal .section-head h2 { max-width: 13ch; }
.gal .swiper { grid-template-columns: minmax(0, 2.25fr) minmax(280px, .75fr); }
.gal__item,
.gal__item.is-gallery-active { animation: none; }
.gal__item { aspect-ratio: 16 / 9; transition: opacity 220ms ease, transform 320ms var(--ease-out), clip-path 420ms var(--ease-out); }
.gal__item.is-gallery-active { clip-path: inset(0); }
.gal__item img,
.gal__item video { width: 100%; height: 100%; object-fit: cover; }
.gal__item video { display: block; background: #101318; }
.gallery__menu button { min-height: 58px; transition: color 180ms ease, transform 180ms var(--ease-ui), background-color 180ms ease; }
.gallery__controls button { min-width: 44px; min-height: 44px; transition: color 180ms ease, border-color 180ms ease, transform 160ms var(--ease-ui); }
.gallery__controls button:active { transform: scale(.96); }

/* Conversion */
.cta__inner { grid-template-columns: .74fr 1.26fr; }
.cta__copy h2 { max-width: 12ch; font-size: clamp(2.75rem, 4.5vw, 4.2rem); line-height: 1.02; letter-spacing: -.035em; }
.form { border: 1px solid rgba(255,255,255,.1); }
.field input,
.field select,
.field textarea {
  min-height: 48px;
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.check { min-height: 44px; align-items: start; }
.form__ok { transform-origin: center; }

/* Dialog motion follows trigger feedback, but modal remains centered */
.modal__panel,
.admin__panel {
  transform-origin: center;
  transition: opacity 200ms var(--ease-ui), transform 240ms var(--ease-ui);
}
.modal:not(.is-open) .modal__panel,
.admin:not(.is-open) .admin__panel { opacity: 0; transform: scale(.96); }

/* Reveal pass: short and restrained */
[data-reveal] {
  transform: translateY(16px);
  transition-duration: 480ms;
  transition-timing-function: var(--ease-out);
}
[data-reveal="left"] { transform: translateX(-20px); }
[data-reveal="right"] { transform: translateX(20px); }
[data-reveal="zoom"] { transform: scale(.98); }
[data-stagger] > * { transform: translateY(12px); transition-duration: 420ms; transition-timing-function: var(--ease-out); }

@media screen and (max-width: 1180px) {
  .container { width: min(100% - 52px, var(--container)); }
  .hero { min-height: auto; }
  .hero__layout { grid-template-columns: minmax(0, 1fr) minmax(330px, .62fr); min-height: 720px; gap: 42px; }
  .hero h1 { font-size: clamp(3.35rem, 6vw, 4.35rem); }
  .sector-rail__inner { overflow-x: auto; grid-template-columns: 190px repeat(6, minmax(150px, 1fr)); scrollbar-width: thin; }
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-media { position: relative; top: auto; display: grid; grid-template-columns: minmax(0, 1fr) 280px; }
  .catalog-media img { aspect-ratio: 16 / 7; }
  .catalog-media figcaption { align-content: end; }
}

@media screen and (max-width: 920px) {
  .hero { padding-top: 100px; }
  .hero__layout { grid-template-columns: 1fr; grid-template-areas: "copy" "provider"; min-height: auto; }
  .hero__layout > .provider { width: min(100%, 620px); }
  .hero__media img,
  .hero__media video { object-position: 68% center; }
  .hero__media::after { background: linear-gradient(90deg, rgba(4,6,8,.96) 0%, rgba(4,6,8,.82) 62%, rgba(4,6,8,.44)); }
  .hero__media-toggle {
    right: 16px;
    bottom: 16px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
  }
  .hero__media-toggle span { display: none; }
  .brand { grid-template-columns: 1fr; }
  .brand__media { min-height: 620px; }
  .line-showcase__tabs { grid-template-columns: repeat(3, 1fr); }
  .line-showcase__tab { border-bottom: 1px solid var(--line); }
  .line-showcase__stage { grid-template-columns: 1fr; }
  .line-showcase__copy { padding-right: 0; }
  .line-showcase__media { min-height: 0; aspect-ratio: 16 / 9; }
  .gal .swiper { grid-template-columns: 1fr; }
  .cta__inner { grid-template-columns: 1fr; gap: 48px; }
}

@media screen and (max-width: 680px) {
  :root { --fs-display: clamp(2.55rem, 11.2vw, 3.35rem); --fs-h2: clamp(2.1rem, 9.5vw, 2.9rem); }
  .container { width: min(100% - 28px, var(--container)); }
  .floaters {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    gap: 10px;
  }
  .fab { width: 52px; height: 52px; }
  .fab--wa {
    display: grid;
    box-shadow: 0 12px 28px -8px rgba(18, 140, 126, .65);
  }
  .fab svg { width: 26px; height: 26px; }
  section { padding-block: 72px; }
  .nav__inner { min-height: 64px; }
  .hero { padding-block: 88px 36px; min-height: auto; }
  .hero__layout { gap: 26px; }
  .hero h1 {
    max-width: 11ch;
    margin: 0 0 16px;
    font-size: var(--fs-display);
    line-height: .98;
    letter-spacing: -.04em;
  }
  .hero .lead {
    font-size: .95rem;
    line-height: 1.55;
    max-width: 36ch;
  }
  .hero__cta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 24px;
  }
  .hero__cta .btn {
    width: 100%;
    justify-content: center;
    min-height: 48px;
  }
  .hero__diag { right: 10%; opacity: .55; }
  .hero__media img,
  .hero__media video { object-position: 70% center; }
  .hero__media-toggle { right: 12px; bottom: 12px; }
  .provider { margin-top: 8px; }
  .provider__head { padding: 16px; }
  .provider__head h3 { font-size: 1.15rem; }
  .datalist { padding-inline: 16px; }
  .provider__foot {
    padding: 14px 16px 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .provider__foot .btn { width: 100%; justify-content: center; }
  .sector-rail__inner { grid-template-columns: 170px repeat(6, 142px); }
  .sector-rail__label,
  .sector-rail a { min-height: 60px; padding-inline: 16px; }
  .brand__media { grid-template-rows: 390px auto; min-height: 0; }
  .process-reel { grid-template-columns: 1fr; }
  .process-reel figure { height: 160px; }
  .brand__tag { bottom: 352px; }
  .avales { grid-template-columns: 1fr; }
  .line-showcase__tabs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .line-showcase__tab { flex: 0 0 48%; min-height: 78px; scroll-snap-align: start; }
  .line-showcase__stage { min-height: 0; padding-top: 10px; }
  .line-showcase__copy { padding: 36px 0; }
  .line-showcase__copy h3 { font-size: 2.45rem; }
  .line-showcase__actions { display: grid; }
  .line-showcase__actions .btn { width: 100%; justify-content: center; }
  .line-showcase__media { min-height: 0; aspect-ratio: 4 / 3; order: -1; }
  .adit-tools { align-items: stretch; }
  .adit-grid { grid-template-columns: 1fr; }
  .catalog-media { grid-template-columns: 1fr; }
  .catalog-media img { aspect-ratio: 4 / 3; }
  .prod { grid-template-columns: 1fr; }
  .gal__item { aspect-ratio: 4 / 3; }
  .cta__copy h2 { font-size: 2.7rem; }
  .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding-bottom: 84px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero__media { animation: none; }
  .hero__media video { display: none; }
  .hero__poster { opacity: 1 !important; }
  [data-reveal],
  [data-stagger] > * { transition-duration: 120ms; transform: none; }
  .line-showcase__media,
  .gal__item,
  .btn,
  .nav__link,
  .doc { transition-duration: 120ms; }
}
