/* MakingITworc — Futuristic motion + depth layer */
:root{--miw-navy:#1B3A6B;--miw-navy-dark:#0F2548;--miw-wine:#A32D2D;--miw-gold:#E0B43B;--miw-gold-soft:#FFE7A6;--miw-green:#1D9E75;}
html{scroll-behavior:smooth;}
/* Scroll reveal — gated on html.miw-anim so no-JS / reduced-motion stays fully visible */
html.miw-anim [data-miw-reveal]{opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1);}
html.miw-anim [data-miw-reveal].is-visible{opacity:1;transform:none;}
/* Header scrolled state */
.site-header,.header,header[role="banner"]{transition:box-shadow .3s ease,backdrop-filter .3s ease;}
.miw-header-scrolled{box-shadow:0 6px 26px rgba(15,37,72,.14);backdrop-filter:saturate(140%) blur(7px);}
/* Buttons — lift, glow, shimmer */
.btn,.button{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .3s ease;}
html.miw-anim .btn:hover,html.miw-anim .button:hover{transform:translateY(-2px);}
html.miw-anim .btn-primary:hover,html.miw-anim .button-primary:hover{box-shadow:0 10px 30px rgba(27,58,107,.40);}
html.miw-anim .btn::after{content:"";position:absolute;top:0;left:-140%;width:55%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);pointer-events:none;}
html.miw-anim .btn:hover::after{animation:miwShimmer .85s ease;}
@keyframes miwShimmer{to{left:140%;}}
/* Cards — depth on hover */
.card,.service-card,.feature,.feature-card,.pricing-card,.tier-card,.value-card{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
html.miw-anim .card:hover,html.miw-anim .service-card:hover,html.miw-anim .feature:hover,html.miw-anim .feature-card:hover,html.miw-anim .pricing-card:hover,html.miw-anim .value-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(15,37,72,.16);}
/* Animated gradient background (subtle) */
html.miw-anim .miw-animated-bg{background-size:220% 220%;animation:miwGradient 16s ease infinite;}
@keyframes miwGradient{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
/* Dot-grid futuristic texture overlay */
.miw-grid-bg{position:relative;}
.miw-grid-bg>*{position:relative;z-index:1;}
.miw-grid-bg::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(127,178,236,.12) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse at 75% 35%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse at 75% 35%,#000 25%,transparent 78%);}
/* Glowing divider */
.miw-divider{height:2px;border:0;margin:0;background:linear-gradient(90deg,transparent,var(--miw-gold),transparent);opacity:.75;}
html.miw-anim .miw-divider{background-size:220% 100%;animation:miwGradient 7s linear infinite;}
/* Gradient accent text utility */
.miw-gradient-text{background:linear-gradient(90deg,var(--miw-gold),var(--miw-gold-soft));-webkit-background-clip:text;background-clip:text;color:transparent;}
/* Content link underline grow (scoped to body copy only) */
html.miw-anim main p a:not(.btn),html.miw-anim .entry-content a:not(.btn){background-image:linear-gradient(var(--miw-gold),var(--miw-gold));background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s ease;}
html.miw-anim main p a:not(.btn):hover,html.miw-anim .entry-content a:not(.btn):hover{background-size:100% 2px;}
/* Reduced-motion hard stop */
@media (prefers-reduced-motion: reduce){html.miw-anim [data-miw-reveal]{opacity:1!important;transform:none!important;transition:none!important;}html.miw-anim .miw-animated-bg,html.miw-anim .miw-divider{animation:none!important;}html{scroll-behavior:auto;}}
/* --- Scroll progress bar + back-to-top (futuristic polish) --- */
.miw-scrollprog{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#E0B43B,#FFE7A6);z-index:9999;transition:width .1s linear;pointer-events:none}
.miw-totop{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#0F2548,#1B3A6B);color:#E0B43B;border:1px solid rgba(224,180,59,.5);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease,box-shadow .3s ease;z-index:9998;box-shadow:0 6px 20px rgba(15,37,72,.28);padding:0}
.miw-totop.show{opacity:1;visibility:visible;transform:none}
.miw-totop:hover{box-shadow:0 10px 28px rgba(224,180,59,.42)}
@media (prefers-reduced-motion: reduce){.miw-scrollprog{transition:none}.miw-totop{transition:none}}
/* --- miw-dropdown-polish: sub-menu accent + fade-in (centering preserved; mobile-safe) --- */
.nav-links .sub-menu{border-top:2px solid var(--miw-gold,#E0B43B);padding:10px 0}
.nav-links .menu-item-has-children:hover>.sub-menu,
.nav-links .menu-item-has-children:focus-within>.sub-menu{animation:miwDrop .2s ease both}
@keyframes miwDrop{from{opacity:0}to{opacity:1}}
.nav-links .sub-menu a{transition:background .15s ease,color .15s ease,padding-left .15s ease}
.nav-links .sub-menu a:hover{padding-left:24px;color:var(--miw-navy,#1B3A6B)}
.nav-links .menu-item-has-children>a::after{transition:transform .2s ease;display:inline-block}
@media (hover:hover){
  .nav-links .sub-menu{border-radius:10px;box-shadow:0 12px 30px rgba(15,37,72,.16)}
}
@media (prefers-reduced-motion: reduce){
  .nav-links .menu-item-has-children:hover>.sub-menu,
  .nav-links .menu-item-has-children:focus-within>.sub-menu{animation:none}
}

/* --- miw-tapdrop: reveal sub-menu when tap-opened (desktop coarse pointer) --- */
@media (min-width:821px){
  .nav-links .menu-item-has-children.miw-tap-open > .sub-menu{display:block}
}
/* === MIW_LEGAL_UPLIFT: scoped polish + scroll-reveal for plugin legal pages (.mitw-legal-page) === */
.mitw-legal-page{max-width:820px;margin:0 auto;background:#fff;border:1px solid #E7E3D8;border-top:4px solid var(--brand,#1B3A6B);border-radius:14px;padding:40px 44px;box-shadow:0 10px 30px rgba(15,37,72,.06);color:#3a3a3a;line-height:1.7;font-size:15.5px;animation:miwLegalIn .5s ease both}
@keyframes miwLegalIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.mitw-legal-page h1{color:var(--brand,#1B3A6B);font-size:30px;line-height:1.15;margin:0 0 6px}
.mitw-legal-page h2{color:var(--brand,#1B3A6B);font-size:21px;margin:34px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--miw-gold,#E0B43B)}
.mitw-legal-page h3{color:var(--accent,#A32D2D);font-size:17px;margin:22px 0 8px}
.mitw-legal-page p{margin:0 0 14px}
.mitw-legal-page ul,.mitw-legal-page ol{margin:0 0 16px;padding-left:22px}
.mitw-legal-page li{margin:0 0 8px}
.mitw-legal-page a{color:var(--brand,#1B3A6B);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}
.mitw-legal-page a:hover{color:#B8862B}
.mitw-legal-page strong{color:#222}
.mitw-legal-page>p:first-of-type{color:#6a6a6a;font-size:14px}
.mitw-legal-page table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14px}
.mitw-legal-page th{background:var(--brand,#1B3A6B);color:#fff;text-align:left;padding:9px 12px}
.mitw-legal-page td{padding:9px 12px;border-bottom:1px solid #ECE8DD}
.mitw-legal-page tr:nth-child(even) td{background:#F7F5EF}
.mitw-legal-page hr{border:0;height:1px;background:#E7E3D8;margin:26px 0}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .mitw-legal-page h2{animation:miwLegalReveal linear both;animation-timeline:view();animation-range:entry 0% entry 42%}
    @keyframes miwLegalReveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  }
}
@media (prefers-reduced-motion: reduce){ .mitw-legal-page{animation:none} }
@media (max-width:640px){ .mitw-legal-page{padding:26px 20px;border-radius:10px} .mitw-legal-page h1{font-size:25px} }
/* === MIW_LEGAL_UPLIFT2: harmonize plugin callout/meta boxes to navy-gold (override red legal.css) === */
.mitw-legal-page .mitw-meta{background:#F4F7FC;border-left:4px solid var(--brand,#1B3A6B);color:#42506b;padding:12px 16px;margin:4px 0 26px;border-radius:0 8px 8px 0;font-size:13.5px}
.mitw-legal-page .mitw-callout{background:#F7F5EF;border-left:4px solid var(--brand,#1B3A6B);color:#3a3a3a;padding:14px 16px;margin:18px 0;border-radius:0 8px 8px 0;font-size:14.5px}
.mitw-legal-page .mitw-callout-warn{background:#FBF3DF;border-left:4px solid var(--miw-gold,#E0B43B);color:#5a4a1e;padding:14px 16px;margin:18px 0;border-radius:0 8px 8px 0;font-size:14.5px}
.mitw-legal-page .mitw-footer-note{margin-top:36px;padding-top:16px;border-top:1px solid #E7E3D8;color:#8a8a8a;font-size:12.5px}
.mitw-legal-page table th{border:1px solid #1B3A6B}
.mitw-legal-page table td{border:1px solid #E7E3D8}
/* === MIW_DEVICE_ADAPT: graceful degradation for old / low-end devices (html.miw-lite) === */
html.miw-lite .miw-animated-bg{animation:none !important;background:#102a4c !important}
html.miw-lite .miw-grid-bg{background-image:none !important}
html.miw-lite .miw-divider{animation:none !important}
html.miw-lite [data-animate]{opacity:1 !important;transform:none !important;animation:none !important;transition:none !important}
html.miw-lite .mitw-legal-page,html.miw-lite .mitw-legal-page h2{animation:none !important;opacity:1 !important;transform:none !important}
html.miw-lite .miw-coverage *{animation:none !important}
html.miw-lite *{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
html.miw-lite .btn,html.miw-lite .card,html.miw-lite .tier,html.miw-lite .service-card,html.miw-lite .consult-card,html.miw-lite .track-card,html.miw-lite .audience-card{transition:none !important;box-shadow:none !important;transform:none !important}
html.miw-lite .nav-links .sub-menu{animation:none !important}
html.miw-lite .miw-scrollprog,html.miw-lite .miw-totop{display:none !important}
html.miw-lite .site-header{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:#ffffff !important}
html.miw-lite .newsletter-band{background:#0F2548 !important}
/* === MIW_REVEAL_WIN: a revealed [data-animate] must always win over higher-specificity hide rules. Only forces the REVEALED state, so the entrance transition still plays and nothing is ever hidden. === */
html [data-animate].in-view{opacity:1 !important;transform:none !important}
/* === MIW_RESP_TABLES: wide tables scroll horizontally on small screens instead of clipping (does not affect desktop or the narrow legal tables) === */
@media (max-width:860px){
  section table, .container table, table[class*="spec"], table[class*="comparison"]{
    display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
  }
  section table th, section table td,
  .container table th, .container table td,
  table[class*="spec"] th, table[class*="spec"] td{ white-space:nowrap; }
}