/* ==========================================================
   KIRTI & COMPANY — CORE STYLESHEET
   Design tokens: Ink Navy / Foil Gold / Precision Cyan / Paper
   Type: Space Grotesk (display) + Inter (body) + IBM Plex Mono (labels)
========================================================== */

:root{
  /* ---- Color tokens (v3 — brand blue / red) ---- */
  --kir-navy:        #0066B3;   /* primary brand blue — the ONLY brand hue used */
  --kir-navy-2:      #004E8C;   /* primary, darker shade — hover states, accents on light bg */
  --kir-navy-light:  #6FAEE0;   /* primary, lighter tint — accents on dark surfaces (footer) */
  --kir-white:       #ffffff;
  --kir-paper:     #FCFBF9;   /* base site background — near white, warm */
  --kir-paper-2:   #F4F2EC;   /* tinted section background, still light */
  --kir-paper-3:   #EFEDE5;   /* card/inset background on tinted sections */
  --kir-ink:       #14161C;   /* body text */
  --kir-ink-soft:  #565b66;
  --kir-line:      #E7E3D8;   /* hairline borders */

  /* ---- Type tokens (Open Sans throughout) ---- */
  --kir-font-display: 'Open Sans', sans-serif;
  --kir-font-body: 'Open Sans', sans-serif;
  --kir-font-mono: 'IBM Plex Mono', monospace;

  /* ---- Radius / shadow tokens ---- */
  --kir-radius: 14px;
  --kir-radius-lg: 22px;
  --kir-shadow-sm: 0 4px 18px rgba(0,102,179,0.08);
  --kir-shadow-md: 0 14px 40px rgba(0,102,179,0.12);
  --kir-shadow-lg: 0 24px 60px rgba(0,102,179,0.18);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  font-family: var(--kir-font-body);
  color: var(--kir-ink);
  background: var(--kir-paper);
  line-height: 1.65;
  overflow-x: hidden;
}

h1,h2,h3,h4,h5,h6{ font-family: var(--kir-font-display); font-weight:700; color: var(--kir-navy); margin:0; letter-spacing:-.01em; }
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; display:block; }

::selection{ background: var(--kir-navy); color: var(--kir-white); }

/* focus visibility (accessibility) */
a:focus-visible, button:focus-visible, input:focus-visible{
  outline: 2px solid var(--kir-navy-2);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior:auto !important; }
}

.kir-radius-lg{ border-radius: var(--kir-radius-lg); overflow:hidden; }

/* ==========================================================
   PRELOADER
========================================================== */
.kir-preloader{
  position:fixed; inset:0; z-index:9999; background:var(--kir-navy);
  display:flex; align-items:center; justify-content:center;
  transition: opacity .6s ease, visibility .6s ease;
}
.kir-preloader.kir-hide{ opacity:0; visibility:hidden; }
.kir-preloader-mark{
  font-family: var(--kir-font-display); font-size:2rem; letter-spacing:.15em; color:var(--kir-white);
  animation: kirPulse 1.2s ease-in-out infinite;
}
@keyframes kirPulse{ 0%,100%{ opacity:.4; transform:scale(.94);} 50%{ opacity:1; transform:scale(1);} }

