/* =========================================================
   Marjason Consulting — Design Tokens
   ========================================================= */
:root{
  --green:#3aaa35;
  --green-dark:#06b22d;
  --lime:#d1d724;
  --black:#000;
  --near-black:#0a0a0a;
  --gray-text:#7d7d7d;
  --gray-border:#ededed;
  --off-white:#fbfaf2;
  --tint:#f6f7d3;

  --font-body: "Noto Sans", system-ui, sans-serif;
  --font-heading: "Noto Sans", system-ui, sans-serif;
  --font-cta: "Outfit", system-ui, sans-serif;

  --container: 1200px;
  --radius-lg: 20px;
  --radius-md: 10px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:#252525;
  background:#fff;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;border:0;background:none;cursor:pointer;}
ul{list-style:none;margin:0;padding:0;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-cta);font-weight:600;font-size:16px;
  color:#fff;background:var(--green);
  padding:12px 24px;border-radius:0 var(--radius-md);
  transition:background .2s ease, transform .2s ease;
}
.btn:hover{background:var(--green-dark);transform:translateY(-2px);}
.btn .icn{width:12px;height:12px;flex-shrink:0;}
.btn--outline{
  background:transparent;border:1px solid #fff;color:#fff;
  border-radius:0 10.5px;padding:11.5px 17.5px;
}
.btn--outline:hover{background:rgba(255,255,255,.1);}

/* Section spacing */
.section{padding:80px 0;}
.section--tight{padding:60px 0;}
.eyebrow{
  font-size:18px;font-weight:600;text-transform:uppercase;color:var(--lime);
  margin:0 0 8px;
}
h1,h2,h3{font-weight:300;margin:0;}
h2.section-title{font-size:clamp(32px,4vw,48px);color:#000;}
.section-lead{color:var(--gray-text);font-size:16px;line-height:1.5;max-width:760px;}

.about-auto-load .run-text{
  display:inline-block;
  animation: run-text 20s linear infinite;
}

@keyframes run-text{
  0%{transform:translateX(100%)}
  100%{transform:translateX(-100%)}
}

/* =========================================================
   Header
   ========================================================= */
.marjason-site-header{
  min-height:120px;
  margin-bottom:-120px;
  transition:background-color .2s ease,box-shadow .2s ease,backdrop-filter .2s ease,transform .25s ease;
}
.marjason-site-header.is-hidden{
  transform:translateY(-100%);
}
.marjason-site-header.is-scrolled{
  background-color:rgba(12,20,16,.88);
  box-shadow:0 4px 18px rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.site-header{
  background:#000;position:relative;z-index:50;
}
.site-header__inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.2);
  max-width:var(--container);margin:0 auto;
}
.site-logo img{height:44px;width:auto;}
.site-logo{font-family:var(--font-heading);font-size:22px;color:#fff;font-weight:600;}

.main-nav ul{display:flex;gap:36px;align-items:center;}
.main-nav a{color:#fff;font-size:16px;font-weight:500;}
.main-nav .menu-item-has-children{position:relative;}
.main-nav .sub-menu{
  display:none;position:absolute;top:100%;left:0;background:#111;min-width:220px;
  padding:10px 0;border-radius:0 0 10px 10px;
}
.main-nav .menu-item-has-children:hover .sub-menu{display:block;}
.main-nav .sub-menu a{display:block;padding:8px 18px;}

.header-actions{display:flex;align-items:center;gap:16px;}
.lang-switch{
  display:flex;align-items:center;gap:8px;color:#fff;font-size:16px;
  border:1px solid #fff;border-radius:0 10.5px;padding:11.5px 17.5px;
}
.mobile-toggle{display:none;background:none;border:0;color:#fff;font-size:28px;}

/* =========================================================
   Hero
   ========================================================= */
.hero{
  position:relative;background:#000;color:#fff;overflow:hidden;
  padding:100px 0 140px;
}
.hero__media{
  position:absolute;inset:0;z-index:0;opacity:.55;
}
.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover;}
.hero__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.85) 100%);
}
.hero__content{position:relative;z-index:1;max-width:760px;}
.hero__eyebrow{
  font-size:18px;font-weight:600;text-transform:uppercase;color:var(--lime);
  display:block;margin-bottom:8px;
}
.hero__title{
  font-size:clamp(36px,6vw,72px);line-height:1.1;font-weight:300;margin:0 0 32px;
}

