/*
Theme Name: 4ON Full Site Redesign V7.12
Description: Theme developed by Lee Gibbins for 4ON 365 Ltd.
Author: Lee Gibbins
Version: 7.12
*/
:root{--bg:#091221;--panel:#111d34;--panel2:#0d182a;--text:#f7f8fb;--muted:#aeb9cc;--blue:#607fc6;--blue2:#87a3e5;--red:#b33b49;--line:#273652}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.wrap{max-width:1240px;margin:auto;padding:0 30px}.narrow{max-width:900px}.site-header{min-height:78px;background:#050505;border-bottom:1px solid #273044;display:flex;align-items:center;position:sticky;top:0;z-index:100}.header-inner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{display:block;width:104px;height:auto}.nav{display:flex;gap:24px;align-items:center;font-size:11px;font-weight:800;letter-spacing:.2px}.nav>a,.nav-group>a{padding:31px 0}.nav>a:not(.phone):hover,.nav-group>a:hover{color:var(--blue2)}.nav-group{position:relative;align-self:stretch;display:flex;align-items:center}.dropdown{display:none;position:absolute;top:100%;left:-18px;min-width:245px;background:#090c12;border:1px solid #283247;box-shadow:0 18px 40px #0009;padding:10px;z-index:110}.dropdown a{display:block;padding:12px 14px;color:#d8deea;font-size:11px}.dropdown a:hover{background:#141e31;color:#fff}.nav-group:hover .dropdown,.nav-group:focus-within .dropdown{display:block}.phone{background:var(--blue);padding:11px 16px!important;border-radius:2px;white-space:nowrap}.menu-toggle{display:none;background:transparent;border:1px solid #35405a;color:#fff;font-size:24px;padding:7px 11px}.hero-slider{min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden}.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .8s ease}.slide.active{opacity:1}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,28,.92),rgba(5,13,28,.46) 55%,rgba(5,13,28,.18))}.hero-content{position:relative;z-index:2;width:100%}.hero-card{max-width:700px;background:rgba(17,29,52,.94);padding:44px;border:1px solid var(--line);box-shadow:0 20px 60px #0005}.eyebrow{display:inline-block;background:var(--red);padding:7px 12px;font-size:12px;font-weight:900;letter-spacing:.6px}.hero-card h1{font-size:46px;line-height:1.06;margin:22px 0 18px}.lead{font-size:17px;line-height:1.65;color:var(--muted)}.actions{display:flex;align-items:center;gap:38px;border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.btn{display:inline-block;background:var(--blue);padding:14px 24px;font-weight:800;font-size:13px}.btn-secondary{background:#202d45}.dots{position:absolute;z-index:3;left:max(30px,calc((100vw - 1240px)/2 + 30px));bottom:32px;display:flex;gap:9px}.dot{width:10px;height:10px;border:0;border-radius:50%;background:#68758c;padding:0;cursor:pointer}.dot.active{width:32px;border-radius:8px;background:var(--blue)}.section{padding:86px 0}.section.alt{background:var(--panel2)}.kicker{color:var(--blue2);font-size:12px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}.section h2{font-size:38px;margin:12px 0 20px}.intro{max-width:790px;color:var(--muted);line-height:1.75}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}.card{background:var(--panel);border:1px solid var(--line);overflow:hidden}.card img{width:100%;height:230px;object-fit:cover}.card-body{padding:25px}.card h3{margin:0 0 12px;font-size:22px}.card p{color:var(--muted);line-height:1.6}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split img{width:100%;min-height:420px;object-fit:cover}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#293650;margin-top:35px}.stat{background:var(--panel);padding:25px}.stat strong{font-size:28px;display:block}.client-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}.client-row span{background:var(--panel);border:1px solid var(--line);padding:30px;text-align:center;font-weight:900;font-size:20px}.cta{text-align:center;background:var(--panel);padding:70px 30px}.cta h2{font-size:40px}.page-hero{background-color:#0b1425;min-height:470px;background-size:cover;background-position:center;position:relative;display:flex;align-items:end}.page-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,20,.96),rgba(4,10,20,.60),rgba(4,10,20,.26))}.page-hero-inner{position:relative;z-index:2;width:100%;padding-top:100px;padding-bottom:74px}.page-hero h1{font-size:54px;max-width:780px;margin:14px 0 18px}.page-hero p{max-width:790px;color:#c3ccdb;line-height:1.75;font-size:18px}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.content-card{position:relative;background:var(--panel);border:1px solid var(--line);padding:34px;min-height:220px}.section-number{display:block;color:#596a89;font-weight:900;font-size:12px;margin-bottom:24px}.content-card h2{font-size:25px;margin:0 0 14px}.content-card p{color:var(--muted);line-height:1.72;margin:0}.page-cta{margin-top:58px;background:#0d182a;border:1px solid var(--line);padding:34px;display:flex;align-items:center;justify-content:space-between;gap:30px}.page-cta h2{font-size:30px;margin:8px 0}.page-cta p{color:var(--muted);margin:0}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}.post-card{background:var(--panel);border:1px solid var(--line);padding:28px}.post-card h2,.post-card h3{font-size:22px}.post-card p{color:var(--muted);line-height:1.6}.prose{color:#d2d8e2;line-height:1.8;font-size:17px}.prose h2,.prose h3{color:#fff}.footer{background:#050505;padding:48px 0 20px;color:#aab3c3;border-top:1px solid #222a38}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-grid strong{color:#fff;font-size:12px;letter-spacing:1px}.footer-logo{width:90px;margin-bottom:8px}.footer-grid p{max-width:420px;line-height:1.6}.footer-bottom{border-top:1px solid #202532;margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;font-size:12px}.content-page h1{line-height:1.1}@media(max-width:1050px){.nav{gap:15px;font-size:10px}.nav-group>a,.nav>a{padding-left:0;padding-right:0}}@media(max-width:860px){.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:77px;background:#050505;padding:20px 24px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 77px);overflow:auto}.nav.open{display:flex}.nav>a,.nav-group>a{display:block;padding:13px 0}.dropdown{display:block;position:static;box-shadow:none;border:0;border-left:1px solid #2c3650;background:transparent;padding:0 0 0 13px}.dropdown a{padding:9px 4px}.brand img{width:88px}.hero-slider{min-height:650px}.hero-card h1{font-size:34px}.grid,.split,.client-row,.content-grid,.post-grid{grid-template-columns:1fr}.wrap{padding:0 20px}.hero-card{padding:28px}.actions{align-items:flex-start;flex-direction:column;gap:20px}.stats{grid-template-columns:1fr}.section{padding:58px 0}.page-hero{background-color:#0b1425;min-height:410px}.page-hero h1{font-size:40px}.page-hero p{font-size:16px}.page-cta{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}}


/* V7.6 portrait mobile navigation */
@media (max-width: 767px) {
  body.fouron-menu-open { overflow: hidden; }

  .site-header .nav,
  .site-header nav,
  .main-nav {
    width: 100%;
  }

  .main-nav > ul,
  .site-header nav > ul {
    display: block !important;
    width: 100%;
    padding: 18px 24px 28px !important;
    margin: 0 !important;
  }

  .main-nav li,
  .site-header nav li {
    display: block !important;
    width: 100% !important;
    position: relative !important;
    margin: 0 !important;
    border: 0 !important;
  }

  .main-nav > ul > li > a,
  .site-header nav > ul > li > a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100% !important;
    min-height: 52px;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(130,150,190,.18);
  }

  .main-nav .sub-menu,
  .site-header nav .sub-menu {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    display: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 4px 0 10px 16px !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .main-nav li.mobile-expanded > .sub-menu,
  .site-header nav li.mobile-expanded > .sub-menu {
    display: block !important;
  }

  .main-nav .sub-menu li a,
  .site-header nav .sub-menu li a {
    display: block !important;
    width: 100% !important;
    padding: 11px 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    border: 0 !important;
  }

  .main-nav li.menu-item-has-children > a::after,
  .site-header nav li.menu-item-has-children > a::after {
    content: "+" !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-left: 14px;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
  }

  .main-nav li.menu-item-has-children.mobile-expanded > a::after,
  .site-header nav li.menu-item-has-children.mobile-expanded > a::after {
    content: "−" !important;
  }

  .main-nav .sub-menu::before,
  .main-nav .sub-menu::after,
  .site-header nav .sub-menu::before,
  .site-header nav .sub-menu::after {
    display: none !important;
    content: none !important;
  }
}


/* V7.9 actual mobile navigation fix for .nav-group / .dropdown markup */
@media screen and (max-width: 767px) {
  body.fouron-menu-open {
    overflow: hidden !important;
  }

  .site-header .nav {
    display: none !important;
    position: fixed !important;
    z-index: 9999 !important;
    top: var(--fouron-mobile-header-height, 96px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    background: #050505 !important;
    padding: 18px 24px 32px !important;
    margin: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    box-sizing: border-box !important;
  }

  .site-header .nav.open {
    display: flex !important;
  }

  .site-header .nav > a,
  .site-header .nav .nav-group > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 14px 0 !important;
    margin: 0 !important;
    color: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(135,155,195,.20) !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .site-header .nav .nav-group {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .site-header .nav .nav-group > a::after {
    content: "+" !important;
    display: inline-block !important;
    margin-left: 16px !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
  }

  .site-header .nav .nav-group.mobile-expanded > a::after {
    content: "−" !important;
  }

  .site-header .nav .dropdown {
    display: none !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 4px 0 10px 18px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .site-header .nav .nav-group.mobile-expanded > .dropdown {
    display: block !important;
  }

  .site-header .nav .dropdown a {
    display: block !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 11px 0 !important;
    margin: 0 !important;
    color: rgba(255,255,255,.82) !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .site-header .nav .dropdown a:hover,
  .site-header .nav .dropdown a:focus {
    color: #fff !important;
    background: transparent !important;
  }

  .site-header .nav .phone {
    margin-top: 18px !important;
    padding: 16px 18px !important;
    justify-content: center !important;
    background: #2443a3 !important;
    border: 0 !important;
    text-align: center !important;
  }

  .site-header .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .site-header .menu-toggle.is-open {
    font-size: 0 !important;
  }

  .site-header .menu-toggle.is-open::before {
    content: "×";
    font-size: 36px;
    line-height: 1;
    font-weight: 300;
  }
}


/* V7.12 single handler mobile menu */
@media screen and (max-width: 767px) {
  .site-header .nav {
    display: none !important;
  }

  .site-header .nav.open {
    display: flex !important;
  }

  .site-header .nav .nav-group .dropdown {
    display: none !important;
  }

  .site-header .nav .nav-group.mobile-expanded > .dropdown {
    display: block !important;
  }

  body.fouron-menu-open {
    overflow: hidden !important;
  }
}
