﻿/* ============================================================
   LatSEO - Premium SEO Agency Design System
   Inspired by 3dpakalpojumi.lv | Warm, Minimal, Professional
   ============================================================ */

/* ---------- CSS Custom Properties ---------- */
:root {
  /* === Color Palette === */
  --clr-bg:            #F5F5F0;
  --clr-bg-alt:        #EDEBE3;
  --clr-bg-warm:       #EAE5DA;
  --clr-surface:       #F5F5F0;
  --clr-border:        #D9D3C5;
  --clr-border-light:  #E6D8C3;

  /* Accent - Sage Green (CTA) & Warm Taupe */
  --clr-accent-softest: #E6D8C3;
  --clr-accent-soft:    #D4C8B0;
  --clr-accent:         #C2A68C;
  --clr-accent-text:    #5D866C;
  --clr-accent-hover:   #4A6F57;

  /* Text */
  --clr-text-primary:   #1F1501;
  --clr-text-secondary: #5C4F3A;
  --clr-text-muted:     #9B8E7A;
  --clr-text-inverse:   #F5F5F0;

  /* Dark variant */
  --clr-dark:           #1F1501;

  /* Shadows (none/minimal - flat design) */
  --shadow-sm:   none;
  --shadow-md:   none;
  --shadow-lg:   none;
  --shadow-btn:  none;

  /* === Typography (matching 3dpakalpojumi.lv) === */
  --ff-body:    "Inter", sans-serif;
  --ff-heading: "Plus Jakarta Sans", sans-serif;

  --fs-xs:    0.75rem;
  --fs-sm:    0.875rem;
  --fs-base:  1rem;
  --fs-md:    1.125rem;
  --fs-lg:    1.25rem;
  --fs-xl:    1.5rem;
  --fs-2xl:   2rem;
  --fs-3xl:   2.5rem;
  --fs-4xl:   3.25rem;
  --fs-5xl:   4rem;
  --lh-tight:   1.15;
  --lh-normal:  1.6;
  --lh-relaxed: 1.7;
  --fw-light:     300;
  --fw-normal:    400;
  --fw-medium:    500;
  --fw-semibold:  600;

  /* === Spacing === */
  --sp-3xs: 0.25rem;
  --sp-2xs: 0.5rem;
  --sp-xs:  0.75rem;
  --sp-sm:  1rem;
  --sp-md:  1.5rem;
  --sp-lg:  2rem;
  --sp-xl:  3rem;
  --sp-2xl: 4rem;
  --sp-3xl: 4rem;
  --sp-4xl: 5.5rem;

  /* === Border Radius (sharp/flat) === */
  --radius-sm:   0;
  --radius-md:   0;
  --radius-lg:   0;
  --radius-xl:   0;
  --radius-2xl:  0;
  --radius-full: 0;

  /* === Transitions === */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;

  /* === Layout === */
  --max-width: 1200px;
  --header-height: 76px;
}

/* ---------- Skip Link ---------- */
.skip-link{
  position:absolute;top:-100px;left:var(--sp-md);
  padding:var(--sp-xs) var(--sp-md);
  background:var(--clr-accent-text);color:#fff;
  z-index:9999;font-size:var(--fs-sm);
  border-radius:0 0 4px 4px;
  transition:top var(--transition-fast)
}
.skip-link:focus{top:0}

/* ---------- CSS Reset ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}

body{
  font-family:var(--ff-body);
  font-weight:var(--fw-normal);
  font-size:var(--fs-base);
  line-height:var(--lh-normal);
  color:var(--clr-text-secondary);
  background:var(--clr-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden
}

img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}
ul,ol{list-style:none}

button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;border:none;outline:none;background:none}
button{cursor:pointer}

h1,h2,h3,h4,h5,h6{
  font-family:var(--ff-heading);
  font-weight:var(--fw-light);
  line-height:var(--lh-tight);
  color:var(--clr-text-primary)
}

::selection{background:var(--clr-accent-softest);color:var(--clr-text-primary)}
:focus-visible{outline:2px solid var(--clr-accent-text);outline-offset:2px}

/* ============================================================
   UTILITY CLASSES
   ============================================================ */
.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--sp-lg)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.section-label{
  display:inline-flex;align-items:center;gap:var(--sp-2xs);
  font-size:var(--fs-xs);font-weight:var(--fw-medium);
  text-transform:uppercase;letter-spacing:0.12em;
  color:var(--clr-accent-text);margin-bottom:var(--sp-sm)
}
.section-label::before{
  content:"";display:block;width:28px;height:1px;
  background:var(--clr-accent-text)
}