/* Stats row */
.stats{
  background:linear-gradient(180deg,rgba(246,247,211,0) 0%,rgba(0,0,0,0) 100%),#000;
  color:#fff;padding:60px 0;
}
.stats__lead{font-size:clamp(22px,3vw,40px);font-weight:400;text-align:center;max-width:900px;margin:0 auto 50px;}
.stats__lead .muted{color:#787575;}
.stats__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:40px;}
.stat{display:flex;align-items:center;gap:10px;min-width:220px;}
.stat__num{
  font-size:56px;font-weight:300;
  background:linear-gradient(87deg,var(--green) 2%,var(--lime) 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.stat__label{font-size:20px;font-weight:500;line-height:1.3;}

/* =========================================================
   How we help
   ========================================================= */
.services{background:#000;color:#fff;padding-bottom:120px;}
.services__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.services__title{font-size:48px;font-weight:300;margin-bottom:32px;}
.service-list{border-top:1px solid rgba(58,170,53,.4);}
.service-item{
  display:flex;align-items:center;gap:20px;padding:26px 0;
  border-bottom:1px solid rgba(58,170,53,.25);cursor:pointer;
}
.service-item svg{flex-shrink:0;}
.service-item__label{font-size:22px;color:rgba(255,255,255,.4);transition:color .2s;}
.service-item.is-active .service-item__label{color:var(--green);}
.service-item__body{display:none;padding-left:55px;margin-top:-10px;}
.service-item.is-active .service-item__body{display:block;}
.service-item__body p{color:var(--gray-text);line-height:1.6;margin:0 0 16px;}
.service-item__link{color:var(--green);font-weight:600;display:inline-flex;align-items:center;gap:6px;}

.services__gallery{position:relative;aspect-ratio:1;}
.services__gallery img,.services__gallery .swatch{
  position:absolute;border-radius:0 30px;object-fit:cover;
}
.services__gallery .g1{top:0;right:0;width:49%;height:49%;}
.services__gallery .g2{top:0;left:0;width:49%;height:49%;background:var(--lime);border-radius:30px 0 20px;}
.services__gallery .g3{bottom:0;left:0;width:49%;height:49%;border-radius:30px 0 20px;}
.services__gallery .g4{bottom:0;right:0;width:49%;height:49%;}

/* =========================================================
   Who we are
   ========================================================= */
.about{background:#000;color:#fff;text-align:center;}
.about__inner{max-width:846px;margin:0 auto;display:flex;flex-direction:column;gap:32px;align-items:center;}
.about__title{font-size:48px;font-weight:300;margin-bottom:16px;}
.about__text{color:#fff;line-height:1.6;}
.about__image{margin-top:40px;border-radius:0 20px;overflow:hidden;}
.about__image img{width:100%;height:auto;display:block;}

/* =========================================================
   Training programs
   ========================================================= */
.training__header{margin-bottom:40px;}
.training__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.training-card{
  display:flex;align-items:center;gap:20px;padding:20px;
  border:1px solid var(--gray-border);border-radius:0 20px;
}
.training-card img{height:76px;width:auto;object-fit:contain;}
.training-card h3{font-size:22px;font-weight:500;color:#252525;}

/* =========================================================
   Testimonials
   ========================================================= */
.testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);}
.testimonial{
  background:rgba(74,74,73,.1);padding:24px;min-height:420px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.testimonial:first-child{border-radius:0 0 0 20px;}
.testimonial:last-child{border-radius:0 20px 0 0;}
.testimonial--dark{
  background:linear-gradient(180deg,rgba(0,0,0,0) 62%,#000 100%),#333;
  color:#fff;justify-content:flex-end;
  background-size:cover;background-position:center;
}
.testimonial__quote-icon{margin-bottom:20px;}
.testimonial p{color:var(--gray-text);line-height:1.6;margin:0;}
.testimonial--dark p{color:#fff;}
.testimonial__author{display:flex;align-items:center;gap:12px;margin-top:20px;}
.testimonial__author img{width:60px;height:60px;border-radius:50%;object-fit:cover;background:var(--green);}
.testimonial__author strong{display:block;font-size:16px;}
.testimonial__author span{display:block;font-size:14px;color:var(--gray-text);}
.testimonial--dark .testimonial__author span{color:#fff;}

/* =========================================================
   Insights / Blog
   ========================================================= */
.insights__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px;}
.insight-card__thumb{border-radius:0 20px;overflow:hidden;aspect-ratio:16/10;margin-bottom:24px;}
.insight-card__thumb img{width:100%;height:100%;object-fit:cover;}
.insight-meta{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:rgba(37,37,37,.5);margin-bottom:6px;}
.insight-meta .dot{width:2px;height:18px;background:var(--lime);}
.insight-card h3{font-size:24px;font-weight:500;color:#252525;margin:0 0 6px;}
.insight-card p{color:var(--gray-text);line-height:1.5;margin:0 0 10px;}
.insight-card__link{color:var(--green);font-weight:600;display:inline-flex;align-items:center;gap:6px;}
.insights__footer{text-align:center;}

/* =========================================================
   Footer
   ========================================================= */
.site-footer{background:#000;color:#fff;padding:60px 0 30px;}
.footer__top{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:40px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:50px;margin-bottom:40px;}
.footer__brand .site-logo{margin-bottom:20px;}
.footer__social{display:flex;align-items:center;gap:12px;margin-top:20px;}
.footer__social a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;}
.footer-col h4{font-size:24px;font-weight:300;margin:0 0 20px;}
.footer-col ul li{margin-bottom:8px;}
.footer-col a{color:#fff;opacity:.85;}
.footer-col a:hover{opacity:1;}
.newsletter h4{font-size:28px;font-weight:300;margin:0 0 24px;}
.newsletter form{display:flex;gap:14px;flex-wrap:wrap;}
.newsletter input[type=email]{
  flex:1;min-width:220px;background:transparent;border:1px solid #fff;color:#fff;
  padding:12px 20px;font-size:14px;
}
.newsletter input::placeholder{color:rgba(255,255,255,.5);}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;font-size:14px;opacity:.85;}
.footer__partners{display:flex;gap:24px;align-items:center;margin-top:24px;}
.footer__partners img{height:50px;width:auto;object-fit:contain;}
.footer__legal{display:flex;gap:8px;align-items:center;opacity:.5;font-size:14px;}
.footer__legal .dot{width:2px;height:2px;border-radius:50%;background:#fbfaf2;}

/* WhatsApp float button */
.float-whatsapp{
  position:fixed;right:24px;bottom:24px;z-index:60;width:57px;height:57px;
  border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(0,0,0,.25);
}
.float-whatsapp svg{width:41px;height:41px;}

/* Scroll to top */
.scroll-top{
  position:fixed;right:24px;bottom:24px;z-index:60;width:48px;height:48px;
  border:0;border-radius:50%;background:#3aaa35;color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(0,0,0,.25);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .3s,visibility .3s,transform .3s,background-color .2s;
}
.scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.scroll-top:hover{background:#2f8f2b;}
.scroll-top:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.scroll-top svg{width:22px;height:22px;}
.scroll-top--stacked{bottom:97px;right:28.5px;} /* sits above the WhatsApp button */
html.translated-rtl .scroll-top,html[dir='rtl'] .scroll-top{right:auto;left:24px;}
html.translated-rtl .scroll-top--stacked,html[dir='rtl'] .scroll-top--stacked{left:28.5px;}
@media (prefers-reduced-motion:reduce){.scroll-top{transition:none;}}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1024px){
  .services__grid{grid-template-columns:1fr;}
  .training__grid,.testimonials__grid,.insights__grid{grid-template-columns:repeat(2,1fr);}
  .footer__top{grid-template-columns:1fr 1fr;}
}
@media (max-width:768px){
  .main-nav,.header-actions .lang-switch{display:none;}
  .mobile-toggle{display:block;}
  .training__grid,.testimonials__grid,.insights__grid,.footer__top{grid-template-columns:1fr;}
  .hero{padding:60px 0 90px;}
  .stats__grid{gap:24px;}
}

/* Body classes injected by admin-bar etc. */
.admin-bar .site-header{top:32px;}
