/* ==========================================================================
   Design-System • Гласморфизм  + Асимметричный баланс  + Аналоговая палитра
   Совместимо с Bootstrap 5
   ========================================================================== */

/* ---------- 1. CSS-переменные темы ---------- */
:root{
  /* Аналоговая цветовая схема (бирюза → индиго) */
  --clr-primary-500: hsl(190, 95%, 45%);
  --clr-primary-400: hsl(190, 90%, 55%);
  --clr-primary-300: hsl(190, 90%, 65%);
  --clr-primary-200: hsl(190, 90%, 75%);
  --clr-primary-100: hsl(190, 90%, 92%);

  --clr-accent-500: hsl(170, 88%, 38%);
  --clr-accent-400: hsl(170, 88%, 48%);
  --clr-accent-300: hsl(170, 88%, 58%);

  --clr-neutral-900: #0d0d0e;
  --clr-neutral-700: #2c2c2e;
  --clr-neutral-500: #6d6d72;
  --clr-neutral-100: #f4f4f5;

  /* Градиенты */
  --gradient-primary: linear-gradient(135deg, var(--clr-primary-500), var(--clr-accent-500));
  --gradient-glass: linear-gradient(135deg, rgba(255,255,255,.20), rgba(255,255,255,.05));

  /* Shadow / Blur */
  --shadow-xl: 0 8px 32px rgba(0,0,0,.25);
  --blur-glass: blur(14px);

  /* Шрифт */
  --font-heading: 'Montserrat', sans-serif;
  --font-body: 'Merriweather', serif;

  /* Радиусы */
  --radius-sm: 8px;
  --radius-md: 16px;
}

/* ---------- 2. Базовая типографика ---------- */
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--clr-neutral-900);
  background:var(--clr-primary-100);
  line-height:1.6;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading);
  color:var(--clr-neutral-900);
  font-weight:700;
  line-height:1.3;
}
.section-title{
  font-size:clamp(1.8rem,4vw,2.5rem);
  margin-bottom:1.25rem;
}

/* ---------- 3. Глобальные кнопки ---------- */
.btn, button, input[type='submit']{
  font-family:var(--font-heading);
  border:none;
  outline:none;
  border-radius:var(--radius-sm);
  padding:.65rem 1.75rem;
  background:var(--gradient-primary);
  color:#fff !important;
  box-shadow:0 4px 12px rgba(0,0,0,.18);
  transition:transform .35s cubic-bezier(.45,1.4,.58,.99), box-shadow .35s;
}
.btn:hover, button:hover, input[type='submit']:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}
.btn:active{
  transform:translateY(0) scale(.98);
}

/* ---------- 4. Гласморфизм ---------- */
.glass{
  background:var(--gradient-glass);
  backdrop-filter:var(--blur-glass);
  -webkit-backdrop-filter:var(--blur-glass);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-xl);
}

/* ---------- 5. Hero ---------- */
#hero{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  min-height:100vh;
  background:
    linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
    url('image/edificio_consultoria_panoramico.jpg') center/cover no-repeat;
  overflow:hidden;
}
#hero .container{z-index:2;}
#hero::before{
  /* Асимметрия: диагональный декоративный блок */
  content:'';
  position:absolute;
  top:-10%;
  right:-20%;
  width:60vw;
  height:120vh;
  background:var(--gradient-primary);
  clip-path:polygon(15% 0,100% 0,85% 100%,0 100%);
  opacity:.15;
  animation:drift 18s linear infinite;
}

/* ---------- 6. Навигационная панель ---------- */
.navbar{
  backdrop-filter:blur(10px);
  background:rgba(255,255,255,.50);
}
.navbar-brand{font-weight:700;}
.navbar .nav-link{
  font-family:var(--font-heading);
  font-weight:500;
  transition:color .3s;
}
.navbar .nav-link:hover{color:var(--clr-accent-400);}