/* ============================================================
   HEADER & NAVIGATION
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--header-height);
  background:var(--clr-bg);
  border-bottom:1px solid var(--clr-border-light);
  transition:box-shadow var(--transition-base)
}
.site-header--scrolled{
  box-shadow:0 1px 4px rgba(0,0,0,0.06)
}

.header__inner{
  display:flex;align-items:center;justify-content:space-between;
  height:var(--header-height);
  max-width:var(--max-width);margin:0 auto;padding:0 var(--sp-lg)
}

/* Logo */
.header__logo{
  display:flex;align-items:center;flex-shrink:0;z-index:1001
}
.header__logo-img{height:38px;width:auto}

/* Desktop Navigation */
.header__nav{display:flex;align-items:center;gap:var(--sp-sm)}

.header__nav-list{display:flex;align-items:center;gap:var(--sp-2xs)}

.header__nav-link{
  display:inline-flex;align-items:center;
  padding:var(--sp-2xs) var(--sp-xs);
  font-size:var(--fs-sm);font-weight:var(--fw-normal);
  color:var(--clr-text-secondary);
  transition:color var(--transition-fast);
  white-space:nowrap
}
.header__nav-link:hover,
.header__nav-link--active{color:var(--clr-accent-text)}

/* Dropdown */
.header__dropdown{position:relative}

.header__dropdown-toggle{
  display:inline-flex;align-items:center;gap:var(--sp-3xs);
  padding:var(--sp-2xs) var(--sp-xs);
  font-size:var(--fs-sm);font-weight:var(--fw-normal);
  color:var(--clr-text-secondary);
  transition:color var(--transition-fast);
  cursor:pointer;white-space:nowrap
}
.header__dropdown-toggle:hover{color:var(--clr-accent-text)}
.header__dropdown-toggle-icon{font-size:0.6rem;transition:transform var(--transition-base)}
.header__dropdown:hover .header__dropdown-toggle-icon{transform:rotate(180deg)}

.header__dropdown-menu{
  position:absolute;top:calc(100% + 0.5rem);left:50%;
  transform:translateX(-50%) translateY(0.5rem);
  min-width:220px;
  background:var(--clr-bg);
  border:1px solid var(--clr-border);
  padding:var(--sp-2xs);
  opacity:0;visibility:hidden;
  transition:opacity var(--transition-base),transform var(--transition-base)
}
.header__dropdown:hover .header__dropdown-menu{
  opacity:1;visibility:visible;
  transform:translateX(-50%) translateY(0)
}
.header__dropdown-menu a{
  display:block;padding:var(--sp-xs) var(--sp-sm);
  font-size:var(--fs-sm);color:var(--clr-text-secondary);
  transition:all var(--transition-fast)
}
.header__dropdown-menu a:hover{color:var(--clr-accent-text);background:var(--clr-accent-softest)}

/* Language Switcher */
.header__lang-switch{
  display:flex;align-items:center;gap:var(--sp-2xs);
  margin-left:var(--sp-sm);padding-left:var(--sp-sm);
  border-left:1px solid var(--clr-border)
}
.header__lang-btn{
  padding:var(--sp-3xs) var(--sp-2xs);
  font-size:var(--fs-xs);font-weight:var(--fw-medium);
  color:var(--clr-text-muted);
  transition:all var(--transition-fast);
  text-transform:uppercase;letter-spacing:0.05em
}
.header__lang-btn:hover,
.header__lang-btn--active{color:var(--clr-accent-text)}

/* CTA Button in Header */
.header__cta{
  display:inline-flex;align-items:center;gap:var(--sp-2xs);
  padding:0.6rem 1.25rem;
  font-size:var(--fs-sm);font-weight:var(--fw-medium);
  color:var(--clr-text-inverse);
  background:var(--clr-accent-text);
  transition:all var(--transition-base);
  margin-left:var(--sp-sm);white-space:nowrap
}
.header__cta:hover{background:var(--clr-accent-hover);color:var(--clr-text-inverse)}

