/* Organicco theme overrides for Bootstrap 5.3.x */

/* 1) Self-hosted fonts */
@font-face{
  font-family:Inter;
  src:url("../fonts/inter/InterVariable.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap
}
@font-face{
  font-family:Sora;
  src:url("../fonts/sora/Sora[wght].woff2") format("woff2");
  font-weight:100 800;
  font-style:normal;
  font-display:swap
}

/* 2) Bootstrap tokens */
:root,[data-bs-theme=light]{
  --bs-font-sans-serif:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans","Liberation Sans",sans-serif;
  --bs-body-font-family:var(--bs-font-sans-serif);

  /* Brand */
  --bs-primary:#2e2e84;
  --bs-primary-rgb:46,46,132;

  /* Keep success semantic (NOT your CTA). Choose ONE: */
  --bs-success:#3ca934;           /* logo green for success states */
  --bs-success-rgb:60,169,52;

  /* Surfaces */
  --bs-body-bg:#F7F9FC;
  --bs-body-color:#0f172a;
  --bs-border-color:#e6eaf2;

  /* Links */
  --bs-link-color:var(--bs-primary);
  --bs-link-hover-color:#24306f;

  /* Modern softness */
  --bs-border-radius:.9rem;
  --bs-border-radius-sm:.65rem;
  --bs-border-radius-lg:1.25rem;
}

/* 3) Heading font */
h1,h2,h3,h4,h5,h6,
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6,
.navbar-brand{
  font-family:"Sora",var(--bs-font-sans-serif);
  letter-spacing:-.02em;
}

/* 4) Modern UI polish */
body{ line-height:1.6; }
.btn{ --bs-btn-border-radius:var(--bs-border-radius-lg); font-weight:600; }
.card,.dropdown-menu,.modal-content,.offcanvas{ border-radius:var(--bs-border-radius-lg); }
.badge{ border-radius:999px; }
.navbar-brand{ letter-spacing:-.01em; }

/* Buttons: primary = your preferred CTA (indigo) */
.btn-primary{
  --bs-btn-bg:var(--bs-primary);
  --bs-btn-border-color:var(--bs-primary);
  --bs-btn-color:#fff;
}
.btn-primary:hover,
.btn-primary:focus{
  filter:brightness(.95);
}

/* Keep success usable for alerts/forms (optional) */
.btn-success{
  --bs-btn-bg:var(--bs-success);
  --bs-btn-border-color:var(--bs-success);
  --bs-btn-color:#fff;
}
.btn-success:hover,
.btn-success:focus{
  filter:brightness(.95);
}

.btn-outline-primary{
  --bs-btn-color:var(--bs-primary);
  --bs-btn-border-color:var(--bs-primary);
}
.btn-outline-success{
  --bs-btn-color:var(--bs-success);
  --bs-btn-border-color:var(--bs-success);
}

/* Header right-side links: less linky by default */
.nav-cta a.small{
  color: color-mix(in srgb, var(--bs-primary) 70%, #ffffff) !important;
  text-decoration:none !important;
  transition:color 140ms ease;
}
.nav-cta a.small:hover,
.nav-cta a.small:focus{
  color: var(--bs-primary) !important;
  text-decoration:none !important;
}

/* Header CTA: use primary (team preference) */
.nav-cta .btn.btn-primary{
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color:#fff !important;
}
.nav-cta .btn.btn-primary:hover{ filter:brightness(.95); }

/* NAV hover: subtle underline indicator */
.navbar .nav-link{
  position:relative;
  color:#334155;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color:var(--bs-primary);
}
.navbar .nav-link::after{
  content:"";
  position:absolute;
  left:.5rem;
  right:.5rem;
  bottom:-.35rem;
  height:2px;
  background:var(--bs-primary);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 160ms ease;
}
.navbar .nav-link:hover::after,
.navbar .nav-link:focus::after{
  transform:scaleX(1);
}
.navbar .nav-link:focus-visible{
  outline:2px solid var(--bs-primary);
  outline-offset:4px;
  border-radius:6px;
}

/* =========================
   Organicco Typography (compact / investor-friendly)
   ========================= */
:root{
  --oc-body: clamp(0.95rem, 0.12vw + 0.92rem, 1.00rem);
  --oc-lead: clamp(1.00rem, 0.18vw + 0.96rem, 1.08rem);

  --oc-h1: clamp(1.375rem, 0.55vw + 1.25rem, 1.75rem);
  --oc-h2: clamp(1.25rem, 0.45vw + 1.15rem, 1.50rem);
  --oc-h3: clamp(1.125rem, 0.35vw + 1.05rem, 1.375rem);
  --oc-h4: clamp(1.0625rem, 0.25vw + 1.00rem, 1.25rem);
  --oc-h5: 1.00rem;
  --oc-h6: 0.9375rem;
}

body{ font-size:var(--oc-body) !important; }

h1,.h1{ font-size:var(--oc-h1) !important; line-height:1.22 !important; letter-spacing:-.01em; }
h2,.h2{ font-size:var(--oc-h2) !important; line-height:1.25 !important; letter-spacing:-.01em; }
h3,.h3{ font-size:var(--oc-h3) !important; line-height:1.28 !important; }
h4,.h4{ font-size:var(--oc-h4) !important; line-height:1.30 !important; }
h5,.h5{ font-size:var(--oc-h5) !important; line-height:1.35 !important; }
h6,.h6{ font-size:var(--oc-h6) !important; line-height:1.35 !important; }

.lead{ font-size:var(--oc-lead) !important; line-height:1.55 !important; }

/* Control Bootstrap display headings (your hero uses display-5) */
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{
  font-size:var(--oc-h1) !important;
  line-height:1.18 !important;
  letter-spacing:-.01em;
}

/* Reduce hero vertical padding */
main > section.py-5{
  padding-top:1.75rem !important;
  padding-bottom:1.75rem !important;
}
@media (min-width:992px){
  main > section.py-lg-6{
    padding-top:2.25rem !important;
    padding-bottom:2.25rem !important;
  }
}

/* Footer brand tagline + logo sizing */
footer .col-lg-4 > p.text-muted,
footer .col-lg-4 > ul.text-muted{
  font-size:0.82rem !important;
  line-height:1.45 !important;
  letter-spacing:.01em;
  color:#6b7280 !important;
  max-width:22rem;
  margin-top:.5rem !important;
  margin-bottom:.75rem !important;
}
footer .col-lg-4 img{
  width:72px !important;
  height:auto;
}

#video1 { object-fit: cover; }   /* or 'contain' if you never want cropping */
