/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
:root {
  /* Display scale — Avigea */
  --fs-display-2xl: clamp(2.25rem, 3.75vw + 0.75rem, 4.5rem);
  --lh-display-2xl: 1.25;

  --fs-display-xl: clamp(1.875rem, 3.125vw + 0.875rem, 3.75rem);
  --lh-display-xl: 1.2;

  --fs-display-lg: clamp(1.5rem, 2.5vw + 0.75rem, 3rem);
  --lh-display-lg: 1.25;

  --fs-display-md: clamp(1.25rem, 1.667vw + 0.917rem, 2.25rem);
  --lh-display-md: 1.25;

  --fs-display-sm: clamp(1.125rem, 1.25vw + 0.875rem, 1.875rem);
  --lh-display-sm: 1.27;

  --fs-display-xs: clamp(1rem, 0.833vw + 0.833rem, 1.5rem);
  --lh-display-xs: 1.33;

  /* Text scale — Rubik */
  --fs-text-xl: clamp(1rem, 0.417vw + 0.917rem, 1.25rem);
  --lh-text-xl: 1.5;

  --fs-text-lg: clamp(0.9375rem, 0.3125vw + 0.875rem, 1.125rem);
  --lh-text-lg: 1.75;

  --fs-text-md: clamp(0.875rem, 0.208vw + 0.854rem, 1rem);
  --lh-text-md: 1.5;

  --fs-text-sm: clamp(0.8125rem, 0.104vw + 0.8rem, 0.875rem);
  --lh-text-sm: 1.45;

  --fs-text-xs: 0.75rem;
  --lh-text-xs: 1.5;
}

/* Prevent CLS flash before GSAP sets opacity */
.oi-fade-up,
.oi-img-reveal,
.oi-stagger > * {
  will-change: transform, opacity;
}

/* Fix Elementor overflow cutting pinned sections */
.elementor {
  overflow: unset !important;
}

/* Smooth native scroll as baseline */
html {
  scroll-behavior: smooth;
}
/* ── Image reveal frame: clip the 1.06→1 scale settle ── */
.oi-img-reveal { overflow: hidden; }
 
/* ── Button press feedback — pointer devices only (no tap false-positive) ── */
@media (hover: hover) and (pointer: fine) {
  .oi-button { transition: transform 160ms ease; }
  .oi-button:active { transform: scale(0.97); }
}
 
/* ── Reduced motion: belt-and-suspenders. If anything ever ships a
      CSS-driven hidden state, force it visible here. ── */
@media (prefers-reduced-motion: reduce) {
  .oi-head .word, .oi-head .line,
  .oi-cta__title .word, .oi-cta__title .line,
  .oi-text-reveal .word, .oi-text-reveal .line,
  .oi-fade-up, .oi-stagger > *, .oi-grid > *,
  .oi-journey__row * , .oi-img-reveal img {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}