/* Mobile Menu Toggle */
.header__mobile-toggle{
  display:none;flex-direction:column;gap:5px;
  padding:var(--sp-2xs);z-index:1001;cursor:pointer
}
.header__mobile-toggle span{
  display:block;width:24px;height:1.5px;
  background:var(--clr-text-primary);
  transition:all var(--transition-base)
}
.header__mobile-toggle--open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.header__mobile-toggle--open span:nth-child(2){opacity:0}
.header__mobile-toggle--open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile Menu */
.header__mobile-menu{
  display:none;position:fixed;top:0;left:0;right:0;bottom:0;
  background:var(--clr-bg);
  z-index:999;
  flex-direction:column;justify-content:center;align-items:center;
  gap:var(--sp-lg);
  opacity:0;visibility:hidden;
  transition:opacity var(--transition-base)
}
.header__mobile-menu--open{opacity:1;visibility:visible}
.header__mobile-menu a{
  font-size:var(--fs-xl);font-weight:var(--fw-light);
  color:var(--clr-text-secondary);
  transition:color var(--transition-fast)
}
.header__mobile-menu a:hover{color:var(--clr-accent-text)}

.header__mobile-lang{
  display:flex;gap:var(--sp-sm);margin-top:var(--sp-md);
  padding-top:var(--sp-md);border-top:1px solid var(--clr-border)
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  padding:calc(var(--header-height) + var(--sp-2xl)) 0 var(--sp-3xl);
  overflow:hidden;
  background:var(--clr-bg)
}

.hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero__orb{
  position:absolute;border-radius:50%;filter:blur(120px);opacity:0.35
}
.hero__orb--1{
  width:500px;height:500px;
  background:var(--clr-accent-soft);
  top:-15%;right:-10%;
  animation:orbFloat 12s ease-in-out infinite
}
.hero__orb--2{
  width:350px;height:350px;
  background:var(--clr-accent-softest);
  bottom:-10%;left:-8%;
  animation:orbFloat 14s ease-in-out infinite reverse
}
@keyframes orbFloat{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(15px,-15px) scale(1.02)}
  66%{transform:translate(-10px,10px) scale(0.98)}
}

/* Hero with full background image */
.hero--bg{
  background: linear-gradient(rgba(31,21,1,0.55), rgba(31,21,1,0.45)), url('../assets/images/rigas_fons.webp') center/cover no-repeat
}
.hero--bg .hero__title,
.hero--bg .hero__description,
.hero--bg .hero__stat-value,
.hero--bg .hero__stat-label,
.hero--bg .hero__badge{color:#F5F5F0}
.hero--bg .hero__title-highlight{color:#E6D8C3}
.hero--bg .hero__badge{background:rgba(245,245,240,0.08);border-color:rgba(245,245,240,0.15);color:#E6D8C3}
.hero--bg .hero__badge-dot{background:#E6D8C3}
.hero--bg .hero__stats{border-top-color:rgba(245,245,240,0.15)}
.hero--bg .btn--secondary{color:#F5F5F0;border-color:rgba(245,245,240,0.25)}
.hero--bg .btn--secondary:hover{background:rgba(245,245,240,0.08);border-color:rgba(245,245,240,0.4);color:#F5F5F0}
.hero__overlay{display:none}

.hero__content{position:relative;z-index:1;max-width:700px}

/* Hero Grid Layout (text + image) */
.hero__grid-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-2xl);
  align-items:center
}

/* Hero Visual */
.hero__visual{
  position:relative;z-index:1
}
.hero__visual-img{
  width:100%;height:auto;
  object-fit:cover
}

.hero__badge{
  display:inline-flex;align-items:center;gap:var(--sp-2xs);
  padding:var(--sp-2xs) var(--sp-sm);
  background:var(--clr-accent-softest);
  font-size:var(--fs-sm);font-weight:var(--fw-normal);
  color:var(--clr-accent-text);
  margin-bottom:var(--sp-lg);
  animation:fadeInUp 0.7s ease-out
}
.hero__badge-dot{
  width:5px;height:5px;
  background:var(--clr-accent-text);border-radius:50%;
  animation:pulse 2s infinite
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.3}}

.hero__title{
  font-family:var(--ff-heading);
  font-size:clamp(2.5rem,5.5vw,var(--fs-5xl));
  font-weight:var(--fw-light);
  line-height:1.08;
  letter-spacing:-0.03em;
  color:var(--clr-text-primary);
  margin-bottom:var(--sp-md);
  animation:fadeInUp 0.7s ease-out 0.1s both
}
.hero__title-highlight{color:var(--clr-accent-text)}

.hero__description{
  font-size:var(--fs-md);
  line-height:var(--lh-relaxed);
  color:var(--clr-text-secondary);
  margin-bottom:var(--sp-xl);
  max-width:540px;
  animation:fadeInUp 0.7s ease-out 0.2s both
}

.hero__actions{
  display:flex;flex-wrap:wrap;gap:var(--sp-sm);
  animation:fadeInUp 0.7s ease-out 0.3s both
}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:var(--sp-2xs);
  padding:1rem 1.75rem;
  font-family:var(--ff-body);
  font-size:var(--fs-sm);font-weight:var(--fw-medium);
  transition:all var(--transition-base);
  white-space:nowrap;line-height:1;
  cursor:pointer
}

.btn--primary{
  background:var(--clr-accent-text);
  color:var(--clr-text-inverse)
}
.btn--primary:hover{background:var(--clr-accent-hover);color:var(--clr-text-inverse)}

.btn--secondary{
  background:transparent;
  color:var(--clr-text-primary);
  border:1px solid var(--clr-border)
}
.btn--secondary:hover{background:var(--clr-accent-softest);border-color:var(--clr-accent-soft)}

.btn--lg{padding:1.125rem 2.25rem;font-size:var(--fs-base)}

/* Hero Stats */
.hero__stats{
  display:flex;gap:var(--sp-xl);
  margin-top:var(--sp-2xl);padding-top:var(--sp-lg);
  border-top:1px solid var(--clr-border)
}
.hero__stat-value{
  font-family:var(--ff-heading);
  font-size:var(--fs-3xl);font-weight:var(--fw-light);
  color:var(--clr-text-primary);letter-spacing:-0.03em
}
.hero__stat-value span{color:var(--clr-accent-text)}
.hero__stat-label{
  font-size:var(--fs-sm);color:var(--clr-text-muted);margin-top:var(--sp-3xs)
}

@keyframes fadeInUp{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}

/* ============================================================
   SECTIONS - Shared
   ============================================================ */
.section{padding:var(--sp-3xl) 0}
.section--light{background:var(--clr-bg)}
.section--muted{background:var(--clr-bg-alt)}

.section__header{text-align:left;max-width:640px;margin:0 0 var(--sp-2xl)}
.section__title{
  font-family:var(--ff-heading);
  font-size:clamp(1.75rem,3vw,var(--fs-3xl));
  font-weight:var(--fw-light);
  letter-spacing:-0.02em;
  margin-bottom:var(--sp-sm);
  color:var(--clr-text-primary)
}
.section__description{
  font-size:var(--fs-md);
  color:var(--clr-text-secondary);
  line-height:var(--lh-relaxed)
}

/* ============================================================
   FEATURE CARDS (Why Choose Us)
   ============================================================ */
.features-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--sp-lg)
}

