/* ==========================================================================
   WOOLLEMIA INFOSEC — Refinement layer
   1. Alternating section surfaces (case studies -> end of page)
   2. Redesigned "Standards & frameworks" section
   3. Professional footer
   Loaded last so it wins over earlier stylesheets.
   ========================================================================== */

html, body{
  max-width:100%;
  overflow-x:hidden !important;
}

:root{
  --surface-a:#ffffff;
  --surface-b:#f4f7fc;
  --surface-c:#eef3fb;
  --seam:rgba(15,23,42,0.07);
  --ink-navy:#0b132b;
}

/* ==========================================================
   1. SECTION RHYTHM — alternating surfaces after case studies
   ========================================================== */
section.wm-cases{ background:var(--surface-a) !important; }
section.wf8{ background:var(--surface-b) !important; }
section.wm-samples{ background:var(--surface-a) !important; }
section.wm-certs{ background:var(--surface-c) !important; }
section.wm-tools2{ background:var(--surface-a) !important; }
section.wm-faq{ background:var(--surface-b) !important; }
section.wm-scope{ background:var(--surface-a) !important; }

section.wm-cases,
section.wf8,
section.wm-samples,
section.wm-certs,
section.wm-tools2,
section.wm-faq,
section.wm-scope{
  border-top:1px solid var(--seam);
  position:relative;
}

/* cards need to stay lighter than tinted bands */
section.wf8 .wf8__card,
section.wm-certs .wm-cert__box,
section.wm-faq .wm-faq__item{
  background:#ffffff !important;
}

/* ==========================================================
   2. STANDARDS & FRAMEWORKS — redesigned
   ========================================================== */