/* ==========================================================
   HEADER / TOPBAR / NAV
========================================================== */
.kir-topbar{
  background: #c51b21;
  border-bottom: 1px solid var(--kir-line);
  color: var(--kir-ink-soft);
  font-family: var(--kir-font-mono);
  font-size: .78rem;
  letter-spacing: .02em;
}
.kir-topbar-inner{ display:flex; justify-content:space-between; align-items:center; padding: 7px 0; }
.kir-topbar-left span{ margin-right: 1.6rem; color: #fff; }
.kir-topbar-left i{ color: #fff; margin-right:.35rem; }
.kir-topbar-right a{ color: #fff; margin-left: .9rem; transition: color .2s; }
.kir-topbar-right a:hover{ color: var(--kir-navy-2); }

.kir-header{
  position: sticky; top:0; z-index: 1000;
}
.kir-navbar{
  background: transparent;
  padding: 18px 0;
  transition: background .35s ease, box-shadow .35s ease, padding .35s ease;
}
.kir-header.kir-scrolled .kir-navbar{
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(10px);
  box-shadow: var(--kir-shadow-sm);
  padding: 10px 0;
  border-bottom: 1px solid transparent;
}
.kir-header.kir-scrolled .kir-topbar{ display:none; }

.kir-brand{ display:flex; align-items:center; gap:.7rem; }
.kir-brand-mark{
  font-family: var(--kir-font-display); font-weight:700; font-size:1.35rem;
  color: var(--kir-white);
  width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: var(--kir-navy);
  border: 1px solid rgba(255,255,255,.4);
  flex-shrink:0;
}
.kir-brand-mark span{ color: var(--kir-white); opacity:.7; }
.kir-brand-text{
  font-family: var(--kir-font-display); font-weight:700; font-size:1.15rem; color: var(--kir-navy);
  display:flex; flex-direction:column; line-height:1.15;
}
.kir-brand-text small{ font-family: var(--kir-font-mono); font-size:.62rem; letter-spacing:.14em; color: var(--kir-navy-2); text-transform:uppercase; font-weight:400;}

.kir-toggler{ border:none; padding:6px; }
.kir-toggler:focus{ box-shadow:none; }
.kir-toggler-bar{
  display:block; width:24px; height:2px; margin:5px 0; background: var(--kir-navy);
}

.kir-nav .nav-link{
  font-family: var(--kir-font-display); font-weight:600; font-size:.95rem;
  color: var(--kir-navy); padding: .55rem 1rem !important; position:relative;
  transition: color .3s ease;
}
.kir-nav .nav-link:hover, .kir-nav .nav-link.active{ color: var(--kir-navy-2); }

.kir-dropdown-menu{
  border:none; border-radius: var(--kir-radius); box-shadow: var(--kir-shadow-md);
  padding:.6rem; margin-top:.5rem !important; min-width:270px;
}
.kir-dropdown-menu .dropdown-item{
  font-family: var(--kir-font-body); font-size:.92rem; padding:.6rem .8rem; border-radius:8px; color: var(--kir-navy);
}
.kir-dropdown-menu .dropdown-item:hover{ background: var(--kir-paper); color: var(--kir-navy-2); }

/* second-level submenu (desktop hover, mobile click via JS) */
.kir-submenu{ position:relative; }
.kir-submenu > .kir-dropdown-menu{ display:none; position:absolute; top:0; left:100%; margin-top:0 !important; }
.kir-submenu.show > .kir-dropdown-menu{ display:block; }

/* ==========================================================
   HERO
========================================================== */
.kir-hero{
  position:relative; min-height:100vh; display:flex; align-items:center;
  background: radial-gradient(120% 120% at 15% 0%, #ffffff 0%, var(--kir-paper) 45%, var(--kir-paper-2) 100%);
  overflow:hidden;
  border-bottom: 1px solid var(--kir-line);
}
.kir-hero-video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
}
.kir-hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(252,251,249,.86) 0%, rgba(252,251,249,.72) 38%, rgba(252,251,249,.92) 100%);
  pointer-events:none;
}
.kir-hero-content{ position:relative; z-index:2; padding-top: 90px; }
.kir-hero-tag{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family: var(--kir-font-mono); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  color: var(--kir-navy-2); background:#fff; border:1px solid var(--kir-line); border-radius:40px; padding:.45rem 1rem;
  margin-bottom:1.6rem; box-shadow: var(--kir-shadow-sm);
}
.kir-hero-tag i{ color: var(--kir-navy-2); }
.kir-hero-title{
  font-size: clamp(2.5rem, 6vw, 4.6rem); color: var(--kir-navy); font-weight:800; letter-spacing:-.02em; line-height:1.05;
  margin-bottom:1.4rem;
}
.kir-hero-title span{ color: var(--kir-navy-2); font-style:italic; }
.kir-hero-sub{
  font-size: clamp(1rem, 1.6vw, 1.2rem); color: var(--kir-ink-soft); max-width:620px; margin-bottom:2.2rem;
}
.kir-hero-cta{ display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:3.5rem; }
.kir-hero-stats{ display:flex; gap:2.6rem; flex-wrap:wrap; }
.kir-hero-stats div{ display:flex; flex-direction:column; }
.kir-hero-stats strong{ font-family: var(--kir-font-display); font-size:2rem; color: var(--kir-navy); }
.kir-hero-stats span{ font-family: var(--kir-font-mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color: var(--kir-ink-soft); }

.kir-scroll-indicator{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  font-family: var(--kir-font-mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase;
  color: var(--kir-ink-soft);
}
.kir-scroll-line{ width:1px; height:34px; background: linear-gradient(180deg, var(--kir-navy-2), transparent); animation: kirScroll 1.8s ease-in-out infinite; }
@keyframes kirScroll{ 0%{ transform:scaleY(.4); transform-origin:top;} 50%{ transform:scaleY(1); transform-origin:top;} 100%{ transform:scaleY(.4); transform-origin:bottom;} }

/* ==========================================================
   BUTTONS
========================================================== */
.kir-btn{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family: var(--kir-font-display); font-weight:600; font-size:.92rem;
  padding: .85rem 1.6rem; border-radius: 40px; border:1px solid transparent;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  white-space:nowrap;
}
.kir-btn:hover{ transform: translateY(-2px); }
.kir-btn-sm{ padding:.6rem 1.1rem; font-size:.82rem; }
.kir-btn-primary{ background: var(--kir-navy); color: var(--kir-white); box-shadow: var(--kir-shadow-sm); }
.kir-btn-primary:hover{ background: var(--kir-navy-2); box-shadow: var(--kir-shadow-md); color: var(--kir-white); }
.kir-btn-outline-light{ border-color: rgba(10,27,61,.25); color: var(--kir-navy); }
.kir-btn-outline-light:hover{ background: var(--kir-navy); color:#fff; border-color: var(--kir-navy); }
.kir-btn-dark{ background: var(--kir-navy); color:#fff; }
.kir-btn-dark:hover{ background: var(--kir-navy-2); color:#fff; }
.kir-btn-light{ background:#fff; color: var(--kir-navy); }
.kir-btn-light:hover{ color: var(--kir-navy); }

/* ==========================================================
   SECTION SCAFFOLDING
========================================================== */
.kir-section{ padding: 6.5rem 0; }
.kir-section-tint{ background: var(--kir-paper-2); }
.kir-section-dark{ background: var(--kir-paper-2); border-top:1px solid var(--kir-line); border-bottom:1px solid var(--kir-line); }
.kir-section-navy{ background: var(--kir-white); }

.kir-eyebrow{
  display:flex; align-items:center; gap:.5rem;
  font-family: var(--kir-font-mono); font-size:.75rem; letter-spacing:.14em; text-transform:uppercase;
  color: var(--kir-navy-2); margin-bottom:.9rem;
}
.kir-eyebrow::before{ content:''; width:22px; height:1px; background: var(--kir-navy-2); }
.kir-eyebrow-light{ color: var(--kir-navy-2); }

.kir-h2{ font-size: clamp(1.8rem, 3.2vw, 2.6rem); margin-bottom:1rem; line-height:1.2; }
.kir-h2-light{ color: var(--kir-navy); }
.kir-h3{ font-size:1.5rem; margin-bottom:.6rem; }
.kir-p{ color: var(--kir-ink-soft); font-size:1rem; }
.kir-lead-p{ font-size:1.08rem; max-width:640px; }
.kir-section-head{ margin-bottom: 3rem; }

.kir-about-points{ margin-top:1.6rem; font-family:var(--kir-font-body); font-weight:500; color:var(--kir-navy); font-size:.95rem; }
.kir-about-points i{ color: var(--kir-navy-2); margin-right:.5rem; }

.kir-about-media{ position:relative; }
.kir-about-badge{
  position:absolute; bottom:-24px; left:-24px; background:#fff; border-radius: var(--kir-radius);
  box-shadow: var(--kir-shadow-md); padding: 1.1rem 1.4rem; display:flex; align-items:center; gap:.9rem;
  max-width: 260px;
}
.kir-about-badge i{ font-size:1.6rem; color: var(--kir-navy-2); }
.kir-about-badge strong{ display:block; font-family:var(--kir-font-display); color:var(--kir-navy); }
.kir-about-badge span{ font-size:.8rem; color: var(--kir-ink-soft); }

.kir-inline-stat{
  margin-top:1.6rem; display:flex; align-items:center; gap:.9rem;
  background:#fff; border:1px solid var(--kir-line); border-radius: var(--kir-radius); padding:1rem 1.2rem;
  font-weight:500; color: var(--kir-navy);
}
.kir-inline-stat i{ font-size:1.4rem; color: var(--kir-navy-2); }

/* ==========================================================
   PRODUCT CARDS
========================================================== */
.kir-card{
  position:relative; background:#fff; border-radius: var(--kir-radius-lg); overflow:hidden;
  box-shadow: var(--kir-shadow-sm); height:100%; display:flex; flex-direction:column;
  transition: transform .35s ease, box-shadow .35s ease;
  border: 1px solid var(--kir-line);
}
.kir-card:hover{ transform: translateY(-8px); box-shadow: var(--kir-shadow-lg); }
.kir-card-notch{
  position:absolute; top:0; right:22px; width:26px; height:26px; background: var(--kir-paper);
  border-radius:0 0 50% 50%; z-index:2;
}
.kir-card-img{ height:190px; overflow:hidden; }
.kir-card-img img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.kir-card:hover .kir-card-img img{ transform: scale(1.08); }
.kir-card-body{ padding: 1.6rem; flex:1; display:flex; flex-direction:column; }
.kir-card-tag{ font-family: var(--kir-font-mono); font-size:.72rem; color: var(--kir-navy-2); letter-spacing:.1em; }
.kir-card-body h3{ font-size:1.15rem; margin: .5rem 0 .7rem; }
.kir-card-body p{ color: var(--kir-ink-soft); font-size:.9rem; flex:1; }
.kir-card-link{
  margin-top:1rem; display:inline-flex; align-items:center; gap:.4rem; font-weight:600; font-size:.88rem;
  color: var(--kir-navy-2); transition: gap .25s ease, color .25s ease;
}
.kir-card-link:hover{ gap:.7rem; color: var(--kir-navy-2); }

/* ==========================================================
   ICON CARDS (Why Choose Us)
========================================================== */
.kir-icon-card{
  background: #fff; border:1px solid var(--kir-line); border-radius: var(--kir-radius);
  padding: 1.8rem 1.4rem; height:100%; box-shadow: var(--kir-shadow-sm);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.kir-icon-card:hover{ transform: translateY(-6px); box-shadow: var(--kir-shadow-md); border-color: rgba(0,102,179,.4); }
.kir-icon-card i{ font-size:1.8rem; color: var(--kir-navy-2); margin-bottom: 1rem; display:block; }
.kir-icon-card h4{ color: var(--kir-navy); font-size:1.02rem; margin-bottom:.5rem; }
.kir-icon-card p{ color: var(--kir-ink-soft); font-size:.86rem; margin:0; }
.kir-icon-card-cta{ background: linear-gradient(135deg, rgba(0,102,179,.08), rgba(0,78,140,.06)); border-color: rgba(0,102,179,.35); }
.kir-icon-card-cta a{ display:inline-block; margin-top:.7rem; font-size:.85rem; font-weight:600; color: var(--kir-navy-2); border-bottom:1px solid var(--kir-navy-2); }

/* ==========================================================
   INDUSTRIES
========================================================== */
.kir-industry{
  background:#fff; border:1px solid var(--kir-line); border-radius: var(--kir-radius);
  padding: 1.6rem 1rem; text-align:center; transition: transform .3s ease, box-shadow .3s ease;
}
.kir-industry:hover{ transform: translateY(-6px); box-shadow: var(--kir-shadow-sm); }
.kir-industry i{ font-size:1.7rem; color: var(--kir-navy-2); display:block; margin-bottom:.7rem; }
.kir-industry span{ font-weight:600; font-size:.88rem; color: var(--kir-navy); }

/* ==========================================================
   TIMELINE (Manufacturing Process)
========================================================== */
.kir-timeline{ display:flex; flex-wrap:wrap; gap:1.5rem; position:relative; }
.kir-timeline::before{
  content:''; position:absolute; top:26px; left:0; right:0; height:1px;
  background: repeating-linear-gradient(90deg, var(--kir-line) 0 8px, transparent 8px 16px);
  z-index:0; display:none;
}
.kir-timeline-item{
  flex:1 1 190px; background:#fff; border:1px solid var(--kir-line); border-radius: var(--kir-radius);
  padding: 1.6rem 1.3rem; position:relative; z-index:1;
}
.kir-timeline-dot{
  width:46px; height:46px; border-radius:50%; background: var(--kir-navy); color: var(--kir-white);
  display:flex; align-items:center; justify-content:center; font-family:var(--kir-font-mono); font-size:.85rem;
  margin-bottom:1rem;
}
.kir-timeline-item h4{ font-size:1rem; margin-bottom:.5rem; }
.kir-timeline-item p{ font-size:.86rem; color: var(--kir-ink-soft); margin:0; }

/* ==========================================================
   CLIENT LOGO CAROUSEL (auto-scrolling marquee)
========================================================== */
.kir-clients-section{ padding-bottom:4rem; }
.kir-clients-track-wrap{ overflow:hidden; border-top:1px solid var(--kir-line); border-bottom:1px solid var(--kir-line); padding: 2rem 0; }
.kir-clients-track{ display:flex; gap:4rem; width:max-content; animation: kirMarquee 26s linear infinite; }
.kir-clients-track span{
  font-family: var(--kir-font-display); font-weight:600; font-size:1.4rem; color: var(--kir-ink-soft); opacity:.7;
  white-space:nowrap;
}
@keyframes kirMarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.kir-clients-track-wrap:hover .kir-clients-track{ animation-play-state: paused; }

/* ==========================================================
   MANUFACTURING UNITS MAP
========================================================== */
.kir-map-wrap{ display:flex; justify-content:center; }
.kir-map-svg{ width:100%; max-width:340px; height:auto; }
.kir-map-outline{ fill: rgba(0,78,140,.05); stroke: var(--kir-navy-2); stroke-width:1.4; }
.kir-map-pin{ cursor:pointer; }
.kir-pin-dot{ fill: var(--kir-navy); }
.kir-pin-pulse{ fill: rgba(0,102,179,.25); animation: kirPinPulse 2.4s ease-out infinite; }
@keyframes kirPinPulse{ 0%{ r:6; opacity:.9;} 100%{ r:20; opacity:0;} }

.kir-unit-list{ display:flex; flex-direction:column; gap:1.1rem; }
.kir-unit-item{
  display:flex; align-items:center; gap:1.1rem; background: #fff;
  border:1px solid var(--kir-line); border-radius: var(--kir-radius); padding:1.1rem 1.3rem;
  box-shadow: var(--kir-shadow-sm);
  transition: border-color .3s ease, box-shadow .3s ease;
}
.kir-unit-item:hover{ border-color: rgba(0,102,179,.5); box-shadow: var(--kir-shadow-md); }
.kir-unit-index{ font-family: var(--kir-font-mono); color: var(--kir-navy-2); font-size:1.1rem; flex-shrink:0; }
.kir-unit-item h4{ color: var(--kir-navy); font-size:1.02rem; margin-bottom:.15rem; }
.kir-unit-item p{ color: var(--kir-ink-soft); font-size:.85rem; margin:0; }

/* ==========================================================
   ASSOCIATE PARTNER
========================================================== */
.kir-partner-card{
  background:#fff; border:1px solid var(--kir-line); border-radius: var(--kir-radius-lg);
  padding: 2.6rem; box-shadow: var(--kir-shadow-sm);
}
.kir-partner-point{
  display:flex; align-items:center; gap:.7rem; font-weight:500; color: var(--kir-navy); font-size:.92rem;
  background: var(--kir-paper); border-radius:10px; padding:.8rem 1rem;
}
.kir-partner-point i{ color: var(--kir-navy-2); }

/* ==========================================================
   CTA STRIP
========================================================== */
.kir-cta-strip{
  background: var(--kir-paper-2);
  border-top:1px solid var(--kir-line); border-bottom:1px solid var(--kir-line);
  padding: 4.5rem 0; text-align:center;
}
.kir-cta-strip h2{ color: var(--kir-navy); font-size: clamp(1.7rem,3vw,2.3rem); margin-bottom:.8rem; }
.kir-cta-strip p{ color: var(--kir-ink-soft); margin-bottom:1.8rem; }

/* ==========================================================
   FOOTER
========================================================== */
.kir-footer{ background: #051D33; color: rgba(255,255,255,.75); padding: 5rem 0 0; }
.kir-footer-brand{ margin-bottom:1.2rem; }
.kir-footer-text{ color: rgba(255,255,255,.55); font-size:.9rem; }
.kir-footer-social{ display:flex; gap:.8rem; margin-top:1.2rem; }
.kir-footer-social a{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center; transition: background .25s ease, border-color .25s ease;
}
.kir-footer-social a:hover{ background: var(--kir-white); color: var(--kir-navy); border-color: var(--kir-white); }
.kir-footer-head{ font-family: var(--kir-font-display); color:#fff; font-size:1rem; margin-bottom:1.3rem; }
.kir-footer-links{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.75rem; font-size:.88rem; }
.kir-footer-links a{ color: rgba(255,255,255,.65); transition: color .2s ease; }
.kir-footer-links a:hover{ color: var(--kir-navy-light); }
.kir-footer-links i{ color: var(--kir-navy-light); margin-right:.4rem; }
.kir-newsletter{ display:flex; gap:.5rem; margin-bottom:1.3rem; }
.kir-newsletter input{ background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15); color:#fff; border-radius:40px; padding:.6rem 1rem; font-size:.85rem; }
.kir-newsletter input::placeholder{ color: rgba(255,255,255,.4); }
.kir-newsletter .kir-btn{ padding:.6rem 1rem; border-radius:50%; }
.kir-footer-map{ border-radius: var(--kir-radius); overflow:hidden; height:130px; border:1px solid rgba(255,255,255,.12); }
.kir-footer-map iframe{ width:100%; height:100%; border:0; filter: grayscale(.3) invert(.92) contrast(.9); }
.kir-footer-bottom{
  border-top:1px solid rgba(255,255,255,.1); margin-top:3.5rem; padding: 1.4rem 0;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; font-size:.8rem; color: rgba(255,255,255,.45);
}
.kir-footer-bottom a{ color: rgba(255,255,255,.7); }

/* ==========================================================
   FLOATING BUTTONS
========================================================== */
.kir-float-stack{
  position:fixed; right:22px; bottom:26px; z-index: 900;
  display:flex; flex-direction:column; gap:.7rem;
}
.kir-float-btn{
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:#fff; box-shadow: var(--kir-shadow-md); transition: transform .25s ease;
}
.kir-float-btn:hover{ transform: scale(1.08); color:#fff; }
.kir-float-whatsapp{ background:#25D366; }
.kir-float-call{ background: var(--kir-navy-2); }
.kir-float-email{ background: var(--kir-navy); }

.kir-back-to-top{
  position:fixed; left:22px; bottom:26px; z-index:900;
  width:46px; height:46px; border-radius:50%; border:none; background: var(--kir-navy); color:#fff;
  display:flex; align-items:center; justify-content:center; box-shadow: var(--kir-shadow-md);
  opacity:0; visibility:hidden; transform: translateY(10px);
  transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
}
.kir-back-to-top.kir-visible{ opacity:1; visibility:visible; transform:translateY(0); }

/* ==========================================================
   SCROLL REVEAL
========================================================== */
[data-kir-reveal]{ opacity:0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
[data-kir-reveal].kir-in-view{ opacity:1; transform: translateY(0); }
