/* White Fortress Academy - site header. All classes are prefixed wf- so they cannot clash with page styles. */
.wf-promo,.wf-hdr,.wf-hdr *,.wf-scrim{box-sizing:border-box}
.wf-promo,.wf-hdr{--wf-navy:#003366;--wf-red:#d32f2f;--wf-red-d:#b71c1c;--wf-text:#1a1a2e;--wf-muted:#5a6a7a;--wf-line:#e6ebf1;--wf-hover:#f1f5fa;--wf-side:#f3f7fb;font-family:'DM Sans',system-ui,sans-serif;font-size:16px;line-height:1.6}
.wf-hdr a{text-decoration:none;color:inherit}
.wf-hdr :focus-visible{outline:3px solid #4d9bff;outline-offset:2px;border-radius:8px}
.wf-hdr ul{list-style:none;margin:0;padding:0}

/* promo bar */
.wf-promo{background:linear-gradient(90deg,#00244d,#003f80 55%,#8e1b1b);color:#fff;font-size:.9rem}
.wf-promo .wf-in{max-width:1240px;margin:0 auto;padding:8px 24px;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center}
.wf-promo b{color:#ffd54f}
.wf-promo a{background:#ffd54f;color:#3b2a00;font-weight:700;font-size:.82rem;padding:4px 14px;border-radius:99px;text-decoration:none}
.wf-promo a:hover{background:#ffe082}

/* bar */
.wf-hdr{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--wf-line);color:var(--wf-text);transition:box-shadow .25s}
.wf-hdr.is-stuck{box-shadow:0 6px 22px rgba(0,36,77,.14)}
.wf-bar{max-width:1240px;margin:0 auto;padding:0 24px;height:76px;display:flex;align-items:center;gap:22px}
.wf-logo{display:flex;align-items:center;gap:11px;flex:none}
.wf-logo img{width:42px;height:42px;object-fit:contain;flex:none}
.wf-logo b{display:block;font:700 1.15rem/1.1 'Poppins',sans-serif;color:var(--wf-navy)}
.wf-logo small{display:block;font-size:.72rem;color:var(--wf-muted);line-height:1.3}
.wf-logo b .wf-acad{display:inline;color:var(--wf-red)}
.wf-nav{flex:1;min-width:0}
.wf-menu{display:flex;align-items:center;gap:2px}
.wf-menu>li{position:relative}
.wf-menu>li.wf-wide{position:static}
.wf-menu>li>a,.wf-menu>li>button{display:flex;align-items:center;gap:6px;height:76px;padding:0 12px;font:500 .98rem 'DM Sans',sans-serif;color:var(--wf-text);background:none;border:0;cursor:pointer;position:relative;white-space:nowrap}
.wf-menu>li>a::after,.wf-menu>li>button::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:3px;background:var(--wf-red);transform:scaleX(0);transition:transform .2s;border-radius:3px 3px 0 0}
.wf-menu>li:hover>a::after,.wf-menu>li:hover>button::after,.wf-menu>li>a.is-active::after,.wf-menu>li.is-open>button::after{transform:scaleX(1)}
.wf-menu>li:hover>a,.wf-menu>li:hover>button,.wf-menu>li.is-open>button{color:var(--wf-red)}
.wf-menu>li.wf-cta>button{height:44px;padding:0 18px;border:1.5px solid var(--wf-navy);border-radius:10px;color:var(--wf-navy);font-weight:600;margin-right:6px}
.wf-menu>li.wf-cta>button::after{display:none}
.wf-menu>li.wf-cta:hover>button,.wf-menu>li.wf-cta.is-open>button{background:var(--wf-navy);color:#fff}
.wf-chev{width:10px;height:10px;transition:transform .2s;flex:none}
.is-open>button .wf-chev,.wf-menu>li:hover>button .wf-chev{transform:rotate(180deg)}
.wf-badge{font-size:.68rem;font-weight:700;background:var(--wf-red);color:#fff;padding:1px 7px;border-radius:99px;line-height:1.5}

/* panels */
.wf-panel{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--wf-line);border-top:0;border-radius:0 0 16px 16px;box-shadow:0 18px 40px rgba(0,36,77,.18);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;overflow:hidden}
.wf-menu>li:hover>.wf-panel,.wf-menu>li.is-open>.wf-panel{opacity:1;visibility:visible;transform:none}
.wf-panel.wf-mega{left:50%;width:min(960px,calc(100% - 32px));margin-left:calc(min(960px,100% - 32px)/-2);display:grid;grid-template-columns:1fr 290px}
.wf-panel.wf-sm{min-width:300px}
.wf-panel.wf-right{left:auto;right:0}
.wf-pane{display:grid;grid-template-columns:1fr 1fr;align-content:start}
.wf-row{display:flex;gap:14px;align-items:flex-start;padding:13px 18px;border-bottom:1px solid var(--wf-line);transition:background .15s}
.wf-row:hover,.wf-row:focus-visible{background:var(--wf-hover)}
.wf-row strong{display:block;font-weight:600;font-size:.97rem;line-height:1.3;color:var(--wf-text)}
.wf-d{display:block;font-size:.83rem;color:var(--wf-muted);line-height:1.35;margin-top:1px}
.wf-head{grid-column:1/-1;padding:14px 18px 10px;font:600 .82rem 'DM Sans',sans-serif;color:var(--wf-muted);border-bottom:1px solid var(--wf-line)}
.wf-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none;box-shadow:0 4px 10px rgba(0,36,77,.18)}
.wf-i{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wf-c-blue{background:linear-gradient(135deg,#0d47a1,#42a5f5)}.wf-c-red{background:linear-gradient(135deg,#c62828,#ff7043)}
.wf-c-teal{background:linear-gradient(135deg,#00796b,#26c6da)}.wf-c-amber{background:linear-gradient(135deg,#ef6c00,#ffb300)}
.wf-c-purple{background:linear-gradient(135deg,#5e35b1,#ab47bc)}.wf-c-green{background:linear-gradient(135deg,#2e7d32,#66bb6a)}
.wf-c-indigo{background:linear-gradient(135deg,#283593,#7986cb)}.wf-c-pink{background:linear-gradient(135deg,#ad1457,#f06292)}
.wf-side{background:var(--wf-side);border-left:1px solid var(--wf-line);padding:18px 20px;display:flex;flex-direction:column;gap:2px}
.wf-side h4{margin:0 0 6px;font:600 .82rem 'DM Sans',sans-serif;color:var(--wf-muted)}
.wf-lk{display:flex;justify-content:space-between;align-items:center;padding:9px 0;font-weight:500;font-size:.97rem;border-bottom:1px dashed var(--wf-line)}
.wf-lk:hover{color:var(--wf-red)}
.wf-lk span{color:var(--wf-muted);transition:transform .15s}.wf-lk:hover span{transform:translateX(3px);color:var(--wf-red)}
.wf-card{margin-top:auto;padding:16px;border-radius:14px;background:linear-gradient(135deg,var(--wf-navy),#0a4c93);color:#fff}
.wf-card p{margin:0 0 10px;font-size:.88rem;line-height:1.45;color:#dbe8f7}
.wf-card .wf-btn{width:100%;padding:10px 14px;font-size:.9rem}
.wf-note{margin:14px 0 0;font-size:.8rem;color:var(--wf-muted);line-height:1.4}

/* actions */
.wf-act{display:flex;align-items:center;gap:14px;flex:none}
.wf-call{display:flex;align-items:center;gap:11px}
.wf-circ{width:42px;height:42px;border-radius:50%;background:var(--wf-hover);display:grid;place-items:center;color:var(--wf-navy);flex:none;transition:background .2s,color .2s}
.wf-circ svg{width:19px;height:19px}
.wf-call small{display:block;font-size:.76rem;color:var(--wf-muted);line-height:1.2}
.wf-call b{display:block;font:700 .98rem/1.25 'DM Sans',sans-serif;color:var(--wf-text);white-space:nowrap}
.wf-call:hover .wf-circ{background:var(--wf-navy);color:#fff}
.wf-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--wf-red);color:#fff!important;font:600 .95rem 'DM Sans',sans-serif;padding:11px 22px;border-radius:10px;transition:background .2s,transform .2s;white-space:nowrap;box-shadow:0 4px 12px rgba(211,47,47,.28)}
.wf-btn:hover{background:var(--wf-red-d);transform:translateY(-1px)}
.wf-burger{display:none;width:44px;height:44px;border:1px solid var(--wf-line);background:#fff;border-radius:10px;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.wf-burger i{display:block;width:20px;height:2px;background:var(--wf-text);border-radius:2px;transition:transform .25s,opacity .2s}
.wf-burger[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.wf-burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.wf-burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.wf-drawer-cta{display:none}
.wf-scrim{position:fixed;inset:0;background:rgba(0,20,45,.5);opacity:0;visibility:hidden;transition:opacity .25s;z-index:999}
.wf-scrim.is-on{opacity:1;visibility:visible}

/* medium desktops: hide the "Talk to our experts" text, keep the phone circle */
@media (max-width:1320px){.wf-calltxt{display:none}}

/* tablet and mobile: slide-in drawer */
@media (max-width:1180px){
  .wf-act{display:none}
  .wf-burger{display:flex;margin-left:auto}
  .wf-nav{position:fixed;top:0;right:0;bottom:0;width:min(390px,100%);flex:none;background:#fff;clip-path:inset(0 0 0 100%);transition:clip-path .3s,visibility .3s;z-index:1200;display:flex;flex-direction:column;padding:84px 0 24px;overflow-y:auto;box-shadow:0 0 40px rgba(0,36,77,.25);visibility:hidden}
  .wf-nav.is-open{clip-path:inset(0);visibility:visible}
  .wf-burger{position:relative;z-index:1300}
  .wf-menu{flex-direction:column;align-items:stretch;gap:0;padding:0 14px}
  .wf-menu>li>a,.wf-menu>li>button,.wf-menu>li.wf-cta>button{height:auto;width:100%;padding:15px 12px;justify-content:space-between;border:0;border-bottom:1px solid var(--wf-line);border-radius:0;font-size:1.02rem;color:var(--wf-text);background:none;margin:0}
  .wf-menu>li.wf-cta:hover>button,.wf-menu>li.wf-cta.is-open>button{background:none;color:var(--wf-red)}
  .wf-menu>li>a::after,.wf-menu>li>button::after{display:none}
  .wf-panel,.wf-panel.wf-mega,.wf-panel.wf-sm{position:static;width:auto;min-width:0;margin:0;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;border-radius:0;display:none;grid-template-columns:1fr;overflow:visible}
  .wf-menu>li:hover>.wf-panel{display:none}
  .wf-menu>li.is-open>.wf-panel{display:grid}
  .wf-pane{grid-template-columns:1fr}
  .wf-row{padding:11px 6px}.wf-head{padding:12px 6px 8px}
  .wf-side{background:none;border:0;padding:8px 6px}
  .wf-card{margin-top:10px}
  .wf-drawer-cta{display:flex;flex-direction:column;gap:10px;padding:18px 26px 4px}
  .wf-ghost{border:1px solid var(--wf-line);color:var(--wf-text);font-weight:600;padding:11px 22px;border-radius:10px;text-align:center}
}
@media (max-width:560px){.wf-bar{padding:0 16px;height:66px}.wf-logo small{display:none}.wf-promo .wf-in{padding:7px 14px;font-size:.84rem}.wf-logo b{font-size:1.05rem}}
@media (prefers-reduced-motion:reduce){.wf-hdr *,.wf-nav,.wf-scrim{transition:none!important}}

/* footer safety on narrow screens (logo text must be allowed to wrap) */
.footer-grid>*{min-width:0}
@media (max-width:560px){footer .logo{white-space:normal;font-size:1.25rem;flex-wrap:wrap}}

/* drawer polish */
@media (max-width:1180px){
  .wf-nav::before{content:"Menu";position:absolute;top:0;left:0;right:0;height:76px;padding:0 26px;display:flex;align-items:center;font:700 1.15rem 'Poppins',sans-serif;color:var(--wf-navy);border-bottom:1px solid var(--wf-line);background:#fff}
  .wf-burger[aria-expanded="true"]{position:fixed;top:16px;right:20px}
  body.wf-drawer-open .whatsapp-btn,body.wf-drawer-open #svc-popup{display:none!important}
}
@media (max-width:560px){.wf-burger[aria-expanded="true"]{top:11px;right:16px}.wf-nav::before{height:66px}.wf-nav{padding-top:76px}}

/* inline vector icons used inside page content (replace emojis) */
.ico{width:1em;height:1em;vertical-align:-.14em;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wf-i2{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wf-btn{gap:8px}

/* current section: top-level item stays highlighted on its own pages (e.g. Services on /services/*) */
.wf-menu>li.is-current>button,.wf-menu>li.is-current>a{color:var(--wf-red)}
.wf-menu>li.is-current>button::after,.wf-menu>li.is-current>a::after{transform:scaleX(1)}
@media (max-width:1180px){.wf-menu>li.is-current>button{color:var(--wf-red);font-weight:600}}

.wf-menu>li.wf-cta.is-current>button{background:var(--wf-navy);color:#fff}
@media (max-width:1180px){.wf-menu>li.wf-cta.is-current>button{background:none;color:var(--wf-red);font-weight:600}}

/* Courses dropdown fix: the bordered Courses button is only 44px tall, so its <li> left a gap
   between the button and the panel (which opens at the bottom of the 76px bar) and the menu
   closed while the mouse crossed it. Stretch the <li> to the full bar height so hover is continuous. */
@media (min-width:1181px){
  .wf-menu>li.wf-cta{align-self:stretch;display:flex;align-items:center}
}