section.wm-std{
  background:
    radial-gradient(1100px 460px at 82% -12%, rgba(0,200,255,0.16), transparent 62%),
    radial-gradient(900px 420px at 8% 108%, rgba(0,102,255,0.20), transparent 60%),
    linear-gradient(180deg,#0b132b 0%,#101a38 52%,#0b132b 100%) !important;
  border-top:1px solid rgba(255,255,255,0.08);
  border-bottom:1px solid rgba(255,255,255,0.08);
  padding:clamp(56px,6.5vw,92px) 0 !important;
  position:relative;
  overflow:hidden;
}
section.wm-std::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(80% 70% at 50% 40%, #000 30%, transparent 100%);
  -webkit-mask-image:radial-gradient(80% 70% at 50% 40%, #000 30%, transparent 100%);
  pointer-events:none;
}
.wm-std__inner{ position:relative; z-index:1; }

.wm-std__head{ align-items:end; margin-bottom:8px; }
.wm-std .section-eyebrow .label{ color:#7fd8ff !important; }
.wm-std .section-eyebrow .rule{ background:rgba(127,216,255,0.55) !important; }
.wm-std__title{ color:#ffffff !important; font-size:clamp(25px,3.1vw,36px) !important; }
.wm-std__title em{ color:#5ec9ff !important; }
.wm-std__sub{ color:rgba(226,235,250,0.72) !important; max-width:660px; font-size:15px !important; }
.wm-std__note{
  color:rgba(226,235,250,0.62) !important;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:999px;
  padding:6px 12px;
  background:rgba(255,255,255,0.04);
}

/* group panels instead of flat ledger columns */
.wm-std__groups{
  border-top:0 !important;
  gap:18px;
  margin-top:38px !important;
}
.wm-std__group{
  border-left:0 !important;
  padding:22px 22px 8px !important;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.028));
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:0 22px 46px -30px rgba(0,0,0,0.85);
  transition:transform .35s cubic-bezier(.22,.9,.28,1), border-color .3s ease, background .3s ease;
}
.wm-std__group:hover{
  transform:translateY(-4px);
  border-color:rgba(94,201,255,0.38);
  background:linear-gradient(180deg, rgba(94,201,255,0.10), rgba(255,255,255,0.03));
}
.wm-std__group-head{
  justify-content:space-between;
  padding-bottom:12px;
  margin-bottom:4px;
  border-bottom:1px solid rgba(255,255,255,0.10);
}
.wm-std__group-title{ color:#ffffff !important; font-size:15px !important; }
.wm-std__group-count{
  color:#9fe3ff !important;
  background:rgba(94,201,255,0.12) !important;
  border:1px solid rgba(94,201,255,0.24);
}

.wm-std__item{ border-top:1px solid rgba(255,255,255,0.08) !important; padding:15px 0 !important; }
.wm-std__item:first-of-type{ border-top:0 !important; }
.wm-std__icon{
  background:rgba(94,201,255,0.12) !important;
  border:1px solid rgba(94,201,255,0.26) !important;
  color:#7fd8ff !important;
  border-radius:11px;
}
.wm-std__item:hover .wm-std__icon{
  background:linear-gradient(135deg,#0066ff,#00c8ff) !important;
  color:#ffffff !important;
  border-color:transparent !important;
}
.wm-std__name{ color:#ffffff !important; font-size:14.5px !important; }
.wm-std__desc{ color:rgba(226,235,250,0.66) !important; }
.wm-std__tag{ color:#8ab7e8 !important; }

.wm-std__foot{
  margin-top:30px !important;
  padding:16px 18px !important;
  border-top:0 !important;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:12px;
  background:rgba(255,255,255,0.04);
  color:rgba(226,235,250,0.78) !important;
}
.wm-std__foot i{ color:#5ec9ff !important; }

@media (max-width:900px){
  .wm-std__group:nth-child(3){ border-top:1px solid rgba(255,255,255,0.10) !important; padding-top:22px !important; }
}
@media (max-width:640px){
  .wm-std__group{ padding:20px 18px 6px !important; border-top:1px solid rgba(255,255,255,0.10) !important; }
  .wm-std__group:first-child{ padding-top:20px !important; }
}

/* ==========================================================
   3. FOOTER — professional refresh (compact height)
   ========================================================== */
footer.footer{
  position:relative;
  background:#00142f;
  padding:clamp(32px,3.4vw,44px) 0 0 !important;
  color:#c7d2e4;
}
footer.footer p{
  color:#ffffff !important;
}
footer.footer::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, #0066ff 22%, #00c8ff 55%, transparent);
  opacity:.85;
}
footer.footer .footer-grid{
  display:grid !important;
  grid-template-columns:1.5fr 1fr 1.15fr 1.4fr !important;
  gap:clamp(20px,2.6vw,36px) !important;
  padding-bottom:24px;
}
footer.footer .brand-logo img{
 height: 69px;
  border-radius:5px;
}
footer.footer .footer-desc{
  color:#fff;
  font-size:13px; line-height:1.55; max-width:340px; margin:0 0 12px;
}
footer.footer .footer-column h4{
  font-family:'Inter', sans-serif !important;
  font-size:13px !important;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#ffffff!important;
  margin:0 0 10px !important;
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,0.10);
}
footer.footer .footer-links{ list-style:none; margin:0; padding:0; display:grid; gap:7px; }
footer.footer .footer-links a{
  color:#fff;
  font-size:14.2px;
  text-decoration:none;
  cursor:pointer;
  display:inline-flex; align-items:center; gap:9px;
  transition:color .2s ease, transform .2s ease;
}
footer.footer .footer-links a::before{
  content:"";
  width:0; height:1px; background:#00c8ff;
  transition:width .25s ease;
}
footer.footer .footer-links a:hover{ color:rgb(0 82 211) !important; transform:translateX(2px); }
footer.footer .footer-links a:hover::before{ width:12px; }

footer.footer .footer-contact-item{
  display:flex; gap:10px; align-items:flex-start;
  font-size:14.2px; line-height:1.5;
  color:#fff;
  margin-bottom:9px;
}
footer.footer .footer-contact-item span{
  display:inline-block;
  padding-top:4px;
}
footer.footer .footer-contact-item i{
  flex:0 0 auto;
  width:26px; height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  border-radius:8px;
  font-size:13px;
  color:#7fd8ff;
  background:rgba(94,201,255,0.10);
  border:1px solid rgba(94,201,255,0.22);
  transition:all .25s ease;
}
footer.footer .footer-contact-item:hover i{
  background:linear-gradient(135deg,#0066ff,#00c8ff);
  border-color:transparent; color:#fff;
}

footer.footer .social-links{ display:flex; gap:25px; margin-top:6px; }
footer.footer .social-icon{
   width:32px;
   height:32px;
   display:grid;
   place-items:center;
   border-radius:9px;
   background: linear-gradient(135deg, #0066ff, #00c8ff);
   border-color: transparent;
   color: #fff !important;
   transition: all .25s ease;
}
footer.footer .social-icon:hover{
    transform: translateY(-2px);
    color: rgba(199, 210, 228, 0.85) !important;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

footer.footer .footer-bottom{
  display:flex; flex-wrap:wrap; gap:10px;
  align-items:center; justify-content:space-between;
  padding:14px 0 16px;
  margin-top:0;
  border-top:1px solid rgba(255,255,255,0.09) !important;
  font-size:13px;
  color:rgb(165 165 165);
}
footer.footer .footer-bottom a{
  color:rgb(165 165 165) !important;
  text-decoration:none;
  transition:color .2s ease;
}
footer.footer .footer-bottom a:hover{ color:#00c8ff !important; }
/* =========================================
   FOOTER VAPT DROPDOWN
========================================= */

.footer-dropdown {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}

.footer-dropdown-toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    justify-content: flex-start !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.footer-dropdown-arrow {
    font-size: 16px;
    line-height: 1;
    transition: transform 0.3s ease;
}

/* Submenu hidden by default */
.footer-submenu {
    display: none;
    list-style: none;
    margin: 8px 0 0;
    padding: 0 0 0 16px;
}

/* Submenu links */
.footer-submenu li {
    margin: 0;
    padding: 0;
}

.footer-submenu a {
    display: block;
    padding: 6px 0;
    font-size: 14px;
}

/* Open state */
.footer-dropdown.active .footer-submenu {
    display: block;
}

.footer-dropdown.active .footer-dropdown-arrow {
    transform: rotate(180deg);
}
/* =========================================
   VAPT FOOTER HOVER DROPDOWN
========================================= */

.footer-dropdown {
    position: relative;
}

/* VAPT */
.footer-dropdown-toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    justify-content: flex-start !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
.footer-dropdown-arrow {
    font-size: 14px;
    transition: transform 0.3s ease;
}

/* Hide submenu */
.footer-dropdown .footer-submenu {
    display: none !important;
    list-style: none !important;
    margin: 6px 0 0 15px !important;
    padding: 0 !important;
}

/* SHOW SUBMENU ON HOVER */
.footer-dropdown:hover > .footer-submenu {
    display: block !important;
}

/* Submenu items */
.footer-dropdown .footer-submenu li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Submenu links */
.footer-dropdown .footer-submenu li a {
    display: block !important;
    padding: 5px 0 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-decoration: none;
}

/* Arrow rotates on hover */
.footer-dropdown:hover .footer-dropdown-arrow {
    transform: rotate(180deg);
}
@media (max-width:1024px){
  footer.footer .footer-grid{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width:640px){
  footer.footer .footer-grid{ grid-template-columns:1fr !important; }
  footer.footer .footer-bottom{ justify-content:center; text-align:center; }
}

/* tighten inherited list spacing */
footer.footer .footer-links li{ margin:0 !important; padding:0 !important; }
footer.footer .footer-links{ gap:7px !important; }