@keyframes floatA { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes floatB { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes floatC { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes gridDrift { 0% { background-position: 0 0, 0 0; } 100% { background-position: 52px 52px, 52px 52px; } }
@keyframes drawLine { to { stroke-dashoffset: 0; } }
@keyframes ringSpin { to { transform: rotate(360deg); } }
@keyframes pulseDot { 0%,100% { transform: scale(1); opacity: .55; } 50% { transform: scale(2.1); opacity: 0; } }
@keyframes navPop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes logoMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes toolsMarqueeReverse { from { transform: translateX(-50%); } to { transform: translateX(0); } }

.trust-logos {
  --trust-logo-gap: clamp(1.5rem, 3.5vw, 3.75rem);
  overflow: hidden;
  padding-block: clamp(3rem, 5vw, 4.5rem);
  border-block: 1px solid rgba(28, 43, 51, .12);
  background: rgba(244, 243, 239, .72);
}
.trust-logos__heading {
  width: min(100% - clamp(2rem, 6vw, 6rem), 1440px);
  margin-inline: auto;
}
.trust-logos__heading h2 {
  margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
  color: #7A2419;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-align: center;
  text-transform: uppercase;
}
.trust-logos__viewport {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 clamp(2rem, 6vw, 6rem), #000 calc(100% - clamp(2rem, 6vw, 6rem)), transparent);
  mask-image: linear-gradient(to right, transparent, #000 clamp(2rem, 6vw, 6rem), #000 calc(100% - clamp(2rem, 6vw, 6rem)), transparent);
}
.trust-logos__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: logoMarquee 56s linear infinite;
}
.trust-logos__list {
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--trust-logo-gap);
  margin: 0;
  padding: 0 var(--trust-logo-gap) 0 0;
  list-style: none;
}
.trust-logos__item {
  display: grid;
  flex: 0 0 clamp(12.5rem, 16vw, 15rem);
  width: clamp(12.5rem, 16vw, 15rem);
  height: clamp(4.5rem, 7vw, 5.5rem);
  place-items: center;
}
.trust-logos__image {
  display: block;
  width: 100%;
  height: clamp(3rem, 4.5vw, 3.25rem);
  object-fit: contain;
  object-position: center;
}
.tools-section {
  padding-block: clamp(3.5rem, 5vw, 5rem);
  background: #F4F3EF;
}
.tools-section__inner {
  width: min(100% - clamp(2rem, 6vw, 6rem), 1440px);
  margin-inline: auto;
}
.tools-section__intro {
  display: grid;
  grid-template-columns: minmax(10rem, .65fr) minmax(0, 1.35fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: start;
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.tools-section__eyebrow {
  margin: .45rem 0 0;
  color: #7A2419;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.tools-section__intro h2 {
  max-width: 17ch;
  margin: 0;
  font-size: clamp(2.2rem, 1.7rem + 1.7vw, 3.4rem);
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: 1.02;
}
.tools-section__copy {
  max-width: 68ch;
  margin: 1.25rem 0 0;
  color: #5C6B72;
  line-height: 1.65;
}
.tools-marquee {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 clamp(1rem, 3vw, 2rem), #000 calc(100% - clamp(1rem, 3vw, 2rem)), transparent);
  mask-image: linear-gradient(to right, transparent, #000 clamp(1rem, 3vw, 2rem), #000 calc(100% - clamp(1rem, 3vw, 2rem)), transparent);
}
.tools-marquee__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: toolsMarqueeReverse 48s linear infinite;
}
.tools-grid {
  display: flex;
  flex: none;
  align-items: center;
  gap: clamp(.55rem, 1vw, .75rem);
  margin: 0;
  padding: 0 clamp(.55rem, 1vw, .75rem) 0 0;
  list-style: none;
}
.tools-grid__item {
  display: flex;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 3.5rem;
  align-items: center;
  gap: .65rem;
  padding: .55rem .7rem;
  border: 1px solid rgba(28, 43, 51, .1);
  border-radius: .85rem;
  background: rgba(250, 249, 246, .48);
  transition: border-color .2s, background-color .2s;
}
.tools-grid__logo {
  display: flex;
  flex: 0 0 auto;
  width: auto;
  height: 1.45rem;
  align-items: center;
  justify-content: center;
}
.tools-grid__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 6.25rem;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}
.tools-grid__logo--ink img {
  filter: brightness(0) saturate(100%) invert(14%) sepia(14%) saturate(926%) hue-rotate(155deg) brightness(91%) contrast(91%);
}
.tools-grid__logo--matte img {
  filter: grayscale(1) contrast(1.15);
  mix-blend-mode: multiply;
  opacity: .94;
}
.tools-grid__name {
  min-width: 0;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.2;
}
#services-grid article > p,
#testimonial-grid article > p,
#about-grid > div:last-child > p {
  line-height: 1.55;
}
#stats-grid > div {
  min-width: 0;
}
.home-hero { overflow-x: clip !important; }
.hero-title-accent { position: relative; display: inline-block; color: #9A2E24; }
.hero-title-underline { position: absolute; bottom: -.43em; left: -2%; width: 104%; height: .36em; overflow: visible; pointer-events: none; }
.home-about-photos { position: relative; min-height: 420px; }
.home-about-photo { position: absolute; padding: .6rem .6rem 1.6rem; border: 1px solid rgba(28,43,51,.1); background: #FAF9F6; box-shadow: 0 16px 40px rgba(28,43,51,.12); }
.home-about-photo picture,.home-about-photo img { display: block; width: 100%; height: 100%; }
.home-about-photo img { border-radius: .4rem; object-fit: cover; }
.home-about-photo--portrait { z-index: 2; bottom: 0; left: 2%; width: 46%; height: 290px; transform: rotate(-3deg); }
.home-about-photo--portrait img { object-position: center 22%; }
.home-about-photo--dolomites { top: 5%; right: 0; width: 58%; height: 330px; transform: rotate(4deg); }
.home-about-photo--dolomites img { object-position: center 76%; }
.home-about-note { position: absolute; right: 4%; bottom: -1.6rem; color: #9A2E24; font-family: Caveat,cursive; font-size: 1.3rem; font-weight: 600; transform: rotate(-4deg); white-space: nowrap; }
@media (hover: hover) and (pointer: fine) {
  .tools-grid__item:hover {
    border-color: rgba(154, 46, 36, .3);
    background: rgba(250, 249, 246, .8);
  }
}
@media (max-width: 980px) {
#hero-grid { grid-template-columns: 1fr !important; align-items: start !important; padding-top: 8rem !important; min-height: auto !important; }
#visual-stage { min-height: 460px !important; margin-top: 1rem; }
#services-grid, #testimonial-grid { grid-template-columns: 1fr 1fr !important; }
#about-grid { grid-template-columns: 1fr !important; }
#about-photos { min-height: 340px !important; margin-bottom: 1rem; }
#stats-grid { grid-template-columns: 1fr 1fr !important; }
#stats-grid > div:nth-child(2) { border-right: 0 !important; }
#cta-inner { grid-template-columns: 1fr !important; }
.tools-section__intro { grid-template-columns: 1fr; gap: 1rem; }
.tools-section__eyebrow { margin-top: 0; }
}
@media (max-width: 640px) {
#hero-word-wrap { top: 4.2rem !important; width: 100% !important; transform: translate(-50%,0) scaleX(.86) !important; font-size: 17.5vw !important; }
#hero-grid { padding-top: 8.4rem !important; }
.hero-title-accent { max-width: 100%; padding-bottom: .16em; }
.hero-title-underline { bottom: -.12em; left: 0; width: 100%; height: .28em; }
.home-about-photos { min-height: 340px !important; }
.home-about-photo--portrait { left: 0; width: 51%; height: 255px; }
.home-about-photo--dolomites { width: 60%; height: 280px; }
.home-about-note { right: 0; bottom: -1.25rem; }
#visual-stage { min-height: 560px !important; }
.metric-card-1 { top: 2% !important; left: 0 !important; }
.metric-card-2 { top: 30% !important; right: 0 !important; }
.metric-card-3 { bottom: 16% !important; left: 0 !important; }
.metric-card-4 { right: 0 !important; bottom: -1% !important; }
#services-grid, #testimonial-grid, #stats-grid { grid-template-columns: 1fr !important; }
#stats-grid > div { border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.2); text-align: center; }
#stats-grid > div:last-child { border-bottom: 0; }
.tools-grid__item { min-height: 3.25rem; gap: .5rem; padding: .45rem .55rem; border-radius: .75rem; }
.tools-grid__logo { height: 1.3rem; }
.tools-grid__logo img { max-width: 4.5rem; }
.tools-grid__name { font-size: .76rem; }
}
.hv0:hover { border-color:#9A2E24;background:#F5E3DE; }
.hv1:hover { transform:translateY(-2px);background:#6B1F17;border-color:#6B1F17; }
.hv2:hover { transform:translateY(-2px);border-color:#9A2E24;background:#F5E3DE; }
.hv3:hover { transform:translateY(-5px) rotate(-.7deg);box-shadow:0 16px 50px rgba(28,43,51,.08); }
.hv4:hover { transform:translateY(-5px);box-shadow:0 16px 50px rgba(28,43,51,.08); }
.hv5:hover { transform:translateY(-2px); }
@media (prefers-reduced-motion: reduce) {
  .trust-logos__viewport {
    -webkit-mask-image: none;
    mask-image: none;
  }
  .trust-logos__track {
    width: 100%;
    animation: none;
    will-change: auto;
  }
  .trust-logos__list {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 clamp(1rem, 6vw, 6rem);
  }
  .trust-logos__list[aria-hidden="true"] {
    display: none;
  }
  .tools-marquee {
    -webkit-mask-image: none;
    mask-image: none;
  }
  .tools-marquee__track {
    width: 100%;
    animation: none;
    will-change: auto;
  }
  .tools-grid {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0;
  }
  .tools-grid[aria-hidden="true"] {
    display: none;
  }
}
