
/* CTRL360 · Microsoft 365 Restyling V1 */
body.m365v1{background:#fff;color:#111b27}
body.m365v1 em{font-style:normal;color:#55ae2d}
body.m365v1 .m365-section{padding:70px 0}
body.m365v1 .m365-heading{margin-bottom:30px}
body.m365v1 .m365-heading.center{text-align:center}
body.m365v1 .m365-heading.compact{margin-bottom:24px}
body.m365v1 .m365-heading h2{margin:8px 0;font-size:clamp(32px,3vw,46px);line-height:1.06;letter-spacing:-1px;color:#111b27}

/* HERO */
.m365-hero{padding:62px 0 58px;background:#fff}
.m365-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.m365-hero-copy h1{margin:13px 0 17px;max-width:620px;font-size:clamp(44px,4.5vw,64px);line-height:1.03;letter-spacing:-2px}
.m365-hero-copy>p{max-width:590px;color:#53616d;font-size:16px;line-height:1.55}
.m365-hero .hero-actions{display:flex;gap:12px;margin-top:24px}.m365-hero .btn{background:#5ab52d;border-color:#5ab52d;color:#fff}.m365-hero .btn.outline{background:#fff;color:#17212d;border-color:#8995a0}
.m365-proof{display:flex;gap:34px;margin-top:31px}.m365-proof span{display:grid;grid-template-columns:30px 1fr;align-items:center;color:#25323d;font-size:12px;line-height:1.4}.m365-proof b{grid-row:1/span 2;color:#55ae2d;font-size:25px}
.m365-hero-visual{position:relative;height:455px;overflow:visible;border-radius:18px}.m365-hero-visual>img{width:100%;height:100%;object-fit:cover;border-radius:18px;display:block}
.m365-hero-card{position:absolute;left:15%;right:8%;bottom:-20px;padding:18px 22px;background:#fff;border-radius:14px;box-shadow:0 12px 35px rgba(20,35,50,.15)}.m365-hero-card strong,.m365-hero-card span{display:block}.m365-hero-card strong{font-size:17px}.m365-hero-card span{margin-top:5px;color:#586773;font-size:12px}

/* CASES */
.m365-situations{background:#fbfcfb}
.m365-real-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.m365-real-grid article{display:flex;flex-direction:column;min-height:250px;padding:20px;border:1px solid #e1e7e4;border-radius:15px;background:#fff}
.m365-real-grid i{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:13px;border-radius:50%;background:#f1f8ed;color:#54ae2b;font-style:normal;font-weight:900;font-size:22px}.m365-real-grid i.blue{background:#edf5ff;color:#2074dc}.m365-real-grid i.violet{background:#f1efff;color:#6657dc}
.m365-real-grid h3{margin:0 0 9px;font-size:16px;line-height:1.25}.m365-real-grid p{margin:0;color:#5c6a74;font-size:12px;line-height:1.55}.m365-real-grid a{margin-top:auto;padding-top:18px;color:#51aa2b;font-size:12px;font-weight:800}.m365-real-grid a.blue{color:#2175df}.m365-real-grid a.violet{color:#6657dc}

/* PROCESS */
.m365-process{padding:38px 0 50px;background:#fff;border-bottom:1px solid #edf0ee}.m365-process h2{text-align:center;margin:0 0 28px;font-size:30px}
.m365-process-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:20px;align-items:center}.m365-process-grid article{display:grid;grid-template-columns:66px 1fr;gap:14px;align-items:center}.m365-process-grid article>b{display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:#f3f8ef;border:1px solid #e0eadb;color:#51a829;font-size:22px}.m365-process-grid h3{margin:0 0 5px;font-size:14px}.m365-process-grid p{margin:0;color:#5e6b75;font-size:12px;line-height:1.45}.m365-process-grid>span{font-size:22px}

/* CAPABILITIES */
.m365-capabilities{background:#fff}.m365-cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.m365-cap-grid article{display:grid;grid-template-columns:52px 1fr;gap:14px;min-height:120px;padding:19px;border:1px solid #e3e8e6;border-radius:13px}.m365-cap-grid i{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:10px;background:#1975d1;color:#fff;font-style:normal;font-weight:900;font-size:20px}.m365-cap-grid i.teams{background:#6256cf}.m365-cap-grid i.onedrive{background:#1783dd}.m365-cap-grid i.sharepoint{background:#168c8c}.m365-cap-grid i.security,.m365-cap-grid i.device,.m365-cap-grid i.governance{background:#59aa2e}.m365-cap-grid i.apps{background:#1685db}.m365-cap-grid h3{margin:1px 0 6px;font-size:14px}.m365-cap-grid p{margin:0;color:#60707a;font-size:12px;line-height:1.5}

/* VALUE */
.m365-value{background:#fff!important;padding-top:20px!important}.m365-value-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:34px 30px;border:1px solid #e1e8df;border-radius:17px;background:linear-gradient(90deg,#fbfdf9,#fff);overflow:hidden}.m365-value-box h2{margin:0;font-size:26px;line-height:1.13;max-width:720px}.m365-value-box>p{margin:0;color:#65716a}.m365-value-box>.btn{margin-top:6px;background:#5ab52d;border-color:#5ab52d;color:#fff}
.m365-value-items{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;width:100%;margin:8px 0;border-top:1px solid #e3e9e1;border-bottom:1px solid #e3e9e1}.m365-value-items article{text-align:center;padding:22px 15px;border-right:1px solid #e3e9e1}.m365-value-items article:last-child{border-right:0}.m365-value-items i{display:block;color:#55ad2d;font-style:normal;font-size:34px}.m365-value-items h3{color:#4da127;font-size:13px}.m365-value-items p{color:#66736c;font-size:12px;line-height:1.5}

/* EDITORIAL */
.m365-editorial{background:#f8faf8}.m365-editorial-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}.m365-editorial-photo{height:390px;overflow:hidden;border-radius:18px}.m365-editorial-photo img{width:100%;height:100%;object-fit:cover;display:block}.m365-editorial h2{font-size:clamp(34px,3.2vw,49px);line-height:1.04;letter-spacing:-1.3px}.m365-editorial .lead{color:#4e5e55;font-size:16px;line-height:1.55}.m365-editorial ul{padding:0;margin:22px 0 0;list-style:none}.m365-editorial li{padding:12px 0;border-bottom:1px solid #e1e8e2;color:#506158}.m365-editorial li::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:10px;border-radius:50%;background:#eaf7e5;color:#55ad2d;font-weight:900}

/* FAQ */
.m365-faq{background:#fff;border-top:1px solid #edf1ee}.m365-faq .m365-heading{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}.m365-faq details{box-shadow:none}.m365-faq details{margin-bottom:10px;border:1px solid #e2e8e4;border-radius:12px;background:#fff}.m365-faq summary{padding:17px 19px;color:#17221b;font-weight:800;cursor:pointer}.m365-faq details p{padding:0 19px 18px;margin:0;color:#607067;line-height:1.55}

/* FINAL */
.m365-final{padding:55px 0;background:#071525;color:#fff}.m365-final-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.m365-final .eyebrow{color:#68c438}.m365-final h2{margin:8px 0 10px;color:#fff;font-size:38px}.m365-final p{max-width:760px;color:#c3ced8}.m365-final .btn{background:#62bd32;border-color:#62bd32;color:#fff}

/* RESPONSIVE */
@media(max-width:1000px){
 .m365-hero-grid,.m365-editorial-grid{grid-template-columns:1fr}.m365-real-grid,.m365-cap-grid{grid-template-columns:repeat(2,1fr)}
 .m365-process-grid{grid-template-columns:1fr}.m365-process-grid>span{display:none}
 .m365-value-items{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
 .m365-hero{padding-top:40px}.m365-hero-copy h1{font-size:42px}.m365-proof{flex-direction:column;gap:12px}.m365-hero-visual{height:340px}
 .m365-real-grid,.m365-cap-grid,.m365-value-items{grid-template-columns:1fr}.m365-final-grid{grid-template-columns:1fr}
 .m365-process-grid article{grid-template-columns:58px 1fr}
}


/* =========================================================
   MICROSOFT 365 RESTYLING · V2
   Approved visual fidelity + recognizable Microsoft app icons
   ========================================================= */

/* Case icons: use graphic assets */
body.m365v1 .m365-real-grid .m365-appicon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:52px !important;
  height:52px !important;
  margin-bottom:13px !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 8px 18px rgba(20,35,50,.07) !important;
}
body.m365v1 .m365-real-grid .m365-appicon img{
  display:block !important;
  width:38px !important;
  height:38px !important;
  object-fit:contain !important;
}

/* Capability icons */
body.m365v1 .m365-cap-grid .m365-capicon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:50px !important;
  height:50px !important;
  background:transparent !important;
  border-radius:0 !important;
}
body.m365v1 .m365-cap-grid .m365-capicon img{
  display:block !important;
  width:46px !important;
  height:46px !important;
  object-fit:contain !important;
}

/* Reduce generic icon styling collisions */
body.m365v1 .m365-cap-grid i.m365-capicon{
  color:inherit !important;
}

/* Slightly more faithful spacing */
body.m365v1 .m365-real-grid article{
  min-height:270px !important;
  padding:22px !important;
}
body.m365v1 .m365-cap-grid article{
  min-height:126px !important;
  padding:20px !important;
}

/* Partner / trust strip */
body.m365v1 .m365-partner-strip{
  padding:18px 0 26px !important;
  background:#fff !important;
}
body.m365v1 .m365-partner-inner{
  display:grid !important;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr) !important;
  gap:34px !important;
  align-items:center !important;
  padding:18px 24px !important;
  border:1px solid #e3e8e6 !important;
  border-radius:14px !important;
  background:#fff !important;
}
body.m365v1 .m365-partner-brand img{
  display:block !important;
  max-width:100% !important;
  height:54px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
body.m365v1 .m365-partner-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:5px !important;
}
body.m365v1 .m365-partner-copy strong{
  color:#142019 !important;
  font-size:15px !important;
}
body.m365v1 .m365-partner-copy span{
  color:#5f6d66 !important;
  font-size:12px !important;
}

/* Hero feels closer to approved composition */
body.m365v1 .m365-hero{
  padding-top:52px !important;
  padding-bottom:64px !important;
}
body.m365v1 .m365-hero-visual{
  height:470px !important;
}
body.m365v1 .m365-hero-card{
  left:13% !important;
  right:7% !important;
  bottom:-26px !important;
}

/* Process spacing */
body.m365v1 .m365-process-grid article>b{
  width:64px !important;
  height:64px !important;
}

/* Final value block closer to the visual proposal */
body.m365v1 .m365-value-box{
  box-shadow:none !important;
}
body.m365v1 .m365-value-items article{
  min-height:170px !important;
}

/* Mobile */
@media(max-width:800px){
  body.m365v1 .m365-partner-inner{
    grid-template-columns:1fr !important;
  }
  body.m365v1 .m365-partner-brand img{
    object-position:center !important;
    margin:auto !important;
  }
}


/* =========================================================
   MICROSOFT 365 RESTYLING · V3
   Hero rebuilt to match approved composition
   ========================================================= */

body.m365v1 .m365-hero{
  padding:46px 0 68px !important;
  overflow:visible !important;
}

body.m365v1 .m365-hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:40px !important;
  align-items:center !important;
}

body.m365v1 .m365-hero-copy{
  max-width:650px !important;
}

body.m365v1 .m365-hero-copy h1{
  max-width:620px !important;
  margin:12px 0 18px !important;
  font-size:clamp(43px,3.8vw,58px) !important;
  line-height:1.035 !important;
  letter-spacing:-1.65px !important;
  overflow:visible !important;
}

body.m365v1 .m365-hero-copy>p{
  max-width:570px !important;
  margin:0 !important;
  font-size:16px !important;
  line-height:1.58 !important;
}

body.m365v1 .m365-hero .hero-actions{
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:24px !important;
}

body.m365v1 .m365-hero .hero-actions .btn{
  min-width:0 !important;
  padding:13px 20px !important;
}

body.m365v1 .m365-hero .hero-actions .btn.outline{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  color:#17212d !important;
  border:1px solid #8d99a4 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

body.m365v1 .m365-hero-visual{
  position:relative !important;
  height:430px !important;
  min-height:430px !important;
  overflow:visible !important;
  border-radius:18px !important;
  background:#f8faf8 !important;
}

body.m365v1 .m365-hero-visual>img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:18px !important;
  border:0 !important;
  box-shadow:none !important;
}

/* HTML card only; image itself contains no card */
body.m365v1 .m365-hero-card{
  position:absolute !important;
  left:16% !important;
  right:8% !important;
  bottom:-22px !important;
  z-index:3 !important;
  padding:18px 22px !important;
  background:#fff !important;
  border:1px solid #edf0ee !important;
  border-radius:15px !important;
  box-shadow:0 14px 36px rgba(20,35,50,.13) !important;
}

body.m365v1 .m365-hero-card strong{
  font-size:17px !important;
  color:#17212d !important;
}
body.m365v1 .m365-hero-card span{
  margin-top:6px !important;
  color:#5f6c76 !important;
  font-size:12px !important;
  line-height:1.45 !important;
}

/* Human proof: make it readable and proportioned */
body.m365v1 .m365-proof{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  margin-top:30px !important;
}

body.m365v1 .m365-proof span{
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr) !important;
  gap:8px !important;
  align-items:center !important;
  color:#394750 !important;
  font-size:12px !important;
  line-height:1.4 !important;
}

body.m365v1 .m365-proof b{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  color:#54ad2c !important;
  font-size:23px !important;
  line-height:1 !important;
}

/* Prevent any inherited blank/white button text */
body.m365v1 .m365-hero .btn.outline,
body.m365v1 .m365-hero .btn.outline:hover,
body.m365v1 .m365-hero .btn.outline:focus{
  color:#17212d !important;
  background:#fff !important;
}

/* Responsive */
@media(max-width:1000px){
  body.m365v1 .m365-hero-grid{
    grid-template-columns:1fr !important;
    gap:42px !important;
  }
  body.m365v1 .m365-hero-copy{
    max-width:760px !important;
  }
  body.m365v1 .m365-hero-visual{
    height:400px !important;
  }
}

@media(max-width:650px){
  body.m365v1 .m365-hero-copy h1{
    font-size:40px !important;
    letter-spacing:-1.2px !important;
  }
  body.m365v1 .m365-hero-visual{
    height:320px !important;
  }
  body.m365v1 .m365-proof{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  body.m365v1 .m365-hero-card{
    left:6% !important;
    right:6% !important;
    bottom:-34px !important;
  }
}


/* =========================================================
   MICROSOFT 365 RESTYLING · V4
   Clean icon assets — no mockup text included
   ========================================================= */

body.m365v1 .m365-real-grid .m365-appicon{
  width:50px !important;
  height:50px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#fff !important;
}

body.m365v1 .m365-real-grid .m365-appicon img{
  width:44px !important;
  height:44px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
}

body.m365v1 .m365-cap-grid .m365-capicon{
  width:50px !important;
  height:50px !important;
  padding:0 !important;
  overflow:visible !important;
}

body.m365v1 .m365-cap-grid .m365-capicon img{
  width:48px !important;
  height:48px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
}

/* No inherited captions/pseudo content around icon containers */
body.m365v1 .m365-appicon::before,
body.m365v1 .m365-appicon::after,
body.m365v1 .m365-capicon::before,
body.m365v1 .m365-capicon::after{
  content:none !important;
  display:none !important;
}
