/* ======================================
   Base / Reset / Typography
====================================== */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap");

html { scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #000;
  overflow-x: hidden;
  font-size: 18px;
}

p { margin: 0; font-size: 18px; line-height: 24px; }
img { max-width: 100%; vertical-align: middle; }
audio, canvas, iframe, svg, video { vertical-align: middle; }

h1, h2, h3, h4, h5, h6 { font-weight: 600; margin: 0; color: #081828; }
h1 { font-size: 50px; } h2 { font-size: 40px; } h3 { font-size: 30px; }
h4 { font-size: 25px; } h5 { font-size: 20px; } h6 { font-size: 16px; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; }

ul, ol { list-style: none; }

a, span {
  display: inline-block;
  text-decoration: none;
  transition: all .4s ease;
}

.navbar-toggler:focus,
a:focus, input:focus, textarea:focus, button:focus,
.btn:focus, .btn.focus,
.btn:not(:disabled):not(.disabled).active,
.btn:not(:disabled):not(.disabled):active {
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none;
}

.form-check-input:checked { background-color: #ff6b81; border-color: #ff6b81; }

.align-left { text-align: left; }
.align-right { text-align: right; }
.align-center { text-align: center; }

.img-bg {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%; height: 100%;
}

/* ======================================
   Layout helpers
====================================== */
.section { padding: 100px 0; position: relative; }
@media (max-width: 991px) { .section { padding: 60px 0; } }
@media (max-width: 767px) { .section { padding: 50px 0; } }

/* ======================================
   Section Title
====================================== */
.section-title {
  text-align: center;
  margin-bottom: 80px;
  position: relative;
  z-index: 5;
}
.section-title h3 {
  font-size: 15px; font-weight: 600; margin-bottom: 8px;
  color: #ff6b81; text-transform: uppercase;
}
.section-title h2 {
  font-size: 34px; margin-bottom: 25px; line-height: 42px; font-weight: 800;
}
.section-title p { font-size: 15px; }

@media (min-width: 992px) and (max-width: 1199px) {
  .section-title { padding: 0 200px; margin-bottom: 70px; }
}
@media (max-width: 991px) {
  .section-title { padding: 0 20px; margin-bottom: 70px; }
  .section-title h3 { font-size: 14px; }
  .section-title h2 { font-size: 24px; line-height: 32px; margin-bottom: 20px; }
  .section-title p  { font-size: 14px; }
}
@media (max-width: 767px) {
  .section-title { padding: 0 10px; margin-bottom: 60px; }
  .section-title h2 { font-size: 20px; line-height: 30px; margin-bottom: 18px; }
}

/* Optional alignment variants */
.section-title.align-right { padding-left: 600px; }
.section-title.align-right h2:after {
  content: ""; position: absolute; right: 0; bottom: -1px;
  height: 2px; width: 50px; background: #ff6b81;
}
.section-title.align-left { padding-right: 600px; }

/* ======================================
   Breadcrumbs
====================================== */
.breadcrumbs {
  position: relative; padding: 180px 0 100px; z-index: 2;
  text-align: left; background-color: #ff6b81;
}
@media (max-width: 991px) { .breadcrumbs { padding: 120px 0 60px; } }

.breadcrumbs .breadcrumbs-content { text-align: center; }
.breadcrumbs .breadcrumbs-content .page-title {
  font-size: 32px; color: #fff; font-weight: 700; line-height: 50px;
}
@media (max-width: 991px) {
  .breadcrumbs .breadcrumbs-content .page-title { font-size: 28px; line-height: 42px; }
}
@media (max-width: 767px) {
  .breadcrumbs .breadcrumbs-content .page-title { font-size: 25px; line-height: 38px; }
}

.breadcrumbs .breadcrumb-nav { margin-top: 15px; }
@media (max-width: 991px) { .breadcrumbs .breadcrumb-nav { margin-top: 10px; } }
@media (max-width: 767px) { .breadcrumbs .breadcrumb-nav { margin-top: 8px; } }

.breadcrumbs .breadcrumb-nav li {
  display: inline-block; position: relative; padding-right: 15px; margin-right: 15px;
}
.breadcrumbs .breadcrumb-nav li:after {
  content: "\ea5c"; font-family: lineIcons; font-size: 10px; position: absolute; top: 4px; right: -7px;
}
.breadcrumbs .breadcrumb-nav li:last-child { margin: 0; padding: 0; }
.breadcrumbs .breadcrumb-nav li:last-child::after { display: none; }
.breadcrumbs .breadcrumb-nav li, .breadcrumbs .breadcrumb-nav li a {
  color: #fff; font-size: 14px; font-weight: 500;
}
.breadcrumbs .breadcrumb-nav li a:hover { text-decoration: underline; }

/* ======================================
   Buttons
====================================== */
.button .btn {
  display: inline-block; font-size: 15px; font-weight: 600;
  padding: 13px 30px; background-color: transparent; color: #fff; border: 0;
 transition: .2s; position: relative; z-index: 1; margin-right: 7px; overflow: hidden; border: 2px solid #fff;
  
}
.button .btn i { margin-right: 5px; }
.button .btn:last-child { margin-right: 0; }
.button .btn:hover { color: #37096d; background-color: #fff; box-shadow: 0 4px 4px #0000000f; }

.button .btn-alt {
  color: #fff !important; background: transparent !important; border: 2px solid #fff; padding: 11px 30px;
}
.button .btn-alt:hover { background-color: #fff !important; color: #37096d !important; }

@media (max-width: 991px) {
  .button .btn { padding: 12px 25px; font-size: 14px; font-weight: 500; }
  .button .btn-alt { padding: 10px 30px; }
}

/* ======================================
   Scroll Top
====================================== */
.scroll-top {
  width: 45px; height: 45px; line-height: 45px; border-radius: 5px;
  background: #9451af; color: #fff !important;
  position: fixed; bottom: 30px; right: 30px; z-index: 9; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .3s ease-out;
}
.scroll-top:hover {
  box-shadow: 0 1rem 3rem rgba(35,38,45,.15) !important;
  transform: translate3d(0,-5px,0); background-color: #081828;
}

/* ======================================
   Overlay
====================================== */
.overlay { position: relative; z-index: 1; }
.overlay::before {
  content: ""; position: absolute; inset: 0; opacity: .4; background: #081828;
  transition: all .4s ease; z-index: -1;
}

/* ======================================
   Pagination
====================================== */
.pagination { text-align: left; margin-top: 40px; }
.pagination.center { text-align: center; }
.pagination.right { text-align: right; }
.pagination .pagination-list { display: inline-block; overflow: hidden; }
.pagination .pagination-list li { display: inline-block; margin: 10px 5px 0 0; }
.pagination .pagination-list li:last-child { margin-right: 0; }
.pagination .pagination-list li a {
  background: #fff; color: #081828; font-size: 14px; border-radius: 5px; padding: 8px 20px; border: 1px solid #eee;
}
.pagination .pagination-list li.active a,
.pagination .pagination-list li a:hover { background: #ff6b81; color: #fff; border-color: transparent; }
.blog-grids.pagination { margin-top: 50px; text-align: center; }

/* ======================================
   Preloader
====================================== */
.preloader { position: fixed; inset: 0; z-index: 999999999; background-color: #fff; }
.preloader-inner { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.preloader-icon { width: 100px; height: 100px; position: relative; }
.preloader-icon span {
  position: absolute; inset: 0; border-radius: 50%; background: #ff6b81; animation: preloader-fx 1.6s linear infinite;
}
.preloader-icon span:last-child { animation-delay: -.8s; }
@keyframes preloader-fx { 0% { transform: scale(0); opacity: .5; } 100% { transform: scale(1); opacity: 0; } }

/* ======================================
   Header / Navbar
====================================== */
.header {
  position: absolute; left: 0; top: 0; width: 100%; background: transparent;
}
@media (max-width: 991px) {
  .header { padding: 18px 0 !important; }
  .header .mobile-menu-btn .toggler-icon { background-color: #fff; }
  .header .button { margin: 0 !important; }
  .header .navbar-collapse {
    position: absolute; top: 67px !important; left: 0; width: 100%; background-color: #fff; z-index: 9;
    box-shadow: 0 15px 20px rgba(0,0,0,.1); padding: 10px 20px; max-height: 350px; overflow-y: auto;
    border-top: 1px solid #eee; border-radius: 6px;
  }
  .header .navbar .navbar-nav .nav-item a:hover,
  .header .navbar .navbar-nav .nav-item a.active { color: #000000 !important; }
  .header .navbar-nav .nav-item { margin: 0; }
  .header .navbar-nav .nav-item a { padding: 12px 16px !important; color: #051441; display: flex; justify-content: space-between; }
  .header .navbar-nav .nav-item .sub-menu {
    position: static; width: 100%; opacity: 1; visibility: visible; box-shadow: none; padding: 0; border: 0; margin: 0 15px;
  }
  .header .navbar-nav .nav-item .sub-menu .nav-item a { padding: 10px 12px !important; }
  .header .navbar-nav .nav-item .sub-menu li:hover { background: #000000 !important; text-decoration: underline; }
  .header .navbar-nav .nav-item a:hover { text-decoration: underline; }
}
@media (max-width: 767px) { .header .button { display: none; } }

.header .button .btn { background: transparent; border: 2px solid #fff; color: #fff; padding: 12px 30px; }
.header .button .btn:hover { background: #fff; color: #37096d; }

/* --- LOGO SIZING (REPLACED) --- */
.header .navbar-brand { display: flex; align-items: center; }

/* === Logo: samma storlek i alla lägen === */
.header .navbar-brand {
  display: flex;
  align-items: center;
}

/* Samma storlek som i din HTML (height="65") */
.header .navbar-brand img {
  height: 65px;      /* fasta 65px */
  width: auto;
  max-height: none;  /* ignorera tidigare max-height */
}

/* Förhindra att sticky läge krymper loggan */
.header.sticky .navbar-brand img,
.navbar-area.sticky .navbar-brand img {
  height: 65px;
  width: auto;
  max-height: none;
}

/* (Valfritt) lite mindre på mobil, om du vill */
@media (max-width: 767px) {
  .header .navbar-brand img,
  .header.sticky .navbar-brand img,
  .navbar-area.sticky .navbar-brand img {
    height: 48px;
  }
}

/* --- END LOGO SIZING --- */

.sticky {
  position: fixed; top: 0; width: 100%; z-index: 99; background: #fff;
  box-shadow: 0 20px 50px rgba(0,0,0,.05); transition: all .3s ease-out;
}
.sticky .navbar .mobile-menu-btn .toggler-icon { background: #fff; }
.header .navbar .navbar-nav .nav-item a.active,
.header .navbar .navbar-nav .nav-item .sub-menu a.active { color: #ffffff; }
.sticky .navbar .navbar-nav .nav-item a { color: #ffffff; }
.sticky .navbar .navbar-nav .nav-item a.active { text-decoration: underline; }

@media (max-width: 576px) {

.sticky .navbar .navbar-nav .nav-item a {color: #000000!important};
.header .navbar .navbar-nav .nav-item .sub-menu a.active { color: #000000!important; }

.mobile-nav a,
.mobile-nav li { color: #000000 !important;}

}



.navbar-area {
  width: 100%; z-index: 99; transition: all .3s ease-out; padding: 0;
}

.navbar-area.sticky {
  position: fixed; background: radial-gradient(circle at center, #a140bf 0%, #2f154a 100%);
  box-shadow: 0 20px 50px rgba(0,0,0,.05);
}

.navbar { padding: 0; position: relative; transition: all .3s ease-out; }
.navbar-brand { padding-left: 0; border-radius: 0; }

.mobile-menu-btn { padding: 0; }
.mobile-menu-btn:focus { outline: none; box-shadow: none; }
.mobile-menu-btn .toggler-icon {
  width: 30px; height: 2px; background-color: #222; display: block; margin: 5px 0; transition: all .3s ease-out;
}
.mobile-menu-btn.active .toggler-icon:nth-of-type(1) { transform: rotate(45deg); top: 7px; position: relative; }
.mobile-menu-btn.active .toggler-icon:nth-of-type(2) { opacity: 0; }
.mobile-menu-btn.active .toggler-icon:nth-of-type(3) { transform: rotate(135deg); top: -7px; position: relative; }

.navbar-expand-lg .navbar-nav { margin-left: auto !important; margin-right: auto !important; }

.navbar-nav .nav-item { position: relative; margin-right: 40px; }
.navbar-nav .nav-item:last-child { margin-right: 0 !important; }
.navbar-nav .nav-item a {
  font-size: 15px; color: #fff; padding: 35px 0; display: inline-flex; align-items: center; font-weight: 600;
  transition: all .3s ease-out;
}
.navbar-nav .nav-item a.dd-menu::after {
  content: "\ea58"; font: normal normal normal 1em/1 "LineIcons";
  position: absolute; right: 17px; font-size: 10px; top: 50%; margin-left: 5px;
}
@media (max-width: 1199px) { .navbar-nav .nav-item a.dd-menu::after { right: 13px; } }
@media (max-width: 991px) {
  .navbar-nav .nav-item a.dd-menu::after { top: 18px; right: 0; transform: rotate(180deg); }
  .navbar-nav .nav-item a.collapsed::after { transform: rotate(0); }
}
.navbar-nav .nav-item:hover > .sub-menu { top: 100%; opacity: 1; visibility: visible; }
.navbar-nav .nav-item .sub-menu {
  padding: 30px; min-width: 240px; background: #fff; box-shadow: 0 5px 20px #0000001a;
  position: absolute; top: 110% !important; left: 0; opacity: 0; visibility: hidden; transition: all .3s ease-out;
  border-radius: 5px;
}
.navbar-nav .nav-item .sub-menu .nav-item { width: 100%; margin-bottom: 15px; }
.navbar-nav .nav-item .sub-menu .nav-item:last-child { margin-bottom: 0; }
.navbar-nav .nav-item .sub-menu .nav-item a {
  padding: 0; color: #888; display: block; width: 100%; font-size: 14px; font-weight: 500; border-radius: 4px;
  transition: all .1s ease;
}
.navbar-nav .nav-item .sub-menu .nav-item a:hover { color: #37096d; }
.navbar-nav .nav-item .sub-menu > li > a { display: block; padding: 12px 15px; color: #222; font-weight: 400; }

/* ======================================
   Hero
====================================== */

.hero-area {
  position: relative; display: flex; align-items: center; overflow: hidden;
  min-height: 100vh; padding: 180px 0 120px;
  background: radial-gradient(circle at center, #a140bf 0%, #2f154a 100%);
}
@media (max-width: 991px) { .hero-area { padding: 150px 0 60px; } }
@media (max-width: 767px) { .hero-area { padding: 120px 0 50px; } }

.hero-area .hero-content { position: relative; z-index: 1; text-align: left; }
.hero-area .hero-content h1 {
  font-weight: 800; font-size: clamp(2.25rem, 6vw, 4.25rem); line-height: 1.10; color: #fff;
}
@media (min-width: 768px) { .hero-area .hero-content h1 { line-height: 1.175; } }
.hero-area .hero-content p { margin-top: 30px; font-size: 19px; color: #fff; }
.hero-area .hero-content .button { margin-top: 40px; }
.hero-area .hero-content .button .btn { background: #fff; color: #ff6b81; margin-right: 12px; }
.hero-area .hero-content .button .btn:hover { background: #37096d; color: #fff; }
.hero-area .hero-content .button .btn.btn-alt { background-color: #ffffff6b; color: #fff; }
.hero-area .hero-content .button .btn.btn-alt:hover { background: #fff; color: #ff6b81; }

/* Hero: bildens position och storlek (ersätter befintliga regler) */
.hero-image {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) translateX(17%) scale(0.72); /* mer åt höger + mindre */
  transform-origin: right center;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  z-index: 1;
}

.hero-image img {
  height: 92vh;       /* något lägre än fullhöjd för att bli mindre */
  width: auto;
  max-width: none;
  display: block;
  object-fit: contain;
}

/* Mobil/tablet: behåll din centrering och statiska layout */
@media (max-width: 991px) {
  .hero-image {
    position: static;
    transform: none;
    height: auto;
    justify-content: center;
    margin-top: 2rem;
  }
  .hero-image img {
    height: auto;
    width: 100%;
    max-width: 400px;
  }
}

/* ======================================
   Features
====================================== */
.features { background: #f9f9f9; }
.features .section-title { margin-bottom: 30px; }
.features .single-feature {
  text-align: left; padding: 35px; background: #fff; border-radius: 6px; margin-top: 30px; border: 1px solid #eee;
  transition: all .5s cubic-bezier(.68,-.55,.27,1.55);
}
.features .single-feature:hover { box-shadow: 0 3px 5px #00000017; transform: translateY(-5px); }
.features .single-feature i {
  height: 60px; width: 60px; line-height: 60px; text-align: center; display: inline-block;
  background: #ff6b81; color: #fff; font-size: 20px; border-radius: 7px; box-shadow: 0 4px 6px #0000002a; margin-bottom: 30px;
}
.features .single-feature h3 { font-size: 18px; font-weight: 500; margin-bottom: 20px; }
.features .single-feature p { line-height: 22px; }

/* ======================================
   Our Achievement
====================================== */
.our-achievement {
  background: radial-gradient(circle at center, #a140bf 0%, #2f154a 100%);
  text-align: center; padding: 130px 0; color: #fff;
}
@media (max-width: 991px) { .our-achievement { padding: 80px 0; } }
@media (max-width: 767px) { .our-achievement { padding: 60px 0; } }

.our-achievement .title h2 { color: #fff; font-weight: 700; font-size: 35px; margin-bottom: 10px; }
.our-achievement .title p { color: #fff; }
.our-achievement .single-achievement { margin-top: 50px; padding: 0 10px; }
.our-achievement .single-achievement h3 { font-size: 35px; font-weight: 800; margin-bottom: 5px; color: #fff; }
.our-achievement .single-achievement p { font-size: 15px; color: #fff; font-weight: 500; }
@media (max-width: 991px) {
  .our-achievement .title h2 { font-size: 24px; line-height: 32px; }
  .our-achievement .single-achievement { margin-top: 30px; }
  .our-achievement .single-achievement h3 { font-size: 28px; }
}

/* Positiv lista (vänsterjusterad) */
.our-achievement .achievement-list {
  display: grid; grid-template-columns: 1fr; gap: .75em; margin-top: 2em;
  font-size: 1.125em; line-height: 1.7;
}
@media (min-width: 768px) { .our-achievement .achievement-list { grid-template-columns: 1fr 1fr; } }
.our-achievement .achievement-list li {
  display: grid; grid-template-columns: 1.35em 1fr; column-gap: .6em; align-items: start; text-align: left;
  color: rgba(255,255,255,.95); background: rgba(255,255,255,.08);
  border: .075em solid rgba(255,255,255,.14); border-radius: .8em; padding: .75em .9em;
}
.our-achievement .achievement-list .check {
  grid-column: 1; display: inline-flex; align-items: center; justify-content: center;
  width: 1.35em; height: 1.35em; border-radius: 999px;
  background: linear-gradient(160deg, #5dd39e, #30b873); box-shadow: 0 .25em .75em rgba(48,184,115,.35);
  margin-top: .1em;
}
.our-achievement .achievement-list .check svg { width: .85em; height: .85em; fill: #fff; }


/* ======================================
   CTA
====================================== */
.call-action {
  background: radial-gradient(circle at center, #a140bf 0%, #2f154a 100%);
  color: #fff;
}
.call-action .cta-content { text-align: center; padding: 0 50px; }
@media (max-width: 991px) { .call-action .cta-content { padding: 0; } }
.call-action .cta-content h2 { color: #fff; line-height: 50px; font-size: 38px; font-weight: 700; margin-bottom: 30px; }
@media (max-width: 991px) { .call-action .cta-content h2 { font-size: 32px; line-height: 45px; } }
@media (max-width: 767px) { .call-action .cta-content h2 { font-size: 25px; line-height: 35px; } }
.call-action .cta-content p { color: #fff; padding: 0 50px; }
@media (max-width: 991px) { .call-action .cta-content p { padding: 0; } }
.call-action .cta-content .button { margin-top: 40px; }



/* ======================================
   Footer
====================================== */
.footer { background: #081828; position: relative; color: #D2D6DC; }
.footer .footer-top { padding: 100px 0; }
@media (max-width: 991px) { .footer .footer-top { padding: 80px 0 80px; padding-top: 40px; } }
@media (max-width: 767px) { .footer .footer-top { padding: 60px 0; padding-top: 20px; } }

@media (max-width: 991px) { .footer .single-footer { margin-top: 40px; } }
@media (max-width: 767px) { .footer .single-footer { margin-top: 40px; text-align: center; } }

.footer .single-footer.f-about { padding-right: 30px; }
@media (max-width: 767px) { .footer .single-footer.f-about { padding: 0; } }
.footer .single-footer.f-about .logo img { width: 180px; }
.footer .single-footer.f-about p { margin-top: 20px; font-size: 14px; }
.footer .single-footer.f-about .social { margin-top: 30px; }
.footer .single-footer.f-about .social li { display: inline-block; margin-right: 17px; }
.footer .single-footer.f-about .social li:last-child { margin-right: 0; }
.footer .single-footer.f-about .social li a { color: #D2D6DC; font-size: 15px; }
.footer .single-footer.f-about .social li a:hover { color: #ff6b81; }
.footer .single-footer.f-about .copyright-text { font-size: 14px; margin-top: 40px; }
@media (max-width: 767px) { .footer .single-footer.f-about .copyright-text { margin-top: 20px; } }
.footer .single-footer.f-about .copyright-text a { color: #D2D6DC; }
.footer .single-footer.f-about .copyright-text a:hover { color: #ff6b81; }

.footer .single-footer.f-link li { margin-bottom: 12px; }
.footer .single-footer.f-link li:last-child { margin-bottom: 0; }
.footer .single-footer.f-link li a { font-size: 15px; font-weight: 400; color: #D2D6DC; }
.footer .single-footer.f-link li a:hover { color: #ff6b81; }
.footer .single-footer h3 { font-size: 18px; font-weight: 600; margin-bottom: 35px; }

.footer .footer-newsletter { padding-bottom: 100px; }
@media (max-width: 991px) { .footer .footer-newsletter { padding-bottom: 80px; } }
@media (max-width: 767px) { .footer .footer-newsletter { padding-bottom: 60px; text-align: center; } }

.footer .footer-newsletter .inner-content {
  border: 2px solid rgba(238,238,238,.171); padding: 50px; border-radius: 8px;
}
@media (max-width: 991px) { .footer .footer-newsletter .inner-content { padding: 30px; } }

.footer .footer-newsletter .title h3 { font-size: 18px; margin-bottom: 10px; font-weight: 600; }
.footer .footer-newsletter .title p { font-size: 15px; }
.footer .footer-newsletter .title p a { color: #ff6b81; text-decoration: underline; }
.footer .footer-newsletter .title p a:hover { color: #fff; }

.footer .footer-newsletter .newsletter-form { position: relative; }
@media (max-width: 767px) { .footer .footer-newsletter .newsletter-form { margin-top: 30px; } }
.footer .footer-newsletter .newsletter-form input {
  height: 48px; width: 300px; background: #fff3; border: 0; color: #fff; border-radius: 5px;
  padding: 0 20px; font-size: 14px; float: right; margin-right: 148px;
}
@media (max-width: 991px) {
  .footer .footer-newsletter .newsletter-form input { width: 100%; margin: 0; }
}
.footer .footer-newsletter .newsletter-form::placeholder { color: #fff; opacity: 1; }
.footer .footer-newsletter .newsletter-form .button {
  position: absolute; right: 0; display: inline-block;
}
@media (max-width: 767px) {
  .footer .footer-newsletter .newsletter-form .button { position: relative; margin-top: 10px; width: 100%; }
  .footer .footer-newsletter .newsletter-form .button .btn { width: 100%; }
}
.footer .footer-newsletter .newsletter-form .button .btn {
  background: #ff6b81; color: #fff; height: 48px; line-height: 48px; padding: 0 30px;
}
.footer .footer-newsletter .newsletter-form .button .btn:hover { color: #ff6b81; background: #fff; }

/* ======================================
   Theming / Cards / Logos / Promo
====================================== */
.logos-section { background-color: #2f1749; }
.logos-section p { color: #fff; font-size: 1.1rem; }
.partner-logo { max-height: 60px; opacity: .85; transition: opacity .3s ease, transform .3s ease; }

/* Hover-zoom för logotyper */
.logos-section .partner-logo:hover,
.logos-section a:focus-visible .partner-logo {
  transform: scale(1.08);  /* justera 1.05–1.12 efter tycke */
  opacity: 1;
  will-change: transform;
}

/* (valfritt) liten “tap”-feedback på touch */
@media (hover: none) {
  .logos-section .partner-logo:active { transform: scale(1.04); opacity: 1; }
}

.theme-section .section-title { font-weight: 700; }
.theme-section .single-col-max { max-width: 960px; color: #6c757d; }

.section-kicker {
  display: inline-block; margin-bottom: .75rem; text-transform: uppercase; letter-spacing: .18em;
  font-weight: 800; font-size: .9rem; text-align: center;
  background: linear-gradient(90deg, #ff4dac 0%, #c026d3 45%, #450c8c 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.section-header .section-kicker { text-align: center; }

.featured-blocks-section .item-inner {
  border-radius: 1.25rem; background: #fff; box-shadow: 0 6px 16px rgba(0,0,0,.08);
  transition: transform .3s ease, box-shadow .3s ease; overflow: hidden;
}
.featured-blocks-section .item-inner:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0,0,0,.12), 0 28px 70px rgba(69,12,140,.28);
}
.item-header {
  background: linear-gradient(160deg, #3d1c56 0%, #482163 60%, #8e3eaa 100%);
  color: #fff; position: relative;  
}
.item-header::after {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 60%),
    linear-gradient(to bottom, rgba(255,255,255,.06), rgba(255,255,255,0));
  pointer-events: none;
}
.item-header .item-title { color: #fff; }
.item-body { background: #fff; }
.item-details { color: #495057; line-height: 1.6; font-size: .985rem; }

.link-with-arrow {
  display: inline-flex; align-items: center; gap: .3rem; font-weight: 600; text-decoration: none;
  color: #450c8c; transition: color .2s ease;
}
.link-with-arrow:hover { color: #5e24b0; }
.link-with-arrow svg { width: 14px; height: 14px; transition: transform .25s ease; }
.link-with-arrow:hover svg { transform: translateX(4px); }

.promo-figure { object-fit: contain; }
.featured-blocks-section p:not(.section-kicker),
.promo-section p:not(.section-kicker) { font-size: 18px; line-height: 1.7; }
.featured-blocks-section .section-intro,
.promo-section .section-intro { font-size: 18px; line-height: 1.7; }

.promo-section .promo-left .item-title-note {
  color: #6c757d; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem;
}
.promo-section .promo-left .item-title { font-weight: 700; }

.theme-link { color: #450c8c; text-decoration: none; }
.theme-link:hover { color: #5e24b0; text-decoration: underline; }

.theme-list li { display: flex; align-items: flex-start; margin-bottom: .6rem;}
.theme-list-icon { width: 1rem; height: 1rem; flex: 0 0 auto; margin-top: .32rem; color: #450c8c; }

.profile-overlay-list { gap: 0; }
.profile-item { margin-left: -12px; }
.profile-item:first-child { margin-left: 0; }
.profile-image { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #fff; object-fit: cover; }
.profile-item-more svg { width: 22px; height: 22px; color: #450c8c; }
.profile-overlay-desc { color: #6c757d; }

/* ======================================
   About Section
====================================== */
.about-section .about-body { text-align: center; }
@media (min-width: 992px) { .about-section .about-body { text-align: left; } }

.about-section .about-list { display: grid; grid-template-columns: 1fr; gap: .6em; text-align: left; }
.about-section .about-list li {
  display: grid; grid-template-columns: 1.35em 1fr; column-gap: .6em; justify-items: start; align-items: start;
  background: rgba(69,12,140,.06); border: .075em solid rgba(69,12,140,.14);
  border-radius: .8em; padding: .75em .9em; color: #2b1b3f;
}
.about-section .about-list .check {
  grid-column: 1; display: inline-flex; align-items: center; justify-content: center;
  width: 1.35em; height: 1.35em; border-radius: 999px;
  background: linear-gradient(160deg, #5e24b0, #450c8c); box-shadow: 0 .25em .75em rgba(69,12,140,.28);
  margin-top: .1em;
}
.about-section .about-list .check svg { width: .85em; height: .85em; fill: #fff; }

.about-section .link-with-arrow {
  display: inline-flex; align-items: center; gap: .3em; font-weight: 600; color: #450c8c; text-decoration: none;
}
.about-section .link-with-arrow:hover { color: #5e24b0; }
.about-section .link-with-arrow svg { width: .875em; height: .875em; transition: transform .25s ease; }
.about-section .link-with-arrow:hover svg { transform: translateX(.25em); }

/* feel good */
.data-cta{
  background: radial-gradient(circle at center, #a140bf 0%, #2f154a 100%);
  color:#fff; border-radius:16px; overflow:hidden;
}
.data-cta .person-figure{
  max-height:520px; object-fit:contain;
  filter: drop-shadow(0 18px 50px rgba(0,0,0,.25));
}
.stat-card{
  border-radius:16px; padding:18px 20px;
  box-shadow:0 8px 22px rgba(0,0,0,.15);
  transition:transform .25s ease, box-shadow .25s ease;
}
.stat-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}
.stat-figure{ font-weight:800; font-size:clamp(24px,4vw,40px); line-height:1.1; }
.stat-desc{ margin-top:6px; font-size:clamp(12px,1.6vw,16px); opacity:.95; }
@media (prefers-reduced-motion: reduce){ .stat-card{ transition:none; } }

/* feel good */
/* Se till att själva hero-blocket har position: relative */

/* Pilen */
/* Fast (fixed) pil i nederkant av viewport */
.hero-scroll-down-fixed {
  position: fixed;
  left: 50%;
  bottom: 60px;
  transform: translateX(-50%);
  z-index: 9999;
  cursor: pointer;
  transition: opacity .3s ease, visibility .3s ease;
}



.hero-scroll-down-fixed .scroll-icon {
  display: block;
  opacity: 0;
  animation: scrollBlink 2s infinite;
  fill: #ffffff; /* byt till #450c8c om bakgrunden är ljus */
}
.hero-scroll-down-fixed.is-hidden { opacity: 0; visibility: hidden; }

.scroll-icon {
  display: block;
  opacity: 1;                /* vi skippar blink nu */
  animation: scrollBump 2s ease-in-out infinite;
  fill: #ffffff;             /* eller stroke: #ffffff om du har linjeikon */
}

@media (max-width: 767px) {
  .scroll-icon {
    display: none!important;
  }
}

@keyframes scrollBump {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(20px); }
  100% { transform: translateY(0); }
}



@media (max-width: 576px) {
  .hero-scroll-down { display: none; }
}

/* ======================================
   Misc
====================================== */

.single-footer .logo img {
  margin-left: -15px; /* flyttar loggan 20px åt vänster */
    width: 220px!important;  
  height: auto;  /* bibehåll proportionerna */
}


.container { width: 100%; }
@media (min-width: 480px) and (max-width: 767px) { .container { width: 450px; } }

/* Behåll plats för scrollbar alltid → ingen layout-shift när modalen öppnas */
html { scrollbar-gutter: stable; } /* eller: stable both-edges */