/* =========================================================
   EAGLE EYE SHOOTING SPORTS ACADEMY — stylesheet
   Design language: the four-ring target from the academy crest
   is used as a recurring structural device (ring-strip dividers,
   color-coded disciplines) rather than as decoration.
   ========================================================= */

:root{
  /* Base */
  --white:        #ffffff;
  --paper:        #f3f4f9;
  --ink:          #14162b;      /* near-black navy for body text */
  --ink-soft:     #565a72;      /* secondary text */
  --line:         #e7e7ee;

  /* Brand navy (from the crest silhouette) */
  --navy:         #262b7c;
  --navy-deep:    #171a52;

  /* Ring colors — used with intent, not as generic accents */
  --ring-gold:    #f8b400;
  --ring-red:     #e6262c;
  --ring-green:   #159a52;
  --ring-blue:    #14a6df;

  --radius-sm: 6px;
  --radius-md: 10px;
  --shadow-1: 0 12px 30px -14px rgba(23,26,82,.28);

  --font-display: 'Oswald', 'Arial Narrow', sans-serif;
  --font-body: 'Work Sans', 'Segoe UI', sans-serif;
}

*{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
  background: var(--white);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
html{ overflow-x: hidden; }

h1,h2,h3,h4,.font-display{
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--navy-deep);
  margin: 0;
}

p{ margin: 0 0 1rem; }
a{ color: var(--navy); text-decoration: none; }
img{ max-width: 100%; display:block; }

.container{ max-width: 1200px; }

.skip-link{
  position:absolute; left:0; top:0; background:var(--navy); color:#fff;
  padding:.6rem 1rem; z-index:2000; border-radius:0 0 6px 0;
  transform: translateY(-100%);
  clip: rect(0 0 0 0); clip-path: inset(50%); overflow:hidden;
  width:1px; height:1px; white-space:nowrap;
}
.skip-link:focus{
  transform: translateY(0);
  clip: auto; clip-path: none; overflow:visible;
  width:auto; height:auto; white-space:normal;
}

/* ---------- Ring strip (structural divider built from the crest rings) ---------- */
.ring-strip{ display:flex; width:100%; height:6px; }
.ring-strip--thin{ height:4px; }
.ring-strip .seg{ flex:1 1 0; }
.seg-gold{ background:var(--ring-gold); }
.seg-red{ background:var(--ring-red); }
.seg-green{ background:var(--ring-green); }
.seg-blue{ background:var(--ring-blue); }

/* ---------- Header ---------- */
.site-header{
  background:var(--white);
  position: sticky; top:0; z-index:1000;
  border-bottom: 1px solid var(--line);
  transition: box-shadow .3s ease, transform .35s ease;
}
.site-header.is-scrolled{ box-shadow: 0 8px 24px -18px rgba(20,22,43,.5); }
.site-header.nav-hidden{ transform: translateY(-100%); }

/* ---------- News ticker ---------- */
.news-ticker{
  background: var(--navy-deep); color:#fff; overflow:hidden; white-space:nowrap;
  display:flex; align-items:center; gap:.9rem; padding-left:1rem;
}
.news-ticker__track{
  display:inline-flex; align-items:center; gap:2.5rem; padding:.55rem 0;
  animation: news-ticker-scroll 26s linear infinite;
}
.news-ticker:hover .news-ticker__track{ animation-play-state: paused; }
.news-ticker__item{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.82rem; letter-spacing:.02em; font-weight:500;
}
.news-ticker__item i{ color:var(--ring-gold); }
@keyframes news-ticker-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

.navbar{ padding: .0rem 0; }
.brand-logo{ width:75px; height:76px; object-fit:contain; border-radius:50%; }
.brand-logo--footer{ width:70px; height:70px; }
.brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.brand-line1{
  font-family: var(--font-display); font-weight:700; font-size:1.85rem;
  color:var(--navy-deep); letter-spacing:.03em;
}
.brand-line2{ font-size:.8rem; color:var(--navy-deep); letter-spacing:.04em; }