.feature-card{
  padding:var(--sp-xl) 0;
  border-top:1px solid var(--clr-border);
  transition:border-color var(--transition-base)
}
.feature-card:hover{border-top-color:var(--clr-accent-text)}

.feature-card__icon{
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  color:var(--clr-accent-text);
  margin-bottom:var(--sp-md)
}

.feature-card__title{
  font-family:var(--ff-heading);
  font-size:var(--fs-lg);font-weight:var(--fw-light);
  color:var(--clr-text-primary);margin-bottom:var(--sp-xs)
}
.feature-card__text{
  font-size:var(--fs-sm);color:var(--clr-text-secondary);
  line-height:var(--lh-relaxed)
}

/* Stats Banner */
.features-stats{
  display:flex;align-items:center;gap:var(--sp-2xl);
  margin-top:var(--sp-2xl);
  padding:var(--sp-2xl) 0;
  border-top:1px solid var(--clr-border)
}
.features-stats__image{
  width:400px;height:300px;
  object-fit:cover;flex-shrink:0;
  border-radius:4px;
  box-shadow:0 2px 16px rgba(0,0,0,0.08)
}
.features-stats__content{flex:1}
.features-stats__big-number{
  font-family:var(--ff-heading);
  font-size:var(--fs-4xl);font-weight:var(--fw-light);
  color:var(--clr-accent-text);line-height:1;letter-spacing:-0.04em
}
.features-stats__text{
  font-size:var(--fs-md);color:var(--clr-text-secondary);
  line-height:var(--lh-relaxed);margin-top:var(--sp-xs)
}

/* ============================================================
   SERVICE CARDS
   ============================================================ */
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--sp-lg)
}

.service-card{
  padding:var(--sp-xl) 0;
  border-top:1px solid var(--clr-border);
  transition:border-color var(--transition-base);
  display:flex;flex-direction:column
}
.service-card:hover{border-top-color:var(--clr-accent-text)}

.service-card__icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  color:var(--clr-accent-text);
  margin-bottom:var(--sp-md)
}

