/* =====================================================================
   DESIGN ENHANCEMENT LAYER  (loaded after style.css)
   Richer colours, depth, hover effects, menu/tab animations, scroll reveals.
   Delete this file (and its enqueue line in functions.php) to return to the plain look.
   ===================================================================== */

:root{
  --pri-l:#2f6bff;               /* bright blue for gradients/glows */
  --gold-l:#ffd45c;
  --ink2:#1b2a52;
  --muted:#4b5878;               /* darker = easier to read */
  --alt:#eef4ff;
  --grad-pri:linear-gradient(135deg,#0a2f78 0%,#0b3a8f 45%,#1d56d6 100%);
  --grad-gold:linear-gradient(135deg,#ffcf4a 0%,#f2a900 60%,#e88a00 100%);
  --sh-lg:0 2px 4px rgba(14,26,54,.05),0 18px 44px rgba(11,58,143,.16);
  --ease:cubic-bezier(.22,.8,.25,1);
}
body{background:#fff}
::selection{background:var(--acc);color:#0e1a36}

/* ---------- scroll progress bar + back to top ---------- */
.scroll-bar{position:fixed;left:0;top:0;height:4px;width:100%;z-index:99;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--acc),var(--gold-l),var(--pri-l));pointer-events:none}
.to-top{position:fixed;left:18px;bottom:20px;z-index:58;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;background:var(--grad-pri);color:#fff;display:grid;place-items:center;box-shadow:0 8px 22px rgba(11,58,143,.4);opacity:0;visibility:hidden;transform:translateY(14px) scale(.8);transition:opacity .3s,transform .3s var(--ease),visibility .3s}
.to-top.on{opacity:1;visibility:visible;transform:none}
.to-top:hover{transform:translateY(-3px)}
.to-top svg{transform:rotate(-90deg)}
@media(max-width:900px){.to-top{bottom:74px;left:12px;width:40px;height:40px}}

/* ---------- top bar & header ---------- */
.topbar{background:linear-gradient(90deg,#061f52,#0a2f78 55%,#0d3a94)}
.topbar a{transition:color .2s}.topbar a:hover{color:var(--gold-l)}
.soc{transition:background .25s,transform .3s var(--ease),color .25s}
.soc:hover{transform:translateY(-3px) rotate(-8deg)}
.site-header{transition:box-shadow .3s,background .3s,padding .3s}
.site-header.stuck{box-shadow:0 10px 30px rgba(11,58,143,.14);background:rgba(255,255,255,.97)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--acc),transparent);opacity:.0;transition:opacity .4s}
.site-header.stuck::after{opacity:.8}
.brand-mark{background:var(--grad-pri);box-shadow:0 6px 16px rgba(11,58,143,.35);transition:transform .5s var(--ease)}
.brand:hover .brand-mark{transform:rotate(-10deg) scale(1.08)}
.brand-text b{background:linear-gradient(90deg,#0a2f78,#1d56d6);-webkit-background-clip:text;background-clip:text;color:transparent}

/* menu: sliding underline + gradient active pill */
.nav ul a{position:relative;overflow:hidden;transition:color .25s,background .25s,transform .25s var(--ease)}
.nav ul a::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;background:var(--grad-gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav ul a:hover{background:transparent;color:var(--pri);transform:translateY(-1px)}
.nav ul a:hover::after{transform:scaleX(1)}
.nav .current-menu-item>a,.nav .current_page_item>a{background:var(--grad-pri);color:#fff;box-shadow:0 6px 16px rgba(11,58,143,.3)}
.nav .current-menu-item>a::after,.nav .current_page_item>a::after{background:var(--gold-l);transform:scaleX(1)}
.nav .current-menu-item>a:hover{color:#fff}
.nav-cta{position:relative;overflow:hidden}

/* burger -> X, mobile menu slides down */
.burger span{transition:transform .3s var(--ease),opacity .2s,background .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){
  .nav{display:flex!important;visibility:hidden;opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .3s,transform .35s var(--ease),visibility .3s;box-shadow:0 20px 40px rgba(11,58,143,.15);border-radius:0 0 18px 18px}
  .nav.open{visibility:visible;opacity:1;transform:none;pointer-events:auto}
  .nav.open ul li{animation:slideIn .45s var(--ease) both}
  .nav.open ul li:nth-child(2){animation-delay:.04s}.nav.open ul li:nth-child(3){animation-delay:.08s}
  .nav.open ul li:nth-child(4){animation-delay:.12s}.nav.open ul li:nth-child(5){animation-delay:.16s}.nav.open ul li:nth-child(6){animation-delay:.2s}
}
@keyframes slideIn{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}

/* ---------- buttons: gradient + shine sweep + ripple ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:background .25s,color .25s,box-shadow .3s,transform .25s var(--ease)}
.btn::before{content:"";position:absolute;top:0;left:-80%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .7s var(--ease);z-index:-1}
.btn:hover::before{left:130%}
.btn:hover{transform:translateY(-3px)}
.btn:active{transform:translateY(0) scale(.97)}
.btn-primary{background:var(--grad-pri);box-shadow:0 6px 16px rgba(11,58,143,.28)}
.btn-primary:hover{background:var(--grad-pri);box-shadow:0 12px 26px rgba(11,58,143,.4)}
.btn-wa{background:linear-gradient(135deg,#1fbf63,#0f9444)}.btn-wa:hover{box-shadow:0 12px 26px rgba(20,164,77,.45)}
.btn-gold{background:var(--grad-gold)}
.btn-ghost{transition:background .3s,color .3s,box-shadow .3s,transform .25s var(--ease),border-color .3s}
.btn-ghost:hover{background:var(--grad-pri);border-color:transparent;box-shadow:0 10px 22px rgba(11,58,143,.3)}
.btn .ic{transition:transform .3s var(--ease)}
.btn:hover .ic{transform:translateX(4px)}
.btn-wa:hover .ic,.nav-cta:hover .ic{transform:rotate(-12deg) scale(1.15)}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:ripple .65s ease-out forwards;pointer-events:none;z-index:-1}
@keyframes ripple{to{transform:scale(4);opacity:0}}

/* ---------- hero (home) ---------- */
.hero{background:
  radial-gradient(560px 560px at 90% 6%,rgba(242,169,0,.34),transparent 65%),
  radial-gradient(760px 520px at -5% 100%,rgba(29,86,214,.16),transparent 62%),
  linear-gradient(180deg,#eef4ff 0%,#fff 100%)}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}
.hero::before{width:380px;height:380px;left:-120px;top:-120px;background:radial-gradient(circle at 35% 35%,rgba(47,107,255,.22),transparent 70%);animation:blob 14s ease-in-out infinite}
.hero::after{width:300px;height:300px;right:30%;bottom:-140px;background:radial-gradient(circle at 40% 40%,rgba(242,169,0,.25),transparent 70%);animation:blob 18s ease-in-out infinite reverse}
@keyframes blob{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,26px) scale(1.12)}66%{transform:translate(-24px,40px) scale(.94)}}
.hero-grid{position:relative;z-index:1}
.hero h1{background:linear-gradient(100deg,#082a68 10%,#1d56d6 60%,#0b3a8f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% auto;animation:shimmerText 8s linear infinite}
@keyframes shimmerText{to{background-position:200% center}}
.hero .lead{color:var(--ink2)}
.hero-copy>*{animation:riseIn .8s var(--ease) backwards}
.hero-copy>*:nth-child(2){animation-delay:.08s}.hero-copy>*:nth-child(3){animation-delay:.16s}.hero-copy>*:nth-child(4){animation-delay:.24s}.hero-copy>*:nth-child(5){animation-delay:.32s}
.meter{animation:riseIn .9s .2s var(--ease) backwards}
@keyframes riseIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.badge{background:linear-gradient(135deg,#fff,#fff8e1);border-color:#f3dd9c;color:#8a5a00}
.badge .ic{animation:wiggle 3.5s ease-in-out infinite}
@keyframes wiggle{0%,86%,100%{transform:rotate(0)}90%{transform:rotate(-14deg)}94%{transform:rotate(12deg)}98%{transform:rotate(-6deg)}}
.trust li{transition:transform .25s var(--ease),color .25s}.trust li:hover{transform:translateX(4px);color:var(--pri)}
.trust .ic{background:#e4f6ea;border-radius:50%;padding:3px;width:22px;height:22px;box-sizing:border-box}

/* protection meter card */
.card{transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.meter{border:1px solid rgba(11,58,143,.1);border-top:0;background:linear-gradient(180deg,#fff,#f7faff);box-shadow:var(--sh-lg);overflow:hidden}
.meter::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--acc),var(--gold-l),var(--pri-l),var(--acc));background-size:300% 100%;animation:flow 6s linear infinite}
@keyframes flow{to{background-position:300% 0}}
.meter-ico{background:var(--grad-pri);color:var(--gold-l);box-shadow:0 8px 18px rgba(11,58,143,.3);animation:pulseSoft 3s ease-in-out infinite}
@keyframes pulseSoft{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
input,select,textarea{transition:border-color .25s,box-shadow .25s,transform .25s var(--ease),background .25s}
input:hover,select:hover,textarea:hover{border-color:#b7c9ee}
input:focus,select:focus,textarea:focus{background:#fcfdff;transform:translateY(-1px);box-shadow:0 0 0 4px rgba(29,86,214,.16)}
label{transition:color .2s}label:focus-within{color:var(--pri)}

/* ---------- section headings ---------- */
.sec-title,.pd-head h2{background:linear-gradient(100deg,#082a68,#1d56d6);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;padding-bottom:16px}
.sec-title::after,.pd-head h2::after{content:"";display:block;width:64px;height:5px;border-radius:5px;margin:14px auto 0;background:var(--grad-gold);transform-origin:center;animation:barGrow 1s var(--ease) both}
.sec-title.left::after{margin-left:0}
@keyframes barGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.sec-sub{color:var(--muted)}
.pd-eyebrow{display:inline-block;padding:5px 14px;border-radius:99px;background:linear-gradient(135deg,#fff3cf,#ffe9a6);color:#8a5a00;letter-spacing:.14em;box-shadow:0 2px 8px rgba(242,169,0,.25)}
.section.alt,.pd-sec.alt{background:linear-gradient(180deg,#eef4ff,#e6efff);position:relative}
.section.alt::before,.pd-sec.alt::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 280px at 100% 0,rgba(242,169,0,.10),transparent 70%),radial-gradient(500px 300px at 0 100%,rgba(29,86,214,.08),transparent 70%);pointer-events:none}
.section.alt>.wrap,.pd-sec.alt>.wrap{position:relative}

/* ---------- stats ---------- */
.stat-grid{background:linear-gradient(180deg,#fff,#f6f9ff);box-shadow:var(--sh-lg);border-color:rgba(11,58,143,.1)}
.stat-grid>div{transition:background .3s,transform .3s var(--ease)}
.stat-grid>div:hover{background:linear-gradient(180deg,#fff8e1,#fff);transform:translateY(-3px)}
.stat-grid b{background:var(--grad-pri);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2.2rem}

/* ---------- 3-step cards ---------- */
.pace li{transition:transform .35s var(--ease),box-shadow .35s;overflow:visible}
.pace li::before{content:"";position:absolute;inset:0;border-radius:var(--r);background:linear-gradient(135deg,rgba(29,86,214,.06),rgba(242,169,0,.10));opacity:0;transition:opacity .35s}
.pace li:hover{transform:translateY(-8px);box-shadow:var(--sh-lg)}.pace li:hover::before{opacity:1}
.pace-l{background:var(--grad-pri);color:var(--gold-l);box-shadow:0 8px 18px rgba(11,58,143,.35);transition:transform .5s var(--ease)}
.pace li:hover .pace-l{transform:rotate(-8deg) scale(1.12)}
.pace h3{color:var(--pri-d)}

/* ---------- category tiles ---------- */
.cat{position:relative;overflow:hidden;border-bottom-width:1px;box-shadow:0 1px 3px rgba(14,26,54,.05);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.cat::before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--c);transition:height .35s var(--ease)}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 14%,transparent),transparent 65%);opacity:0;transition:opacity .35s}
.cat:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px color-mix(in srgb,var(--c) 28%,transparent);border-color:color-mix(in srgb,var(--c) 40%,var(--line))}
.cat:hover::before{height:100%;opacity:.07}.cat:hover::after{opacity:1}
.cat>*{position:relative;z-index:1}
.cat-ico{transition:transform .45s var(--ease),background .3s,color .3s,box-shadow .3s}
.cat:hover .cat-ico{background:var(--c);color:#fff;transform:rotate(-8deg) scale(1.12);box-shadow:0 10px 20px color-mix(in srgb,var(--c) 45%,transparent)}
.cat b{transition:color .3s}.cat:hover b{color:var(--c)}

/* ---------- plan cards ---------- */
.plan{position:relative;overflow:hidden;border:1px solid var(--line);border-top:0;background:linear-gradient(180deg,#fff 60%,color-mix(in srgb,var(--c) 5%,#fff));transition:transform .4s var(--ease),box-shadow .4s,border-color .4s}
.plan::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 55%,#fff));transition:height .35s var(--ease)}
.plan::after{content:"";position:absolute;right:-60px;top:-60px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 20%,transparent),transparent 70%);transition:transform .6s var(--ease),opacity .4s;opacity:.7}
.plan:hover{transform:translateY(-10px);box-shadow:0 26px 50px color-mix(in srgb,var(--c) 26%,transparent),0 4px 10px rgba(14,26,54,.06);border-color:color-mix(in srgb,var(--c) 35%,var(--line))}
.plan:hover::before{height:8px}.plan:hover::after{transform:scale(1.8);opacity:1}
.plan>*{position:relative;z-index:1}
.plan h3 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .4s var(--ease),color .25s}
.plan:hover h3 a{background-size:100% 2px;color:var(--c)}
.tag{background:linear-gradient(135deg,color-mix(in srgb,var(--c,var(--pri)) 16%,#fff),color-mix(in srgb,var(--c,var(--pri)) 7%,#fff));border:1px solid color-mix(in srgb,var(--c,var(--pri)) 22%,#fff)}
.tag.new{background:var(--grad-gold);border-color:transparent;color:#3a2600;animation:glowTag 2.4s ease-in-out infinite}
@keyframes glowTag{0%,100%{box-shadow:0 0 0 0 rgba(242,169,0,.55)}50%{box-shadow:0 0 0 7px rgba(242,169,0,0)}}
.plan-facts{background:color-mix(in srgb,var(--c) 7%,#f3f7ff);border:1px dashed color-mix(in srgb,var(--c) 25%,#d5e0f5);transition:background .3s}
.plan:hover .plan-facts{background:color-mix(in srgb,var(--c) 11%,#fff)}
.plan-facts dd{color:var(--pri-d)}
.plan-actions .btn-primary{background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 60%,#000))}

/* plan filter pills & calculator tabs */
.pill{position:relative;overflow:hidden;isolation:isolate;transition:color .3s,border-color .3s,transform .25s var(--ease),box-shadow .3s,background .3s}
.pill::before{content:"";position:absolute;inset:0;background:var(--grad-pri);transform:translateY(101%);transition:transform .35s var(--ease);z-index:-1}
.pill:hover{transform:translateY(-3px);border-color:var(--pri);color:var(--pri);box-shadow:0 8px 16px rgba(11,58,143,.14)}
.pill.on{background:var(--grad-pri);box-shadow:0 8px 18px rgba(11,58,143,.32);animation:popIn .4s var(--ease)}
.pill.on:hover{color:#fff}
@keyframes popIn{0%{transform:scale(.92)}60%{transform:scale(1.07)}100%{transform:scale(1)}}
.plan:not([hidden]){animation:cardIn .55s var(--ease) backwards}
@keyframes cardIn{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:none}}
.tab-panel:not([hidden]){animation:panelIn .5s var(--ease) backwards}
@keyframes panelIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
#plan-search{border-radius:99px;padding-left:18px;box-shadow:0 2px 8px rgba(11,58,143,.06)}

/* ---------- generic cards (why me, tools, quotes, office) ---------- */
.why{position:relative;overflow:hidden;border-left:0;background:linear-gradient(135deg,#fff,#fffaf0)}
.why::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--grad-gold);transition:width .35s var(--ease)}
.why h3{color:var(--pri-d)}
.why:hover,.quote:hover,.office:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.why:hover::before{width:10px}
.quote{position:relative;background:linear-gradient(145deg,#fff,#f4f8ff);overflow:hidden}
.quote::before{content:"“";position:absolute;right:16px;top:-14px;font:800 110px/1 "Bricolage Grotesque",serif;color:rgba(242,169,0,.25)}
.quote figcaption{color:var(--pri-d)}
.tool{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f2f7ff)}
.tool::after{content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(242,169,0,.25),transparent 70%);transition:transform .6s var(--ease)}
.tool:hover{transform:translateY(-8px);box-shadow:var(--sh-lg)}.tool:hover::after{transform:scale(2)}
.tool-ico{background:var(--grad-pri);color:var(--gold-l);box-shadow:0 10px 20px rgba(11,58,143,.3);transition:transform .45s var(--ease)}
.tool:hover .tool-ico{transform:rotate(-8deg) scale(1.1)}
.tool b .ic{transition:transform .3s var(--ease)}.tool:hover b .ic{transform:translateX(6px)}
.meet-photo{transition:transform .5s var(--ease),box-shadow .5s;box-shadow:0 20px 44px rgba(11,58,143,.25),0 0 0 8px rgba(242,169,0,.18)}
.meet-photo:hover{transform:scale(1.03) rotate(-1.5deg)}

/* career strip */
.career{background:linear-gradient(120deg,#061f52,#0b3a8f 60%,#1d56d6);position:relative;overflow:hidden}
.career::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;top:-200px;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 40px rgba(255,255,255,.03),0 0 0 90px rgba(255,255,255,.02);animation:pd-spin 40s linear infinite}
.career-in{position:relative}

/* ---------- inner page hero ---------- */
.page-hero{background:linear-gradient(120deg,#eef4ff,#fff 70%);overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-80px;top:-100px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(242,169,0,.25),transparent 70%);animation:blob 16s ease-in-out infinite}
.page-hero::before{width:8px;background:linear-gradient(180deg,var(--c,var(--acc)),var(--gold-l))}
.page-hero .wrap{position:relative;z-index:1;animation:riseIn .7s var(--ease) backwards}
.crumbs a{text-decoration:none;font-weight:600}.crumbs a:hover{text-decoration:underline}

/* ---------- PLAN DETAIL PAGE ---------- */
.pd-hero{background:
  radial-gradient(circle at 88% 6%,color-mix(in srgb,var(--c,#0a58ca) 65%,#fff) 0,transparent 32%),
  radial-gradient(circle at 5% 95%,rgba(242,169,0,.22),transparent 38%),
  linear-gradient(125deg,#061f52,var(--pri) 62%,color-mix(in srgb,var(--c,#0a58ca) 42%,var(--pri)))}
.pd-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1.2px,transparent 1.2px);background-size:26px 26px;mask-image:linear-gradient(120deg,transparent 30%,#000 95%);-webkit-mask-image:linear-gradient(120deg,transparent 30%,#000 95%);opacity:.5;animation:dots 22s linear infinite}
@keyframes dots{to{background-position:260px 260px}}
.pd-hero-copy>*{animation:riseIn .8s var(--ease) backwards}
.pd-hero-copy>*:nth-child(2){animation-delay:.08s}.pd-hero-copy>*:nth-child(3){animation-delay:.16s}.pd-hero-copy>*:nth-child(4){animation-delay:.24s}.pd-hero-copy>*:nth-child(5){animation-delay:.32s}.pd-hero-copy>*:nth-child(6){animation-delay:.4s}.pd-hero-copy>*:nth-child(7){animation-delay:.48s}
.pd-hero h1{text-shadow:0 4px 24px rgba(0,10,40,.35)}
.pd-tagline{background:linear-gradient(90deg,var(--gold-l),#fff2c4,var(--gold-l));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmerText 5s linear infinite}
.pd-pill{backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);transition:transform .25s var(--ease),background .25s}
.pd-pill:hover{transform:translateY(-2px);background:rgba(255,255,255,.28)}
.pd-pill.gold{background:var(--grad-gold);border-color:transparent;animation:glowTag 2.4s ease-in-out infinite}
.pd-float{background:linear-gradient(145deg,#fff,#e9f1ff);box-shadow:0 34px 80px rgba(0,10,40,.5),0 0 0 1px rgba(255,255,255,.4) inset;transition:box-shadow .4s}
.pd-float-ico{background:linear-gradient(135deg,color-mix(in srgb,var(--c,#0a58ca) 18%,#fff),color-mix(in srgb,var(--c,#0a58ca) 6%,#fff))}
.pd-float-ico .ic{animation:pulseSoft 3s ease-in-out infinite;filter:drop-shadow(0 6px 10px color-mix(in srgb,var(--c,#0a58ca) 45%,transparent))}
.pd-chips span{transition:transform .25s var(--ease)}.pd-chips span:hover{transform:translateY(-2px)}
.pd-orbit{border-color:rgba(255,255,255,.4)}

.pd-stat{position:relative;overflow:hidden;border:1px solid rgba(11,58,143,.08);background:linear-gradient(180deg,#fff,#f6f9ff);transition:transform .35s var(--ease),box-shadow .35s}
.pd-stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--c,var(--acc)),var(--acc))}
.pd-stat:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.pd-stat b{background:var(--grad-pri);-webkit-background-clip:text;background-clip:text;color:transparent}
.pd-stat span{color:var(--muted)}

.pd-ticks li{background:linear-gradient(135deg,#fff,#f0fbf4);border-color:#cfe9d8;color:var(--pri-d);transition:transform .3s var(--ease),box-shadow .3s}
.pd-ticks li:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 20px rgba(23,129,74,.18)}
.pd-ticks .ic{background:var(--ok);color:#fff;border-radius:50%;padding:3px;width:22px;height:22px;box-sizing:border-box;stroke-width:3}

.pd-feature{position:relative;overflow:hidden;background:linear-gradient(160deg,#fff 55%,#f3f7ff);transition:transform .4s var(--ease),box-shadow .4s,border-color .4s}
.pd-feature::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad-gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.pd-feature::after{content:"";position:absolute;right:-50px;bottom:-50px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(29,86,214,.12),transparent 70%);transition:transform .6s var(--ease)}
.pd-feature:hover{transform:translateY(-9px);box-shadow:0 26px 50px rgba(11,58,143,.2);border-color:rgba(29,86,214,.3)}
.pd-feature:hover::before{transform:scaleX(1)}.pd-feature:hover::after{transform:scale(2)}
.pd-feature>*{position:relative;z-index:1}
.pd-ico{background:var(--grad-pri);color:var(--gold-l);box-shadow:0 8px 18px rgba(11,58,143,.28);transition:transform .45s var(--ease)}
.pd-sec.alt .pd-ico{background:var(--grad-pri)}
.pd-feature:hover .pd-ico{transform:rotate(-10deg) scale(1.12)}
.pd-feature h3{transition:color .3s}.pd-feature:hover h3{color:var(--pri-l)}

/* timeline with connecting line */
.pd-timeline{position:relative;counter-reset:s}
.pd-step{position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.pd-step::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--grad-gold);transition:width .5s var(--ease)}
.pd-step:hover{transform:translateY(-7px);box-shadow:var(--sh-lg);border-color:rgba(29,86,214,.3)}.pd-step:hover::after{width:100%}
.pd-num{background:var(--grad-pri);box-shadow:0 6px 14px rgba(11,58,143,.3);transition:transform .45s var(--ease)}
.pd-step:hover .pd-num{transform:rotate(360deg) scale(1.12)}
.pd-step b{color:var(--pri-d)}

/* table */
.pd-table{box-shadow:var(--sh)}
.pd-table th{background:var(--grad-pri);color:#fff}
.pd-table tbody tr{transition:background .25s,transform .25s var(--ease)}
.pd-table tbody tr:nth-child(even){background:#f6f9ff}
.pd-table tbody tr:hover{background:#fff6dc;transform:scale(1.008)}

/* illustrator */
.pd-ill-in,.pd-result{transition:transform .35s var(--ease),box-shadow .35s}
.pd-ill-in:hover,.pd-result:hover{transform:translateY(-4px)}
.pd-result{background:linear-gradient(145deg,#061f52,#0b3a8f 55%,#1d56d6);box-shadow:0 24px 50px rgba(11,58,143,.35)}
.pd-big{background:linear-gradient(90deg,#fff,var(--gold-l));-webkit-background-clip:text;background-clip:text;color:transparent}
.pd-rows div{transition:background .25s,transform .25s var(--ease)}.pd-rows div:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.pd-bar span{transition:width .6s var(--ease)}.pd-bar #pd-bar-ga{background:var(--grad-gold)}
input[type=range]{height:8px;-webkit-appearance:none;appearance:none;border-radius:99px;background:linear-gradient(90deg,var(--acc),var(--pri-l));cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:4px solid var(--pri);box-shadow:0 4px 12px rgba(11,58,143,.4);transition:transform .2s var(--ease)}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.25)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid var(--pri);box-shadow:0 4px 12px rgba(11,58,143,.4)}

/* FAQ accordion */
.pd-faq details{position:relative;overflow:hidden;transition:box-shadow .3s,border-color .3s,transform .3s var(--ease),background .3s}
.pd-faq details:hover{transform:translateX(5px);border-color:rgba(29,86,214,.35)}
.pd-faq details[open]{background:linear-gradient(145deg,#fff,#f4f8ff);border-left:5px solid var(--acc)}
.pd-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;transition:color .25s}
.pd-faq summary::-webkit-details-marker{display:none}
.pd-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--alt);color:var(--pri);font-size:1.25rem;font-weight:700;transition:transform .35s var(--ease),background .3s,color .3s}
.pd-faq details[open] summary::after{transform:rotate(135deg);background:var(--grad-pri);color:#fff}
.pd-faq summary:hover{color:var(--pri-l)}
.pd-faq details[open] div{animation:panelIn .45s var(--ease) backwards}
.rv summary{transition:color .2s}

/* CTA band */
.pd-cta{position:relative;overflow:hidden;background:linear-gradient(120deg,#061f52,#0b3a8f 55%,#1d56d6);box-shadow:0 24px 50px rgba(11,58,143,.3)}
.pd-cta::before{content:"";position:absolute;width:380px;height:380px;right:-100px;top:-180px;border-radius:50%;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 36px rgba(255,255,255,.03),0 0 0 80px rgba(255,255,255,.02);animation:pd-spin 36s linear infinite}
.pd-cta>*{position:relative}
.verify{border-left:5px solid var(--acc)}.verify.ok{border-left-color:var(--ok)}

/* ---------- quiz & calculators ---------- */
.opt{position:relative;overflow:hidden;transition:border-color .25s,background .25s,transform .25s var(--ease),box-shadow .25s}
.opt:hover:not(:disabled){transform:translateX(6px);box-shadow:0 8px 18px rgba(11,58,143,.12)}
.opt.right{animation:popIn .45s var(--ease)}
.opt.wrong{animation:shake .45s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.exp{animation:panelIn .4s var(--ease) backwards}
.result{background:linear-gradient(135deg,#eef4ff,#fff8e8);border:1px solid #dbe6fb;animation:panelIn .4s var(--ease) backwards}
.card.quiz,.card.calc{box-shadow:var(--sh-lg)}

/* ---------- footer ---------- */
.site-footer{background:linear-gradient(160deg,#061f52,#0a2f78 60%,#0d3a94);position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--acc),var(--gold-l),var(--pri-l),var(--acc));background-size:300% 100%;animation:flow 8s linear infinite}
.foot-menu a,.site-footer a{transition:color .25s,padding-left .3s var(--ease)}
.foot-menu a:hover{color:var(--gold-l);padding-left:8px}
.site-footer .soc:hover{color:var(--pri-d)}

/* floating WhatsApp: gentle bounce */
.fab-wa{background:linear-gradient(135deg,#25d366,#0f9444);transition:transform .3s var(--ease)}
.fab-wa:hover{transform:scale(1.12) rotate(-8deg)}

/* ---------- scroll reveal (JS adds .rv; hidden state only applies when JS is running) ---------- */
.anim-on .rv{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.anim-on .rv.rv-left{transform:translateX(-36px)}
.anim-on .rv.rv-right{transform:translateX(36px)}
.anim-on .rv.rv-zoom{transform:scale(.92)}
.anim-on .rv.rv-in{opacity:1;transform:none}
/* hover transforms must beat the reveal transition delay once visible */
.anim-on .rv.rv-in.done{transition-delay:0s}

/* cursor-follow tilt target */
.tilt{transform-style:preserve-3d;will-change:transform}

/* mobile tidy-up */
@media(max-width:560px){
  .stat-grid b{font-size:1.8rem}
  .plan:hover,.cat:hover,.pd-feature:hover{transform:translateY(-4px)}
}

/* accessibility: honour reduced motion (content must still show) */
@media (prefers-reduced-motion:reduce){
  .anim-on .rv{opacity:1!important;transform:none!important}
  .hero h1,.pd-tagline{animation:none!important}
}

/* =====================================================================
   v2.3 fixes + richer stat strip, "why me" cards, menu hover
   ===================================================================== */

/* menu: hovering the active item must keep its blue pill (text was vanishing) */
.nav .current-menu-item>a:hover,.nav .current_page_item>a:hover,.nav .current-menu-ancestor>a:hover{background:var(--grad-pri);color:#fff}
.nav ul a:hover{color:var(--pri)}

/* stat strip: icon tiles on a deep blue band */
.stats{margin-top:-56px}
.stat-grid{background:linear-gradient(135deg,#061f52,#0b3a8f 55%,#1d56d6);border:0;padding:10px;gap:10px;overflow:hidden;position:relative}
.stat-grid::before{content:"";position:absolute;width:360px;height:360px;right:-100px;top:-190px;border-radius:50%;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 36px rgba(255,255,255,.035),0 0 0 80px rgba(255,255,255,.02);animation:pd-spin 40s linear infinite;pointer-events:none}
.stat-grid>div{position:relative;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07);backdrop-filter:blur(4px);padding:22px 12px;transition:transform .35s var(--ease),background .3s,box-shadow .3s}
.stat-grid>div:last-child{border-right:1px solid rgba(255,255,255,.14)}
.stat-grid>div:hover{background:rgba(255,255,255,.16);transform:translateY(-8px);box-shadow:0 18px 34px rgba(0,10,40,.35)}
.st-ico{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 10px;border-radius:15px;background:var(--grad-gold);color:#3a2600;box-shadow:0 8px 18px rgba(242,169,0,.4);transition:transform .45s var(--ease);animation:floatY 4s ease-in-out infinite}
.stat-grid>div:nth-child(2) .st-ico{animation-delay:.5s}.stat-grid>div:nth-child(3) .st-ico{animation-delay:1s}.stat-grid>div:nth-child(4) .st-ico{animation-delay:1.5s}
.stat-grid>div:hover .st-ico{transform:rotate(-10deg) scale(1.15)}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.stat-grid b{background:linear-gradient(90deg,#fff,var(--gold-l));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2.3rem}
.stat-grid .st-l{display:block;color:#d6e4ff;font-size:.9rem}

/* "Why families choose me" cards: colour + icon + big number */
.why{padding:28px 24px 24px;background:linear-gradient(160deg,#fff 55%,color-mix(in srgb,var(--c,#0a58ca) 8%,#fff));border:1px solid color-mix(in srgb,var(--c,#0a58ca) 18%,var(--line))}
.why::before{background:linear-gradient(180deg,var(--c,#0a58ca),color-mix(in srgb,var(--c,#0a58ca) 50%,#fff))}
.why::after{content:"";position:absolute;right:-50px;bottom:-50px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c,#0a58ca) 22%,transparent),transparent 70%);transition:transform .6s var(--ease)}
.why:hover::after{transform:scale(2.1)}
.why>*{position:relative;z-index:1}
.why-ico{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;margin-bottom:14px;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 60%,#000));color:#fff;box-shadow:0 10px 20px color-mix(in srgb,var(--c) 40%,transparent);transition:transform .45s var(--ease)}
.why:hover .why-ico{transform:rotate(-10deg) scale(1.12)}
.why-n{position:absolute!important;right:18px;top:10px;font:800 3rem/1 "Bricolage Grotesque",sans-serif;color:color-mix(in srgb,var(--c) 16%,transparent)}
.why h3{color:var(--c);font-size:1.18rem}
.why p{color:var(--muted)}

/* =====================================================================
   v2.4 – testimonials, About, Contact, form cards, calculators, quiz
   ===================================================================== */

/* testimonials */
.quote{padding:28px 26px 22px;border:1px solid #f0e2b8;background:linear-gradient(150deg,#fff,#fff8e6)}
.quote::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--grad-gold)}
.stars{color:var(--acc);letter-spacing:4px;font-size:1.15rem;margin-bottom:8px;text-shadow:0 2px 6px rgba(242,169,0,.4)}
.quote blockquote{font-size:1.02rem;color:var(--ink2);line-height:1.7;position:relative;z-index:1}
.quote figcaption{display:flex;align-items:center;gap:12px;margin-top:16px;position:relative;z-index:1}
.quote figcaption small{display:block;color:var(--muted);font-size:.8rem}
.av{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--grad-pri);color:#fff;font:800 1.1rem "Bricolage Grotesque",sans-serif;box-shadow:0 6px 14px rgba(11,58,143,.35);flex:none;transition:transform .4s var(--ease)}
.quote:hover .av{transform:rotate(-10deg) scale(1.1)}

/* form card (home + contact) */
.form-card{position:relative;overflow:hidden;padding:30px;background:linear-gradient(160deg,#fff,#f5f8ff);box-shadow:var(--sh-lg)}
.form-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--acc),var(--gold-l),var(--pri-l),var(--acc));background-size:300% 100%;animation:flow 6s linear infinite}
.form-card .sec-title{font-size:1.6rem;padding-bottom:6px;margin-bottom:4px}.form-card .sec-title::after{display:none}
.form-card:hover{transform:none}
.form .btn-primary{justify-self:start;padding:13px 30px}
.form .btn-primary::after{content:"→";margin-left:6px;transition:transform .3s var(--ease)}
.form .btn-primary:hover::after{transform:translateX(5px)}

/* office / contact details card */
.office{position:relative;overflow:hidden;background:linear-gradient(160deg,#061f52,#0b3a8f 70%,#1d56d6);color:#e3ecff;border:0;box-shadow:0 24px 50px rgba(11,58,143,.3)}
.office::before{content:"";position:absolute;width:300px;height:300px;right:-90px;top:-130px;border-radius:50%;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 0 30px rgba(255,255,255,.04),0 0 0 66px rgba(255,255,255,.025);animation:pd-spin 40s linear infinite;pointer-events:none}
.office>*{position:relative}
.office h3{color:#fff;font-size:1.4rem;margin-bottom:14px}
.office a{color:#fff;font-weight:600}
.office p{align-items:center;padding:8px 0;transition:transform .3s var(--ease)}
.office p:hover{transform:translateX(6px)}
.office p .ic{flex:none;box-sizing:content-box;padding:9px;border-radius:12px;background:var(--grad-gold);color:#3a2600;margin:0;box-shadow:0 6px 14px rgba(242,169,0,.35);width:20px;height:20px}
.office .socials .soc{background:rgba(255,255,255,.14);color:#fff}
.office .socials .soc:hover{background:var(--acc);color:var(--pri-d)}
.office .map{border:3px solid rgba(255,255,255,.2)}
.office:hover{transform:none}

/* About page + plain pages */
.prose-card{max-width:none;padding:36px 40px;background:linear-gradient(160deg,#fff,#f6f9ff);box-shadow:var(--sh)}
.prose-card:hover{transform:none}
.about-grid .prose-card{max-width:none}
.prose h2{position:relative;padding-left:18px;color:var(--pri-d);font-size:1.5rem}
.prose h2::before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:6px;border-radius:6px;background:var(--grad-gold)}
.prose p{color:var(--ink2)}
.prose ul{list-style:none;padding:0;display:grid;gap:10px}
.prose ul li{position:relative;padding:12px 16px 12px 46px;background:#fff;border:1px solid var(--line);border-radius:12px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.prose ul li::before{content:"✓";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:800}
.prose ul li:hover{transform:translateX(6px);box-shadow:0 10px 22px rgba(11,58,143,.12);border-color:rgba(29,86,214,.3)}
.prose ol{counter-reset:o;list-style:none;padding:0;display:grid;gap:10px}
.prose ol li{counter-increment:o;position:relative;padding:12px 16px 12px 52px;background:#fff;border:1px solid var(--line);border-radius:12px}
.prose ol li::before{content:counter(o);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:9px;background:var(--grad-pri);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.85rem}
.about-grid{align-items:start}
.about-grid .meet-photo{position:sticky;top:110px}
.prose a{font-weight:600}

/* page hero with title accent */
.page-hero h1{background:linear-gradient(100deg,#082a68,#1d56d6);-webkit-background-clip:text;background-clip:text;color:transparent}

/* calculators & quiz */
.calc h2,.quiz h2{color:var(--pri-d)}
.card.calc{position:relative;overflow:hidden;background:linear-gradient(160deg,#fff,#f5f8ff)}
.card.calc::before,.card.quiz::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--grad-gold)}
.card.quiz{position:relative;overflow:hidden;background:linear-gradient(160deg,#fff,#f5f8ff)}
.card.calc:hover,.card.quiz:hover{transform:none}
.tabs{padding:6px;background:#fff;border:1px solid var(--line);border-radius:99px;width:max-content;max-width:100%;box-shadow:var(--sh)}
.tabs .pill{border-color:transparent}
.big{background:var(--grad-pri);-webkit-background-clip:text;background-clip:text;color:transparent}
.bar span{background:var(--grad-gold)}
.q-meta b{color:var(--pri-d)}
.q-topic{display:inline-block;padding:4px 12px;border-radius:99px;background:#fff3cf;color:#8a5a00}
.opt{font-weight:500;padding:15px 18px}
.opt.right{background:linear-gradient(135deg,#e4f6ea,#f4fcf7)}.opt.wrong{background:linear-gradient(135deg,#fdebe8,#fff6f5)}

@media(max-width:900px){.prose-card{padding:24px 20px}.about-grid .meet-photo{position:static}.tabs{border-radius:20px}}