/* ---------- 7. Общие секции ---------- */
section{padding:4rem 0;}
.parallax-bg{
  position:absolute;inset:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  z-index:-1;
  transform:translateZ(0);
  will-change:transform;
}

/* ---------- 8. Карточки, галереи, новости ---------- */
.card, .item, .testimonial, .team-member, .product-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  background:#fff;
  border:none;
  border-radius:var(--radius-sm);
  overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.10);
  transition:transform .35s cubic-bezier(.45,1.4,.58,.99);
}
.card:hover,
.item:hover,
.testimonial:hover,
.team-member:hover,
.product-card:hover{
  transform:translateY(-6px);
}
.card-image, .item-image, .profile-image{
  width:100%;
  height:260px;                /* FIXED HEIGHT */
  overflow:hidden;
  position:relative;
}
.card-image img,
.item-image img,
.profile-image img{
  width:100%;
  height:100%;
  object-fit:cover;            /* STRICT */
  margin:0 auto;
  display:block;
}

/* ---------- 9. Контакт ---------- */
#contact form .form-control{
  background:rgba(255,255,255,.75);
  border:1px solid rgba(0,0,0,.1);
  border-radius:var(--radius-sm);
  transition:border-color .3s, box-shadow .3s;
}
#contact form .form-control:focus{
  border-color:var(--clr-accent-400);
  box-shadow:0 0 0 .25rem rgba(0,153,153,.25);
}

/* ---------- 10. Footer ---------- */
footer{
  background:rgba(255,255,255,.75);
  backdrop-filter:blur(8px);
  font-size:.9rem;
}
footer a{
  color:var(--clr-neutral-700);
  margin-right:1rem;
  transition:color .3s;
}
footer a:hover{color:var(--clr-accent-400);}
.social-link{
  font-weight:600;
  letter-spacing:.3px;
}

/* ---------- 11. Ссылки "Читать далее" ---------- */
.read-more{
  font-family:var(--font-heading);
  font-weight:600;
  color:var(--clr-accent-400);
  position:relative;
  transition:color .3s;
}
.read-more::after{
  content:'';
  position:absolute;
  left:0;bottom:-4px;
  width:100%;height:2px;
  background:var(--clr-accent-400);
  transform:scaleX(.2);
  transform-origin:left;
  transition:transform .4s cubic-bezier(.45,1.4,.58,.99);
}
.read-more:hover{color:var(--clr-accent-500);}
.read-more:hover::after{transform:scaleX(1);}

/* ---------- 12. Параллакс-эффект ---------- */
[data-parallax]{background-attachment:fixed;}

/* ---------- 13. Анимации (нелинейные) ---------- */
@keyframes float{
  0%   {transform:translateY(0);}
  50%  {transform:translateY(-12px);}
  100% {transform:translateY(0);}
}
@keyframes drift{from{background-position:0 0;}to{background-position:-1000px 0;}}
.animate-float{animation:float 6s cubic-bezier(.45,1.4,.58,.99) infinite;}

/* ---------- 14. Утилитарные классы ---------- */
.center-xy{
  display:flex;
  justify-content:center;
  align-items:center;
}
.has-top-padding{padding-top:100px;}         /* pages privacy / terms */
.page-success{
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.text-shadow{
  text-shadow:0 2px 6px rgba(0,0,0,.4);
}

/* ---------- 15. Обеспечение контрастности текста в секциях с фоном ---------- */
.bg-dark-overlay{
  position:relative;
  color:#fff;
}
.bg-dark-overlay::before{
  content:'';
  position:absolute;inset:0;
  background:rgba(0,0,0,.55);
  z-index:-1;
}

/* ---------- 16. Bootstrap дополнительная коррекция колонок ---------- */
.col-lg-custom{
  flex:0 0 auto;
  width:66.666%;        /* is-two-thirds */
}

/* ---------- 17. Responsive & media ---------- */
@media (max-width: 991.98px){
  #hero{min-height:80vh;}
  .navbar .nav-link{padding:.5rem 1rem;}
}