.service-card__title{
  font-family:var(--ff-heading);
  font-size:var(--fs-lg);font-weight:var(--fw-light);
  color:var(--clr-text-primary);margin-bottom:var(--sp-xs)
}
.service-card__text{
  font-size:var(--fs-sm);color:var(--clr-text-secondary);
  line-height:var(--lh-relaxed);margin-bottom:var(--sp-lg);flex:1
}
.service-card__link{
  display:inline-flex;align-items:center;gap:var(--sp-2xs);
  font-size:var(--fs-sm);font-weight:var(--fw-medium);
  color:var(--clr-accent-text);
  transition:gap var(--transition-fast)
}
.service-card__link:hover{gap:var(--sp-xs);color:var(--clr-accent-hover)}
.service-card__link-arrow{transition:transform var(--transition-fast)}
.service-card__link:hover .service-card__link-arrow{transform:translateX(3px)}

/* ============================================================
   CTA / CONTACT SECTION
   ============================================================ */
.cta-section{position:relative;overflow:hidden}
.cta-section__grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:var(--sp-2xl);align-items:start
}
.cta-section__content{max-width:500px}

.cta-section__title{
  font-family:var(--ff-heading);
  font-size:clamp(1.75rem,3vw,var(--fs-3xl));
  font-weight:var(--fw-light);letter-spacing:-0.02em;
  margin-bottom:var(--sp-sm)
}
.cta-section__description{
  font-size:var(--fs-md);color:var(--clr-text-secondary);
  line-height:var(--lh-relaxed);margin-bottom:var(--sp-lg)
}
.cta-section__benefits{
  display:flex;flex-direction:column;gap:var(--sp-xs);
  margin-bottom:var(--sp-xl)
}
.cta-section__benefit{
  display:flex;align-items:flex-start;gap:var(--sp-xs);
  font-size:var(--fs-sm);color:var(--clr-text-secondary)
}
.cta-section__benefit-icon{
  flex-shrink:0;width:18px;height:18px;
  display:flex;align-items:center;justify-content:center;
  color:var(--clr-accent-text);font-size:0.7rem;margin-top:2px
}
.cta-section__contacts{
  display:flex;flex-wrap:wrap;gap:var(--sp-md);
  margin-bottom:var(--sp-xl)
}
.cta-section__contact-link{
  display:inline-flex;align-items:center;gap:var(--sp-2xs);
  font-size:var(--fs-sm);color:var(--clr-text-secondary);
  transition:color var(--transition-fast)
}
.cta-section__contact-link:hover{color:var(--clr-accent-text)}

/* Contact Form */
.contact-form{
  background:var(--clr-bg);
  border:1px solid var(--clr-border);
  padding:var(--sp-xl)
}
.contact-form__group{margin-bottom:var(--sp-sm)}
.contact-form__input,
.contact-form__textarea{
  width:100%;
  padding:0.875rem 0;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--clr-border);
  font-size:var(--fs-sm);
  color:var(--clr-text-primary);
  transition:border-color var(--transition-fast)
}
.contact-form__input::placeholder,
.contact-form__textarea::placeholder{color:var(--clr-text-muted)}
.contact-form__input:focus,
.contact-form__textarea:focus{border-bottom-color:var(--clr-accent-text)}
.contact-form__textarea{min-height:90px;resize:vertical}
.contact-form__submit{
  width:100%;padding:0.875rem;
  background:var(--clr-accent-text);
  color:var(--clr-text-inverse);
  font-weight:var(--fw-medium);font-size:var(--fs-sm);
  cursor:pointer;
  transition:background var(--transition-base)
}
.contact-form__submit:hover{background:var(--clr-accent-hover)}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{
  background:var(--clr-bg-alt);
  border-top:1px solid var(--clr-border);
  padding:var(--sp-2xl) 0 var(--sp-lg)
}
.footer__grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:var(--sp-xl);
  margin-bottom:var(--sp-xl)
}
.footer__brand-text{
  font-size:var(--fs-sm);color:var(--clr-text-secondary);
  line-height:var(--lh-relaxed);margin-top:var(--sp-sm);
  max-width:320px
}
.footer__heading{
  font-family:var(--ff-heading);
  font-size:var(--fs-xs);font-weight:var(--fw-medium);
  color:var(--clr-text-primary);margin-bottom:var(--sp-sm);
  text-transform:uppercase;letter-spacing:0.08em
}
.footer__links{display:flex;flex-direction:column;gap:var(--sp-2xs)}
.footer__links a{
  font-size:var(--fs-sm);color:var(--clr-text-secondary);
  transition:color var(--transition-fast)
}
.footer__links a:hover{color:var(--clr-accent-text)}