.navbar-nav .nav-link{
  color:var(--ink); font-weight:500; padding:.5rem .7rem !important;
  position:relative;
}
.navbar-nav .nav-link::after{
  content:""; position:absolute; left:.9rem; right:.9rem; bottom:.25rem; height:2px;
  background:var(--ring-red); transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after{ transform:scaleX(1); }
.navbar-nav .nav-link.active{ color:var(--navy-deep); font-weight:600; }

.btn-trial{
  background:var(--navy); color:#fff !important; font-weight:600;
  padding:.55rem 1.3rem; border-radius: var(--radius-sm);
  transition: background .2s ease, transform .2s ease;
}
.btn-trial:hover{ background:var(--navy-deep); transform:translateY(-1px); }

.navbar-toggler{ border:none; padding:.4rem; }
.navbar-toggler:focus{ box-shadow:none; }
.toggler-bar{ display:block; width:24px; height:2px; background:var(--navy-deep); margin:5px 0; }

/* ---------- Buttons (shared) ---------- */
.btn-primary-solid{
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--navy); color:#fff; font-weight:600; font-family:var(--font-display);
  letter-spacing:.02em; padding:.85rem 1.7rem; border-radius: var(--radius-sm);
  transition: background .2s ease, transform .2s ease;
}
.btn-primary-solid:hover{ background:var(--navy-deep); color:#fff; transform:translateY(-2px); }

.btn-outline-ghost{
  display:inline-flex; align-items:center; gap:.5rem;
  background:transparent; color:var(--navy-deep); font-weight:600; font-family:var(--font-display);
  letter-spacing:.02em; padding:.85rem 1.7rem; border-radius: var(--radius-sm);
  border:1.5px solid var(--navy-deep);
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.btn-outline-ghost:hover{ background:var(--navy-deep); color:#fff; transform:translateY(-2px); }

/* ---------- Section rhythm ---------- */
section{ padding: 30px 0; border-top: 1px solid var(--line); }
.hero{ border-top:0; }
.section-tight{ padding: 30px 0; }
.section-label{
  font-family:var(--font-display); font-weight:600; font-size:.8rem;
  color:var(--ring-red); letter-spacing:.08em; margin-bottom:.5rem;
}
.section-title{ font-size: clamp(1.7rem, 3.2vw, 2.6rem); margin-bottom:1rem; }
.section-copy{ color:var(--ink-soft); max-width: 62ch; }

/* =========================================================
   HERO — the one orchestrated motion moment on the site:
   crosshair rings converge, then the sight settles on target.
   ========================================================= */
.hero{
  position:relative; overflow:hidden; background:var(--white);
  padding: 3.2rem 0 4rem;
}
.hero-grid{
  display:grid; grid-template-columns: 1.1fr .9fr; gap: 2rem; align-items:center;
}
.hero-kicker{
  font-family:var(--font-display); font-size:.85rem; letter-spacing:.14em;
  color:var(--ring-red); font-weight:600; margin-bottom:1rem;
}
.hero-title{
  font-size: clamp(1.7rem, 3.6vw, 2.8rem); line-height:1.1; margin-bottom:1.25rem;
}
.hero-title .line{ display:block; overflow:hidden; }
.hero-title .line span{
  display:inline-block; transform: translateY(110%);
  animation: lineUp .7s cubic-bezier(.22,.9,.28,1) forwards;
}
.hero-title .line:nth-child(1) span{ animation-delay:.05s; }
.hero-title .line:nth-child(2) span{ animation-delay:.18s; color:var(--navy); }
.hero-title .line:nth-child(3) span{ animation-delay:.31s; }

@keyframes lineUp{ to{ transform:translateY(0); } }

.hero-copy{
  color:var(--ink-soft); font-size:1.05rem; max-width:46ch; margin-bottom:1.75rem;
  opacity:0; animation: fadeIn .6s ease forwards; animation-delay:.55s;
}
.hero-actions{ display:flex; flex-wrap:wrap; gap:1rem; opacity:0; animation: fadeIn .6s ease forwards; animation-delay:.7s; }
@keyframes fadeIn{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }

.hero-stats{
  display:flex; gap:2.2rem; margin-top:2.5rem; flex-wrap:wrap;
  opacity:0; animation: fadeIn .6s ease forwards; animation-delay:.85s;
}
.hero-stats .num{ font-family:var(--font-display); font-size:1.7rem; color:var(--navy-deep); }
.hero-stats .lbl{ font-size:.78rem; color:var(--ink-soft); }

/* Animated hero image slider — crossfades between range/discipline photos,
   each slide slow-zooms (Ken Burns) while active, and the active dot
   below carries the color of the discipline it belongs to. */
.hero-visual{ position:relative; display:flex; align-items:center; justify-content:center; }
.hero-slider-frame{
  position:relative; width:min(100%, 620px); border-radius: 18px; overflow:hidden;
  box-shadow: var(--shadow-1);
}
.hero-slider-frame .carousel-item{ aspect-ratio: 1/1; overflow:hidden; }
.hero-slider-frame .carousel-item img{
  width:100%; height:100%; object-fit:cover;
  transform: scale(1.06); transition: transform 4.5s ease-out;
}
.hero-slider-frame .carousel-item.active img{ transform: scale(1.16); }

.hero-slide-caption{
  position:absolute; left:1rem; bottom:1rem; z-index:2;
  display:inline-flex; align-items:center; gap:.5rem;
  background: rgba(20,22,43,.72); color:#fff; font-family:var(--font-display);
  font-size:.82rem; letter-spacing:.03em; padding:.45rem .9rem .45rem .6rem; border-radius:999px;
}
.hero-slide-caption .dot{ width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.dot-gold{ background:var(--ring-gold); }
.dot-red{ background:var(--ring-red); }
.dot-green{ background:var(--ring-green); }
.dot-blue{ background:var(--ring-blue); }

/* Bottom scrim so captions stay legible over any photo */
.hero-slider-frame .carousel-item::after{
  content:""; position:absolute; inset:auto 0 0 0; height:55%;
  background: linear-gradient(to top, rgba(20,22,43,.55), transparent);
  pointer-events:none;
}

.hero-slider-frame .carousel-control-prev,
.hero-slider-frame .carousel-control-next{ width:15%; opacity:1; }
.hero-slider-arrow{
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.9);
  display:flex; align-items:center; justify-content:center; color:var(--navy-deep);
  box-shadow: 0 6px 16px -8px rgba(20,22,43,.4); transition: background .2s ease;
}
.hero-slider-frame .carousel-control-prev:hover .hero-slider-arrow,
.hero-slider-frame .carousel-control-next:hover .hero-slider-arrow{ background:#fff; }

.hero-slider-dots{ position:absolute; bottom:.75rem; margin:0; gap:.4rem; }
.hero-slider-dots [data-bs-target]{
  width:9px; height:9px; border-radius:50%; opacity:1;
  background:rgba(255,255,255,.55); border:0; margin:0 3px;
}
.hero-slider-dots [data-bs-target].active{ background:#fff; }

@media (max-width: 991.98px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-visual{ order:-1; margin-bottom:2rem; }
  .hero-slider-frame{ max-width:460px; margin:0 auto; }
}

/* ---------- Stats strip ---------- */
.stats-strip{ background:var(--navy-deep); color:#fff; padding: 2.6rem 0; }
.stat-block{ text-align:center; padding: 0 1rem; border-left:3px solid transparent; }
.stat-block:nth-child(1){ border-color: var(--ring-gold); }
.stat-block:nth-child(2){ border-color: var(--ring-red); }
.stat-block:nth-child(3){ border-color: var(--ring-green); }
.stat-block:nth-child(4){ border-color: var(--ring-blue); }
.stat-num{ font-family:var(--font-display); font-size:2.1rem; }
.stat-lbl{ font-size:.82rem; color:#c7c9e6; letter-spacing:.03em; }

/* ---------- About teaser ---------- */
.about-media{ position:relative; }
.about-media img{ border-radius: var(--radius-md); }
.about-media .ring-frame{
  position:absolute; inset:-14px; border:2px dashed var(--line); border-radius: 16px;
  z-index:-1;
}
.about-list{ list-style:none; padding:0; margin: 1.5rem 0; }
.about-list li{ display:flex; gap:.75rem; margin-bottom:.75rem; align-items:flex-start; }
.about-list i{ color:var(--ring-green); font-size:1.1rem; margin-top:.15rem; }

/* ---------- Program cards (color = discipline, not decoration) ---------- */
.program-card{
  background:var(--paper); border-radius: var(--radius-md); padding:1.9rem;
  height:100%; border-top:4px solid var(--navy);
  transition: transform .25s ease, box-shadow .25s ease;
}
.program-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-1); }
.program-card.c-gold{ border-color: var(--ring-gold); }
.program-card.c-red{ border-color: var(--ring-red); }
.program-card.c-green{ border-color: var(--ring-green); }
.program-card.c-blue{ border-color: var(--ring-blue); }
.program-icon{
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--white); box-shadow: 0 6px 16px -8px rgba(20,22,43,.25); margin-bottom:1.1rem; font-size:1.4rem;
}
.c-gold .program-icon{ color:var(--ring-gold); }
.c-red .program-icon{ color:var(--ring-red); }
.c-green .program-icon{ color:var(--ring-green); }
.c-blue .program-icon{ color:var(--ring-blue); }
.program-card h3{ font-size:1.25rem; margin-bottom:.5rem; }
.program-card p{ color:var(--ink-soft); font-size:.95rem; }
.program-meta{ font-size:.8rem; color:var(--navy); font-weight:600; margin-top:.75rem; }

/* ---------- Process / why us ---------- */
.process-illustration{
  border-radius: var(--radius-md); margin-top:1.75rem;
  box-shadow: var(--shadow-1);
}
.process-row{ display:flex; gap:1.5rem; align-items:flex-start; margin-bottom:2.2rem; }
.process-mark{
  font-family:var(--font-display); font-size:2.6rem; color:var(--line); line-height:1; flex-shrink:0; width:60px;
}
.process-row:nth-child(1) .process-mark{ color:var(--ring-gold); }
.process-row:nth-child(2) .process-mark{ color:var(--ring-red); }
.process-row:nth-child(3) .process-mark{ color:var(--ring-green); }
.process-row:nth-child(4) .process-mark{ color:var(--ring-blue); }

/* ---------- Coaches ---------- */
.coach-card{ text-align:center; }
.coach-photo{
  width:100%; aspect-ratio:1/1; border-radius:50%; object-fit:cover; margin-bottom:1rem;
  border: 4px solid var(--paper);
}
.coach-role{ color:var(--ring-red); font-size:.85rem; font-weight:600; letter-spacing:.03em; }

/* ---------- Testimonials ---------- */
.testimonial-card{
  background:var(--paper); border-radius: var(--radius-md); padding:2rem; height:100%;
}
.testimonial-quote{ font-size:1.02rem; color:var(--ink); margin-bottom:1.2rem; }
.testimonial-name{ font-weight:600; font-family:var(--font-display); }
.testimonial-role{ font-size:.8rem; color:var(--ink-soft); }
.stars{ color:var(--ring-gold); margin-bottom:.6rem; letter-spacing:.15em; }

/* ---------- CTA strip ---------- */
.cta-strip{
  background: var(--paper); color:var(--ink); border-radius: var(--radius-md);
  border: 1px solid var(--line);
  padding: 30px; display:flex; flex-wrap:wrap; gap:1.5rem; align-items:center; justify-content:space-between;
}
.cta-strip h3{ color:var(--navy-deep); font-size:1.6rem; max-width:32ch; }
.cta-strip p{ color:var(--ink-soft); margin-bottom:0; }

/* ---------- Reveal-on-scroll (used sparingly: one pass per section) ---------- */
.reveal{ opacity:0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible{ opacity:1; transform:translateY(0); }

/* ---------- Page hero (inner pages) ---------- */
.page-hero{ background: var(--paper); padding: 3.2rem 0 2.6rem; border-bottom:1px solid var(--line); }
.page-hero h1{ font-size: clamp(2rem, 4vw, 2.8rem); }
.breadcrumb-trail{ font-size:.85rem; color:var(--ink-soft); margin-bottom:.6rem; }
.breadcrumb-trail a{ color:var(--ink-soft); }
.breadcrumb-trail a:hover{ color:var(--navy); }

/* ---------- Timeline (About page) ---------- */
.timeline{ position:relative; padding-left: 2.2rem; border-left:2px solid var(--line); }
.timeline-item{ position:relative; padding-bottom:2.2rem; }
.timeline-item::before{
  content:""; position:absolute; left:-2.35rem; top:.25rem; width:12px; height:12px; border-radius:50%;
  background:var(--ring-red); border:3px solid #fff; box-shadow:0 0 0 2px var(--ring-red);
}
.timeline-year{ font-family:var(--font-display); color:var(--navy); font-weight:600; }

/* ---------- Gallery ---------- */
.gallery-item{ position:relative; overflow:hidden; border-radius: var(--radius-sm); aspect-ratio: 4/3; }
.gallery-item img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.gallery-item:hover img{ transform: scale(1.08); }
.gallery-tag{
  position:absolute; left:.7rem; bottom:.7rem; background:rgba(23,26,82,.85); color:#fff;
  font-size:.72rem; padding:.3rem .7rem; border-radius:999px; letter-spacing:.03em;
}

/* ---------- Contact page ---------- */
.contact-card{ background:var(--paper); border-radius: var(--radius-md); padding:2rem; height:100%; }
.contact-info-item{ display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.4rem; }
.contact-info-item i{ font-size:1.3rem; color:var(--ring-red); margin-top:.2rem; }
.form-control, .form-select{
  border-radius: var(--radius-sm); border:1.5px solid var(--line); padding:.7rem .9rem; font-size:.95rem;
}
.form-control:focus, .form-select:focus{
  border-color: var(--navy); box-shadow: 0 0 0 3px rgba(38,43,124,.12);
}
.form-label{ font-weight:600; font-size:.88rem; color:var(--ink); margin-bottom:.35rem; }
.alert-eessa{
  border-radius: var(--radius-sm); padding:1rem 1.2rem; font-size:.92rem; margin-bottom:1.2rem;
}
.alert-eessa.success{ background:#e7f7ee; color:#0d6b38; border:1px solid #b9e6cb; }
.alert-eessa.error{ background:#fdeceb; color:#a3231f; border:1px solid #f3c2bf; }
.map-frame{ border-radius: var(--radius-md); overflow:hidden; border:1px solid var(--line); }
.map-frame iframe{ width:100%; height:340px; border:0; display:block; }
.map-frame--full iframe{ height:460px; }

/* ---------- Achievements ---------- */
.achievement-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-md);
  padding:1.6rem; height:100%;
}
.achievement-top{
  display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem;
}
.achievement-avatar{ position:relative; display:inline-block; flex-shrink:0; }
.achievement-photo{
  width:72px; height:72px; border-radius:50%; object-fit:cover; display:block;
  border:1px solid var(--line);
}
.achievement-medal{
  width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:.85rem; color:#fff; flex-shrink:0;
  position:absolute; top:-6px; right:-8px; border:2px solid #fff;
}
.achievement-medal.gold{ background:#d7a233; }
.achievement-medal.silver{ background:#9aa3ad; }
.achievement-medal.bronze{ background:#b5651d; }
.achievement-year{ font-family:var(--font-display); font-size:.85rem; color:var(--ink-soft); white-space:nowrap; padding-top:.3rem; }
.achievement-card h3{ font-size:1.05rem; margin-bottom:.25rem; }
.achievement-event{ font-size:.85rem; color:var(--ink-soft); margin-bottom:.6rem; }

/* ---------- Press & Media ---------- */
.press-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-md);
  overflow:hidden; height:100%;
}
.press-card-img{ width:100%; height:325px; object-fit:cover; display:block; }
.press-card-body{ padding:1.3rem; }
.press-card .press-date{ font-size:.78rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.04em; }
.press-card h3{ font-size:1rem; margin:.2rem 0 .4rem; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--white); border-top:1px solid var(--line); margin-top:2rem; }
.footer-brand{ margin-bottom:1rem; }
.footer-tagline{ color:var(--ink-soft); font-size:.92rem; max-width:34ch; }
.footer-social{ display:flex; gap:.7rem; }
.footer-social a{
  width:36px; height:36px; border-radius:50%; background:#fff; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--navy-deep);
  transition: background .2s ease, color .2s ease;
}
.footer-social a:hover{ background:var(--navy); color:#fff; }
.footer-heading{ font-family:var(--font-display); font-size:.95rem; letter-spacing:.03em; margin-bottom:1rem; }
.footer-links{ list-style:none; padding:0; margin:0; }
.footer-links li{ margin-bottom:.6rem; }
.footer-links a{ color:var(--ink-soft); font-size:.92rem; }
.footer-links a:hover{ color:var(--navy); }
.footer-contact{ list-style:none; padding:0; margin:0; }
.footer-contact li{ display:flex; gap:.6rem; margin-bottom:.7rem; color:var(--ink-soft); font-size:.92rem; align-items:flex-start; }
.footer-contact i{ color:var(--ring-red); margin-top:.2rem; }
.footer-contact a{ color:var(--ink-soft); }
.footer-contact a:hover{ color:var(--navy); }
.footer-bottom{
  border-top:1px solid var(--line); padding:1.2rem 0; display:flex; justify-content:space-between;
  flex-wrap:wrap; gap:.5rem; font-size:.82rem; color:var(--ink-soft);
}

.footer-affiliations{
  border-top:1px solid var(--line); padding:1.4rem 0; display:flex; align-items:center;
  gap:1.5rem; flex-wrap:wrap;
}
.footer-affiliations-label{
  font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); font-weight:600;
}
.footer-affiliations img{ height:72px; width:auto; object-fit:contain; }

.back-to-top{
  position:fixed; right:1.4rem; bottom:1.4rem; width:44px; height:44px; border-radius:50%;
  background:var(--navy-deep); color:#fff; display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s;
  z-index:900;
}
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ background:var(--navy); }

.whatsapp-float{
  position:fixed; left:1.4rem; bottom:1.4rem; width:52px; height:52px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.6rem; box-shadow:0 8px 20px -6px rgba(37,211,102,.6);
  z-index:900; transition: transform .2s ease, box-shadow .2s ease;
}
.whatsapp-float:hover{ color:#fff; transform:scale(1.08); box-shadow:0 10px 24px -6px rgba(37,211,102,.75); }

/* ---------- Utilities ---------- */
.text-navy{ color:var(--navy-deep); }
.bg-paper{ background:var(--paper); }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  html{ scroll-behavior:auto; }
}

@media (max-width: 767.98px){
  section{ padding: 30px 0; }
  .cta-strip{ padding:30px; }
}