.footer__contact-item{
  display:flex;align-items:center;gap:var(--sp-2xs);
  font-size:var(--fs-sm);color:var(--clr-text-secondary);
  margin-bottom:var(--sp-2xs)
}
.footer__contact-icon{width:16px;height:16px;color:var(--clr-text-muted)}

.footer__bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:var(--sp-lg);
  border-top:1px solid var(--clr-border);
  font-size:var(--fs-xs);color:var(--clr-text-muted)
}

/* ============================================================
   SCROLL-TO-TOP
   ============================================================ */
.scroll-top{
  position:fixed;bottom:var(--sp-lg);right:var(--sp-lg);
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:var(--clr-dark);color:var(--clr-text-inverse);
  font-size:var(--fs-lg);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all var(--transition-base);
  z-index:100;cursor:pointer
}
.scroll-top--visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{background:var(--clr-accent-text)}

/* ============================================================
   SCROLL REVEAL ANIMATIONS
   ============================================================ */
.reveal{
  opacity:0;transform:translateY(20px);
  transition:opacity 0.6s ease-out,transform 0.6s ease-out
}
.reveal--visible{opacity:1;transform:translateY(0)}

.reveal-stagger>*{
  opacity:0;transform:translateY(12px);
  transition:opacity 0.4s ease-out,transform 0.4s ease-out
}
.reveal-stagger--visible>*:nth-child(1){transition-delay:0.03s}
.reveal-stagger--visible>*:nth-child(2){transition-delay:0.06s}
.reveal-stagger--visible>*:nth-child(3){transition-delay:0.09s}
.reveal-stagger--visible>*:nth-child(4){transition-delay:0.12s}
.reveal-stagger--visible>*:nth-child(5){transition-delay:0.15s}
.reveal-stagger--visible>*:nth-child(6){transition-delay:0.18s}
.reveal-stagger--visible>*{opacity:1;transform:translateY(0)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  :root{--sp-3xl:4rem;--sp-2xl:3rem}
  .features-grid,
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid[style*="repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr)!important}
  .footer__grid{grid-template-columns:1fr 1fr}
  .cta-section__grid{grid-template-columns:1fr;gap:var(--sp-xl)}
  .hero__stats{gap:var(--sp-lg)}
  .features-stats{flex-direction:column;text-align:left}
  .features-stats__image{width:100%;max-width:400px;height:auto}
}

@media(max-width:768px){
  :root{--header-height:64px;--sp-3xl:3rem}

  .header__nav{display:none}
  .header__mobile-toggle{display:flex}
  .header__mobile-menu{display:flex}
  .header__lang-switch{display:none}
  .header__cta{display:none}

  .hero{
    min-height:auto;
    padding:calc(var(--header-height) + var(--sp-xl)) 0 var(--sp-xl);
    text-align:left
  }
  .hero__content{max-width:100%}
  .hero__title{font-size:clamp(2rem,7vw,2.8rem)}
  .hero__description{max-width:100%;font-size:var(--fs-base)}
  .hero__actions{flex-direction:column;width:100%}
  .hero__actions .btn{width:100%;justify-content:center}
  .hero__stats{justify-content:flex-start;flex-wrap:wrap;gap:var(--sp-md)}
  .hero__stat-value{font-size:var(--fs-2xl)}

  .features-grid,
  .services-grid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:var(--sp-lg)}
  .footer__bottom{flex-direction:column;gap:var(--sp-2xs);text-align:left}

  .section__header{margin-bottom:var(--sp-xl)}
  .section__title{font-size:var(--fs-2xl)}

  .cta-section__contacts{flex-direction:column;gap:var(--sp-xs)}
  .cta-section__content{text-align:left;max-width:100%}
  .cta-section__benefits{max-width:100%;margin:0 0 var(--sp-xl)}
  .cta-section__contacts{align-items:flex-start}

  .container{padding:0 var(--sp-md)}
}

@media(max-width:480px){
  :root{--sp-lg:1.5rem;--sp-xl:2rem;--sp-2xl:2.5rem}
  .container{padding:0 var(--sp-sm)}
  .hero__stats{flex-direction:column;align-items:flex-start}
  .features-stats__big-number{font-size:var(--fs-2xl)}
}

@media print{
  .site-header,.scroll-top,.hero__bg{display:none}
  body{background:white;color:black}
}
