/*
 * Home page section styles.
 *
 * Generated from the inline styles the original template shipped with — the
 * declarations are copied verbatim, so the rendered design is unchanged.
 * Styles whose values come from the CMS stay inline in the Blade partials.
 *
 * Loaded after home.css so these win over element-level defaults, exactly as
 * inline styles did.
 *
 * Regenerate: scratchpad/extract-inline-css.php --apply
 */

.wp234{flex:0 0 auto;margin-top:2px}
.wp322{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#4E637E}
.wp114{display:flex;gap:10px;align-items:flex-start}
.wp115{flex:0 0 auto;margin-top:3px}
.wp116{font-size:14.5px;color:#4E637E;line-height:1.5}
.wp241{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:14px;padding:26px 16px 22px;border-radius:18px;border:1px solid #E4EDF6;background:#FFFFFF;cursor:pointer;font-family:'Manrope',sans-serif;text-align:center;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease}
.wp242{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#189CCC;opacity:0;transform:scale(.6);transition:all .28s cubic-bezier(.2,.8,.2,1)}
.wp243{display:block;width:100%;max-width:120px;height:72px;object-fit:contain}
.wp244{display:block;font-size:15px;font-weight:700;color:#0E2A48;letter-spacing:-.01em}
.wp245{display:block;margin-top:-8px;font-family:'JetBrains Mono',monospace;font-size:11px;color:#7189A3}
.wp178{display:block;width:44px;height:44px;border-radius:13px;object-fit:contain;flex:0 0 auto}
.wp305-specs{display:contents}
.wp308{font-size:14.5px;font-weight:600;color:#123258}
.wp25{min-width:0}
.wp92{display:block;width:52px;height:52px;border-radius:16px;object-fit:contain;flex:0 0 auto}
.wp321{display:grid;gap:11px}
.wp177{height:100%;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:#FFFFFF;border:1px solid #E7E3F6;box-shadow:0 18px 40px -36px rgba(56,38,120,.8);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .35s ease}
.wp179{display:block;font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:600;color:#1A1240;letter-spacing:-.01em}
.wp180{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8C86A8;margin-top:4px}
.wp10{display:block;width:100%;height:100%;object-fit:cover}
.wp90{flex:0 0 auto;width:clamp(200px,23%,250px)}
.wp91{height:100%;display:flex;flex-direction:column;gap:16px;padding:26px 24px;border-radius:20px;background:#FFFFFF;border:1px solid #E1EBF5;box-shadow:0 20px 44px -38px rgba(18,50,88,.7);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.wp93{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:600;color:#0E2A48;margin-bottom:5px}
.wp94{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8598B0}
.wp113{display:grid;gap:14px}
.wp204{font-family:'JetBrains Mono',monospace;font-size:11.5px;padding:9px 15px;border-radius:100px;background:#F3F8FD;border:1px solid #E1EBF5;color:#4E637E}
.wp214{display:flex;gap:15px;height:100%;padding:22px;border-radius:18px;background:#FFFFFF;border:1px solid #E1EBF5;box-shadow:0 18px 40px -34px rgba(18,50,88,.65);transition:all .3s ease}
.wp215{display:block;font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:600;color:#0E2A48;margin-bottom:5px}
.wp216{display:block;font-size:14px;color:#5F7490;line-height:1.55}
.wp32{max-width:1280px}
.wp34{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#D98617;font-weight:500;margin-bottom:14px}
.wp37{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem}
.wp211{font-weight:600}
.wp40{padding:28px 26px;flex:1}
.wp41{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:600;color:#0E2A48;margin:0 0 12px}
.wp42{font-size:14.5px;line-height:1.65;color:#5F7490;margin:0}
.wp51{color:#166FA8}
.wp121{border-radius:16px;background:#FFFFFF;border:1px solid #E1EBF5;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}
.wp122{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;border:0;background:transparent;cursor:pointer;text-align:left;font-family:'Manrope',sans-serif;font-size:16.5px;font-weight:700;color:#0E2A48;padding:22px 24px}
.wp123{flex:0 0 auto;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.wp124{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.2,.8,.2,1)}
.wp125{padding:0 24px 24px;font-size:15px;line-height:1.7;color:#5F7490}
.wp134{position:relative;overflow:hidden;height:100%;padding:28px 26px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);transition:transform .38s cubic-bezier(.2,.8,.2,1),border-color .35s ease,background .35s ease}
.wp135{position:absolute;top:14px;right:18px;font-family:'Space Grotesk',sans-serif;font-size:54px;font-weight:700;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12)}
.wp136{position:relative;display:flex;align-items:flex-end;gap:5px;margin-bottom:16px}
.wp137{font-family:'Space Grotesk',sans-serif;font-size:38px;font-weight:700;line-height:1;letter-spacing:-.035em;background:linear-gradient(120deg,#5CE0F5,#A78BFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.wp138{font-family:'JetBrains Mono',monospace;font-size:11px;color:#B9A9FF;padding-bottom:5px}
.wp139{position:relative;font-family:'Space Grotesk',sans-serif;font-size:16.5px;font-weight:600;color:#FFFFFF;margin:0 0 10px;letter-spacing:-.015em}
.wp140{position:relative;font-size:14px;line-height:1.68;color:#B3ADCC;margin:0}
.wp207{height:100%;padding:30px 28px;border-radius:20px;background:#FFFFFF;border:1px solid #EDE7DC;box-shadow:0 20px 44px -38px rgba(18,50,88,.6);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.wp208{display:block;width:50px;height:50px;border-radius:15px;object-fit:contain;flex:0 0 auto}
.wp209{font-family:'Space Grotesk',sans-serif;font-size:19.5px;font-weight:600;color:#0E2A48;margin:0 0 10px}
.wp210{font-size:14.5px;line-height:1.62;color:#5F7490;margin:0}
.wp57{display:flex;flex-direction:column;gap:24px;padding:clamp(28px,3.2vw,42px);border-radius:26px;background:#FFFFFF;border:1px solid #E4EDF6;box-shadow:0 40px 84px -54px rgba(18,50,88,.9);transform-style:preserve-3d}
.wp58{display:flex;align-items:center;justify-content:space-between;gap:16px}
.wp59{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.18em;color:#189CCC}
.wp60{font-family:'Space Grotesk',sans-serif;font-size:clamp(18px,2.1vw,25px);font-weight:500;line-height:1.42;letter-spacing:-.02em;color:#123258;margin:0;flex:1;text-wrap:pretty}
.wp61{display:flex;align-items:center;gap:14px;padding-top:22px;border-top:1px solid #EDF3F9}
.wp63{display:block;font-size:15px;font-weight:700;color:#0E2A48}
.wp64{display:block;font-size:13px;color:#7189A3;margin-top:2px}
.wp71{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;padding:11px 14px;border-radius:14px;border:1px solid #E4EDF6;background:#FBFDFF;transition:all .3s ease}
.wp73{min-width:0;flex:1}
.wp74{display:block;font-size:13.5px;font-weight:700;color:#0E2A48;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wp75{display:block;height:2px;border-radius:20px;background:#E4EDF6;margin-top:6px;overflow:hidden}
.wp76{display:block;height:100%;width:0;border-radius:20px;background:linear-gradient(90deg,#189CCC,#184884);transition:width 7s linear}
.wp149{height:100%;display:flex;flex-direction:column;gap:16px;padding:26px 22px;border-radius:20px;background:#FFFFFF;border:1px solid #E7E3F6;box-shadow:0 24px 52px -42px rgba(56,38,120,.85);transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,border-color .3s ease}
.wp150{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wp151{display:block;width:46px;height:46px;border-radius:14px;object-fit:contain;flex:0 0 auto}
.wp152{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;color:#B9B3CC}
.wp153{display:block}
.wp154{display:block;font-family:'Space Grotesk',sans-serif;font-size:15.5px;font-weight:600;color:#1A1240;letter-spacing:-.015em;margin-bottom:8px}
.wp155{display:block;font-size:13.5px;line-height:1.62;color:#5F5A78}
.wp302{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;color:#7189A3}
.wp3{max-width:1240px;position:relative}
.wp35{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,42px);line-height:1.08;letter-spacing:-.025em;margin:0 0 14px;color:#0E2A48;text-wrap:balance}
.wp36{font-size:16px;line-height:1.65;color:#5F7490;margin:0;text-wrap:pretty}
.wp188{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:500;color:#DCE6F1;letter-spacing:-.02em}
.wp189{font-family:'Space Grotesk',sans-serif;font-size:clamp(19px,2vw,23px);font-weight:600;color:#0E2A48;margin:0;letter-spacing:-.02em}
.wp191{font-size:14.5px;line-height:1.7;color:#5F7490;margin:0;max-width:420px}
.wp275{height:100%;padding:24px 22px;border-radius:18px;background:#FFFFFF;border:1px solid #E4EDF6;box-shadow:0 24px 50px -42px rgba(18,50,88,.8);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.wp277{display:flex;align-items:flex-start;gap:3px;margin-bottom:8px}
.wp278{font-family:'Space Grotesk',sans-serif;font-size:clamp(26px,2.8vw,34px);font-weight:700;letter-spacing:-.03em;line-height:1;color:#0E2A48}
.wp280{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#8598B0}
.wp305{display:grid;grid-template-columns:var(--wby-cols,1.25fr 1fr 1fr .9fr 1.1fr 1.2fr);gap:16px;align-items:center;padding:24px 28px;transition:background .25s ease}
.wp306{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:700;color:#0E2A48;letter-spacing:.02em}
.wp307{font-size:12.5px;color:#7189A3;margin-top:3px}
.wp309{font-size:12.5px;color:#8598B0;margin-top:2px}
.wp310{text-align:right}
.wp314{display:block;padding:11px 18px;border-radius:11px;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-weight:800;font-size:14px;text-align:center;box-shadow:0 12px 26px -14px rgba(24,72,132,.9);transition:all .26s ease}
.wp315{margin-top:8px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;background:transparent;cursor:pointer;font-family:'Manrope',sans-serif;font-size:13px;font-weight:700;color:#4E637E;padding:8px 12px;border-radius:10px;transition:all .25s ease}
.wp316{transition:transform .3s ease}
/* cloud-vps.js flips data-state instead of writing an inline height, so
   the open state is styled here. The 900px ceiling web-hosting.css sets
   for the panel clips a long feature list once the card is one column
   wide, which is why this one is higher. */
[data-row][data-state="open"] .wp317{max-height:1800px;border-top-color:#E1EBF5}
[data-row][data-state="open"] .wp315{background:#E9F4FB;border-color:#A9D9EE;color:#166FA8}
[data-row][data-state="open"] .wp316{transform:rotate(180deg)}
.wp317{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.2,.8,.2,1);background:#F7FAFD;border-top:1px solid transparent}
.wp318{padding:24px 28px}
.wp319{font-size:14px;font-weight:700;color:#0E2A48;margin-bottom:16px}
.wp320{--bs-gutter-x:1.5rem;--bs-gutter-y:.75rem}
.wp385{display:block;font-size:12px;font-weight:700;color:#4E637E;margin-bottom:6px}
.wp386{color:#D9534F}
.wp387{display:flex;align-items:center;gap:10px;border-bottom:1.5px solid #DFE8F2;padding:0 2px 7px;transition:border-color .25s ease}
.wp388{flex:0 0 auto}
.wp389{flex:1;min-width:0;border:0;background:transparent;outline:none;font-family:'Manrope',sans-serif;font-size:15px;color:#0E2A48;padding:2px 0}
.wp23{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-top:1px solid #E9F0F8}
.wp24{display:block;width:40px;height:40px;border-radius:12px;object-fit:contain;flex:0 0 auto}
.wp26{display:block;font-family:'Space Grotesk',sans-serif;font-size:15.5px;font-weight:600;color:#0E2A48;letter-spacing:-.015em;margin-bottom:6px}
.wp27{display:block;font-size:14px;line-height:1.65;color:#5F7490}
.wp31{position:relative;z-index:1;padding:86px 0;background:#FDFBF7}
.wp38{height:100%;display:flex;flex-direction:column;border-radius:20px;background:#FFFFFF;border:1px solid #EDE7DC;box-shadow:0 24px 50px -40px rgba(18,50,88,.7);overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.wp39{height:210px;background:#0E1B2C;overflow:hidden}
.wp49{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#D98617;font-weight:500;margin-bottom:14px}
.wp148{--bs-gutter-x:1.25rem;--bs-gutter-y:1.25rem}
.wp173{font-family:'JetBrains Mono',monospace;font-size:10.5px;padding:8px 13px;border-radius:100px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#E4DEFA}
.wp225{flex:1}
.wp227{display:block;margin-top:3px;font-size:13px;color:#7189A3}
.wp228{flex:0 0 auto;transition:all .3s ease}
.wp233{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:#4E637E}
.wp337{display:flex;align-items:center;gap:12px;padding:15px 19px;border-radius:15px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
.wp338{font-size:14.5px;font-weight:600;color:#FFFFFF}
.wp345{height:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:38px 26px;border-radius:22px;background:#FFFFFF;border:1px solid #E7EFF7;box-shadow:0 26px 54px -42px rgba(18,50,88,.55);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.wp347{display:block;font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:600;color:#0E2A48;letter-spacing:-.015em}
.wp348{font-size:16px;font-weight:600;color:#166FA8;transition:color .25s ease}
.wp364{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#4E637E}
.wp406{height:100%;display:flex;flex-direction:column;border-radius:20px;background:#FFFFFF;border:1px solid #E1EBF5;box-shadow:0 22px 48px -38px rgba(18,50,88,.65);overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.wp407{height:150px;border-bottom:1px solid #E1EBF5;overflow:hidden}
.wp408{font-size:14.5px;line-height:1.65;color:#5F7490;margin:0 0 14px}
.wp12{display:grid;gap:2px}
.wp13{font-size:13px;font-weight:700;color:#0E2A48}
.wp14{font-family:'JetBrains Mono',monospace;font-size:10px;color:#7189A3}
.wp16{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.wp18{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#166FA8}
.wp28{display:flex;flex-wrap:wrap;gap:12px}
.wp29{white-space:nowrap;display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:13px;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-weight:800;font-size:14.5px;box-shadow:0 18px 38px -18px rgba(24,72,132,.9);transition:transform .28s ease}
.wp30{white-space:nowrap;display:inline-flex;align-items:center;gap:9px;padding:14px 22px;border-radius:13px;border:1px solid #CFE0EF;background:#F7FAFD;color:#123258;font-weight:700;font-size:14.5px;transition:all .28s ease}
.wp46{max-width:1220px;position:relative}
.wp50{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(28px,3.6vw,44px);line-height:1.06;letter-spacing:-.03em;margin:0;color:#0E2A48;text-wrap:balance}
.wp54{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1px solid #D7E4F1;background:#FFFFFF;color:#184884;cursor:pointer;transition:all .25s ease}
.wp82{max-width:700px;margin:0 auto 44px;text-align:center}
.wp87{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid #D7E4F1;background:#FFFFFF;color:#184884;cursor:pointer;transition:all .25s ease}
.wp103{max-width:1180px;position:relative}
.wp105{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(28px,3.6vw,44px);line-height:1.06;letter-spacing:-.03em;margin:0 0 14px;color:#0E2A48;text-wrap:balance}
.wp106{font-size:16px;line-height:1.7;color:#5F7490;margin:0;text-wrap:pretty}
.wp109{display:inline-flex;align-items:center;gap:9px;border:0;cursor:pointer;font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;padding:12px 22px;border-radius:100px;background:transparent;color:#4E637E;transition:all .3s ease}
.wp112{--bs-gutter-x:1.5rem;--bs-gutter-y:1.75rem;position:relative}
.wp142{max-width:1260px;position:relative}
.wp144{display:inline-flex;align-items:center;gap:9px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#6A54C9;background:#EFEAFC;border:1px solid #DDD4F5;padding:8px 14px;border-radius:100px;margin-bottom:20px}
.wp146{background:linear-gradient(100deg,#189CCC,#6A54C9 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.wp147{font-size:16px;line-height:1.7;color:#5F5A78;margin:0;text-wrap:pretty}
.wp156{margin-top:0}
.wp181{position:relative;z-index:1;padding:90px 0;background:#FFFFFF;overflow:hidden}
.wp186{height:100%;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:16px;padding:clamp(26px,2.6vw,36px);border-radius:22px;background:#FFFFFF;border:1px solid #EAF0F7;box-shadow:0 22px 50px -42px rgba(18,50,88,.75);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s ease}
.wp187{display:flex;align-items:center;gap:14px;flex-direction:row-reverse}
.wp192{height:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:16px;padding:clamp(26px,2.6vw,36px);border-radius:22px;background:#FFFFFF;border:1px solid #EAF0F7;box-shadow:0 22px 50px -42px rgba(18,50,88,.75);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s ease}
.wp193{display:flex;align-items:center;gap:14px;flex-direction:row}
.wp198{--bs-gutter-x:clamp(2rem,4vw,4.5rem);--bs-gutter-y:2rem;margin-bottom:clamp(28px,4vw,56px)}
.wp200{position:relative;height:clamp(280px,28vw,340px);border-radius:18px;overflow:hidden;background:#FFFFFF;box-shadow:0 26px 54px -40px rgba(18,50,88,.8)}
.wp201{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(24px,2.9vw,34px);line-height:1.1;letter-spacing:-.028em;margin:0 0 16px;color:#0E2A48;text-wrap:balance}
.wp202{font-size:16px;line-height:1.75;color:#5F7490;margin:0 0 22px;max-width:520px;text-wrap:pretty}
.wp203{display:flex;flex-wrap:wrap;gap:9px}
.wp206{max-width:720px;margin:0 auto 48px;text-align:center}
.wp217{position:relative;z-index:1;padding:92px 0;background:linear-gradient(180deg,#FFFFFF,#F1F7FC);overflow:hidden}
.wp220{font-size:16.5px;line-height:1.7;color:#5F7490;margin:0;text-wrap:pretty}
.wp229{position:relative;display:flex;align-items:center;gap:16px;width:100%;padding:20px 22px;border-radius:16px;border:1px solid #E4EDF6;background:#FFFFFF;cursor:pointer;font-family:'Manrope',sans-serif;text-align:left;transition:all .3s cubic-bezier(.2,.8,.2,1)}
.wp230{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#EEF5FB;color:#7189A3;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500;flex:0 0 auto;transition:all .3s ease}
.wp231{display:block;font-size:16px;font-weight:700;color:#0E2A48;letter-spacing:-.01em;transition:color .3s ease}
.wp246{display:none;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:16px}
.wp265{display:grid;gap:1px}
.wp266{font-size:10px;color:#7E9CBD}
.wp267{font-family:'JetBrains Mono',monospace;font-size:14px;color:#FFFFFF}
.wp304{border-bottom:1px solid #E9F0F8}
.wp354{color:#7189A3;font-weight:600}
.wp372{font-size:15px;font-weight:600;color:#6E8199;padding-bottom:12px}
.wp396{position:relative}
.wp1{position:relative;z-index:1;padding:96px 0;background:linear-gradient(170deg,#FFFFFF,#EDF5FB);overflow:hidden}
.wp2{position:absolute;top:-140px;right:-130px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(24,156,204,.14),transparent 66%);filter:blur(30px);animation:wbyBlob 25s ease-in-out infinite}
.wp4{--bs-gutter-x:clamp(2rem,4vw,4rem);--bs-gutter-y:2.5rem}
.wp5{position:relative;perspective:1200px}
.wp6{position:relative;border-radius:26px;overflow:hidden;background:linear-gradient(165deg,#123258,#0B2138 62%,#081726);box-shadow:0 52px 100px -56px rgba(18,50,88,.98);height:clamp(320px,34vw,400px);transform-style:preserve-3d;transform:rotateY(-9deg) rotateX(5deg);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.wp7{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse 80% 70% at 50% 5%,#000,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 5%,#000,transparent 78%)}
.wp8{position:absolute;left:-12%;right:-12%;bottom:-8%;height:50%;background:radial-gradient(ellipse at 50% 100%,rgba(92,224,245,.3),transparent 66%);filter:blur(26px)}
.wp9{position:absolute;inset:0}
.wp11{position:absolute;top:12%;left:-14px;display:flex;align-items:center;gap:11px;padding:12px 16px;border-radius:14px;background:#FFFFFF;border-left:3px solid #17A673;box-shadow:0 26px 46px -24px rgba(0,0,0,.6);animation:wbyFloatB 7.5s ease-in-out infinite}
.wp15{position:absolute;bottom:14%;right:-12px;display:flex;align-items:center;gap:11px;padding:12px 16px;border-radius:14px;background:#FFFFFF;border-left:3px solid #189CCC;box-shadow:0 26px 46px -24px rgba(0,0,0,.6);animation:wbyFloatB 9.5s ease-in-out 1.2s infinite}
.wp17{width:30px;height:2px;border-radius:20px;background:linear-gradient(90deg,#189CCC,#17A673)}
.wp19{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(27px,3.5vw,43px);line-height:1.05;letter-spacing:-.033em;margin:0 0 18px;color:#0E2A48;text-wrap:balance}
.wp20{background:linear-gradient(100deg,#189CCC,#184884 62%,#17A673);-webkit-background-clip:text;background-clip:text;color:transparent}
.wp21{font-size:16px;line-height:1.75;color:#4E637E;margin:0 0 26px;max-width:560px;text-wrap:pretty}
.wp22{margin-bottom:28px}
.wp33{max-width:740px;margin:0 auto 48px;text-align:center}
.wp44{position:relative;z-index:1;padding:90px 0;background:linear-gradient(180deg,#FFFFFF,#EFF5FB);overflow:hidden}
.wp45{position:absolute;top:8%;right:-140px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(24,156,204,.14),transparent 66%);filter:blur(28px);animation:wbyBlob 24s ease-in-out infinite}
.wp47{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}
.wp48{max-width:620px}
.wp52{display:flex;align-items:center;gap:14px}
.wp53{font-family:'JetBrains Mono',monospace;font-size:13px;color:#7189A3}
.wp55{--bs-gutter-x:2rem;--bs-gutter-y:2rem}
.wp56{position:relative;height:clamp(360px,34vw,400px);perspective:1500px}
.wp62{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-weight:800;font-size:15px;flex:0 0 auto}
.wp65{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#184884,#17A673);color:#FFFFFF;font-weight:800;font-size:15px;flex:0 0 auto}
.wp66{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#17A673,#189CCC);color:#FFFFFF;font-weight:800;font-size:15px;flex:0 0 auto}
.wp67{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#6A54C9,#189CCC);color:#FFFFFF;font-weight:800;font-size:15px;flex:0 0 auto}
.wp68{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#D98617,#189CCC);color:#FFFFFF;font-weight:800;font-size:15px;flex:0 0 auto}
.wp69{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#8598B0;margin-bottom:14px}
.wp70{display:grid;gap:9px}
.wp72{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-weight:800;font-size:12.5px;flex:0 0 auto;filter:grayscale(1);opacity:.55;transition:all .3s ease}
.wp77{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#184884,#17A673);color:#FFFFFF;font-weight:800;font-size:12.5px;flex:0 0 auto;filter:grayscale(1);opacity:.55;transition:all .3s ease}
.wp78{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#17A673,#189CCC);color:#FFFFFF;font-weight:800;font-size:12.5px;flex:0 0 auto;filter:grayscale(1);opacity:.55;transition:all .3s ease}
.wp79{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6A54C9,#189CCC);color:#FFFFFF;font-weight:800;font-size:12.5px;flex:0 0 auto;filter:grayscale(1);opacity:.55;transition:all .3s ease}
.wp80{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#D98617,#189CCC);color:#FFFFFF;font-weight:800;font-size:12.5px;flex:0 0 auto;filter:grayscale(1);opacity:.55;transition:all .3s ease}
.wp81{position:relative;z-index:1;padding:86px 0;background:#EFF5FB}
.wp83{position:relative;margin-bottom:26px}
.wp84{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.wp85{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8598B0}
.wp86{display:flex;gap:9px}
.wp88{overflow:hidden;padding:6px 2px 14px}
.wp89{display:flex;gap:16px;transition:transform .55s cubic-bezier(.2,.8,.2,1);will-change:transform}
.wp95{height:3px;border-radius:20px;background:#E1EBF5;overflow:hidden;margin-top:4px}
.wp96{height:100%;width:30%;border-radius:20px;background:linear-gradient(90deg,#189CCC,#184884);transition:width .25s ease,margin-left .25s ease}
.wp97{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(115deg,#FFFFFF 40%,#FDF3E4);border:1px solid #EFE2CE;padding:28px 30px;display:flex;flex-wrap:wrap;align-items:center;gap:22px;justify-content:space-between;box-shadow:0 24px 52px -42px rgba(18,50,88,.7)}
.wp98{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#D98617;font-weight:500;margin-bottom:10px}
.wp99{font-family:'Space Grotesk',sans-serif;font-size:24px;font-weight:600;color:#0E2A48;margin-bottom:8px}
.wp100{font-size:14.5px;color:#5F7490}
.wp101{white-space:nowrap;display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:13px;background:#FFFFFF;border:1px solid #E1D3BC;color:#123258;font-weight:700;font-size:15px;box-shadow:0 14px 30px -20px rgba(18,50,88,.7);transition:all .28s ease}
.wp102{position:relative;z-index:1;padding:90px 0;background:linear-gradient(180deg,#EFF5FB,#FFFFFF);overflow:hidden}
.wp104{max-width:680px;margin:0 auto 34px;text-align:center}
.wp107{display:flex;justify-content:center;margin-bottom:30px}
.wp108{display:inline-flex;gap:4px;padding:6px;border-radius:100px;background:#FFFFFF;border:1px solid #E1EBF5;box-shadow:0 18px 40px -32px rgba(18,50,88,.8)}
.wp110{position:relative;border-radius:24px;background:#FFFFFF;border:1px solid #E4EDF6;box-shadow:0 36px 74px -52px rgba(18,50,88,.85);padding:clamp(28px,3.2vw,42px);overflow:hidden}
.wp111{position:absolute;top:-90px;right:-70px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(24,156,204,.12),transparent 68%);filter:blur(20px)}
.wp117{max-width:1000px}
.wp118{text-align:center;margin-bottom:42px}
.wp119{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,42px);line-height:1.08;letter-spacing:-.025em;margin:0;color:#0E2A48}
.wp120{display:grid;gap:12px}
.wp126{position:relative;z-index:1;padding:96px 0;background:linear-gradient(170deg,#1A1240,#241C4A 52%,#120C2C);overflow:hidden}
.wp127{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 70% at 50% 0%,#000 10%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 0%,#000 10%,transparent 76%)}
.wp128{position:absolute;bottom:-180px;left:-140px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(92,224,245,.16),transparent 66%);filter:blur(34px);animation:wbyBlob 26s ease-in-out infinite}
.wp129{--bs-gutter-x:3rem;--bs-gutter-y:1.5rem;margin-bottom:44px}
.wp130{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:#A78BFF;margin-bottom:16px}
.wp131{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(27px,3.5vw,44px);line-height:1.05;letter-spacing:-.033em;margin:0;color:#FFFFFF;text-wrap:balance}
.wp132{background:linear-gradient(100deg,#5CE0F5,#A78BFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.wp133{font-size:15.5px;line-height:1.72;color:#B3ADCC;margin:0;text-wrap:pretty}
.wp141{position:relative;z-index:1;padding:92px 0;background:linear-gradient(180deg,#F1EEFB,#FBFAFE);overflow:hidden}
.wp143{max-width:700px;margin:0 auto 48px;text-align:center}
.wp145{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(27px,3.4vw,42px);line-height:1.06;letter-spacing:-.033em;margin:0 0 14px;color:#1A1240;text-wrap:balance}
.wp157{position:relative;z-index:1;padding:96px 0;background:linear-gradient(180deg,#FBFAFE,#F1EEFB);overflow:hidden}
.wp158{position:absolute;top:-140px;left:-120px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(106,84,201,.16),transparent 66%);filter:blur(30px);animation:wbyBlob 24s ease-in-out infinite}
.wp159{max-width:660px;margin-bottom:46px}
.wp160{width:6px;height:6px;border-radius:50%;background:#6A54C9}
.wp161{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(28px,3.6vw,45px);line-height:1.05;letter-spacing:-.033em;margin:0 0 16px;color:#1A1240;text-wrap:balance}
.wp162{position:relative;height:100%;min-height:clamp(340px,34vw,420px);border-radius:24px;overflow:hidden;background:linear-gradient(165deg,#241C4A,#150F30 60%,#0E0A22);box-shadow:0 50px 96px -56px rgba(26,18,64,.98);padding:clamp(24px,2.6vw,32px);display:flex;flex-direction:column}
.wp163{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000,transparent 76%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000,transparent 76%)}
.wp164{position:absolute;left:-14%;right:-14%;bottom:-10%;height:52%;background:radial-gradient(ellipse at 50% 100%,rgba(167,139,255,.42),transparent 66%);filter:blur(26px)}
.wp165{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px}
.wp166{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;color:#B9A9FF}
.wp167{display:inline-flex;align-items:center;gap:7px}
.wp168{width:6px;height:6px;border-radius:50%;background:#4FD8A6;box-shadow:0 0 8px #4FD8A6;animation:wbyBlink 2.3s ease-in-out infinite}
.wp169{font-family:'JetBrains Mono',monospace;font-size:10px;color:#8FE8C6}
.wp170{position:relative;flex:1;display:flex;align-items:center;justify-content:center;margin:18px 0;min-height:150px}
.wp171{display:block;width:100%;height:100%;object-fit:contain}
.wp172{position:relative;display:flex;flex-wrap:wrap;gap:8px}
.wp174{font-family:'JetBrains Mono',monospace;font-size:10.5px;padding:8px 13px;border-radius:100px;background:rgba(167,139,255,.18);border:1px solid rgba(167,139,255,.4);color:#D6CCFF}
.wp175{position:relative;margin-top:18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 22px;border-radius:13px;background:linear-gradient(135deg,#A78BFF,#6A54C9);color:#FFFFFF;font-weight:800;font-size:14.5px;box-shadow:0 20px 40px -20px rgba(167,139,255,.9);transition:transform .28s ease}
.wp176{--bs-gutter-x:1rem;--bs-gutter-y:1rem}
.wp182{position:absolute;top:12%;left:50%;transform:translateX(-50%);width:1px;height:66%;background:linear-gradient(180deg,transparent,#E4EDF6 20%,#E4EDF6 80%,transparent)}
.wp183{max-width:700px;margin:0 auto 52px;text-align:center}
.wp184{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(28px,3.6vw,44px);line-height:1.06;letter-spacing:-.03em;margin:0 0 18px;color:#0E2A48;text-wrap:balance}
.wp185{display:block;width:52px;height:3px;border-radius:20px;background:linear-gradient(90deg,#189CCC,#184884);margin:0 auto 18px}
.wp190{width:44px;height:2px;border-radius:20px;background:#184884}
.wp194{width:44px;height:2px;border-radius:20px;background:#189CCC}
.wp195{width:44px;height:2px;border-radius:20px;background:#17A673}
.wp196{width:44px;height:2px;border-radius:20px;background:#D98617}
.wp197{max-width:620px;margin:0 auto 52px;text-align:center}
.wp199{position:relative;padding:clamp(14px,1.6vw,22px);border-radius:26px;background:linear-gradient(150deg,#EFF6FC,#F7FAFD);border:1px solid #E4EDF6}
.wp205{position:relative;padding:clamp(14px,1.6vw,22px);border-radius:26px;background:linear-gradient(150deg,#F3FBF6,#F8FDFA);border:1px solid #E4EDF6}
.wp212{position:relative;z-index:1;padding:86px 0;background:linear-gradient(180deg,#FDFBF7,#EFF5FB)}
.wp213{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,42px);line-height:1.08;letter-spacing:-.025em;margin:0;color:#0E2A48;text-wrap:balance}
.wp218{max-width:720px;margin:0 auto 44px;text-align:center}
.wp219{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#166FA8;background:#E1F0F9;border:1px solid #C6E4F3;padding:7px 14px;border-radius:100px;margin-bottom:18px}
.wp221{--bs-gutter-x:1.75rem;--bs-gutter-y:1.75rem}
.wp222{display:grid;gap:12px;position:sticky;top:96px}
.wp223{position:relative;display:flex;align-items:center;gap:16px;width:100%;padding:20px 22px;border-radius:16px;border:1px solid #B6DCF0;background:#FFFFFF;cursor:pointer;font-family:'Manrope',sans-serif;text-align:left;transition:all .3s cubic-bezier(.2,.8,.2,1)}
.wp224{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500;flex:0 0 auto;transition:all .3s ease}
.wp226{display:block;font-size:16px;font-weight:700;color:#166FA8;letter-spacing:-.01em;transition:color .3s ease}
.wp232{margin-top:6px;display:grid;gap:11px;padding:22px;border-radius:16px;background:#F5FAFD;border:1px solid #E4EDF6}
.wp235{padding:clamp(20px,2.4vw,30px);border-radius:24px;background:#FFFFFF;border:1px solid #E4EDF6;box-shadow:0 34px 70px -52px rgba(18,50,88,.85)}
.wp236{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.wp237{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;color:#7189A3}
.wp238{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:#17A673}
.wp239{width:7px;height:7px;border-radius:50%;background:#17A673;box-shadow:0 0 8px rgba(23,166,115,.8)}
.wp240{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:16px}
.wp247{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:22px;border-top:1px solid #EEF3F8}
.wp248{font-family:'JetBrains Mono',monospace;font-size:13.5px;color:#5F7490}
.wp249{color:#B6C6D8}
.wp250{color:#166FA8;font-weight:500}
.wp251{white-space:nowrap;display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:12px;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-weight:800;font-size:14.5px;box-shadow:0 16px 32px -18px rgba(24,72,132,.9);transition:transform .28s ease}
.wp252{position:relative;z-index:1;padding:96px 0 100px;background:linear-gradient(180deg,#FFFFFF,#EAF2FA);overflow:hidden}
.wp253{position:absolute;inset:0;background-image:linear-gradient(rgba(18,50,88,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(18,50,88,.032) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 90% 60% at 20% 30%,#000,transparent 74%);-webkit-mask-image:radial-gradient(ellipse 90% 60% at 20% 30%,#000,transparent 74%)}
.wp254{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;margin-bottom:clamp(26px,3vw,40px)}
.wp255{position:relative;flex:1 1 560px;min-width:0;border-radius:26px;overflow:hidden;background:linear-gradient(165deg,#0E2A48,#123258 58%,#08182B);box-shadow:0 56px 104px -58px rgba(18,50,88,.98);min-height:clamp(360px,38vw,440px)}
.wp256{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 80% 70% at 50% 10%,#000,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 10%,#000,transparent 78%)}
.wp257{position:absolute;left:-10%;right:-10%;bottom:-4%;height:46%;background:radial-gradient(ellipse at 50% 100%,rgba(92,224,245,.34),transparent 66%);filter:blur(26px)}
.wp258{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.wp259{position:absolute;top:22px;left:22px;display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border-radius:100px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
.wp260{position:relative;display:inline-flex;width:14px;height:14px;align-items:center;justify-content:center}
.wp261{position:absolute;inset:0;border-radius:50%;background:rgba(79,216,166,.4);animation:wbyRipple 2.6s ease-out infinite}
.wp262{width:6px;height:6px;border-radius:50%;background:#4FD8A6}
.wp263{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;color:#8FE8C6}
.wp264{position:absolute;top:26%;right:20px;display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:14px;background:rgba(10,24,44,.72);border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 44px -26px rgba(0,0,0,.95);animation:wbyFloatB 7.5s ease-in-out infinite}
.wp268{position:absolute;bottom:20%;left:20px;display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:14px;background:rgba(10,24,44,.72);border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 44px -26px rgba(0,0,0,.95);animation:wbyFloatB 9s ease-in-out 1.1s infinite}
.wp269{position:relative;z-index:2;flex:0 1 520px;min-width:0;align-self:center;margin:-32px 0 0 -70px;padding:clamp(28px,3.2vw,42px);border-radius:24px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid #E1EBF5;box-shadow:0 46px 90px -52px rgba(18,50,88,.9)}
.wp270{width:30px;height:2px;border-radius:20px;background:linear-gradient(90deg,#189CCC,#184884)}
.wp271{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(26px,3.1vw,38px);line-height:1.08;letter-spacing:-.033em;margin:0 0 18px;color:#0E2A48;text-wrap:balance}
.wp272{background:linear-gradient(100deg,#189CCC,#184884 62%,#6A54C9);-webkit-background-clip:text;background-clip:text;color:transparent}
.wp273{font-size:15.5px;line-height:1.75;color:#5F7490;margin:0 0 16px;text-wrap:pretty}
.wp274{font-size:15.5px;line-height:1.75;color:#5F7490;margin:0 0 26px;text-wrap:pretty}
.wp276{display:block;width:38px;height:3px;border-radius:20px;background:linear-gradient(90deg,#5CE0F5,#166FA8);margin-bottom:18px}
.wp279{font-family:'JetBrains Mono',monospace;font-size:11px;color:#166FA8;margin-top:3px}
.wp281{display:block;width:38px;height:3px;border-radius:20px;background:linear-gradient(90deg,#A78BFF,#6A54C9);margin-bottom:18px}
.wp282{font-family:'JetBrains Mono',monospace;font-size:11px;color:#6A54C9;margin-top:3px}
.wp283{display:block;width:38px;height:3px;border-radius:20px;background:linear-gradient(90deg,#F0C46A,#D98617);margin-bottom:18px}
.wp284{font-family:'JetBrains Mono',monospace;font-size:11px;color:#D98617;margin-top:3px}
.wp285{display:block;width:38px;height:3px;border-radius:20px;background:linear-gradient(90deg,#4FD8A6,#17A673);margin-bottom:18px}
.wp286{font-family:'JetBrains Mono',monospace;font-size:11px;color:#17A673;margin-top:3px}
.wp287{position:relative;z-index:1;padding:86px 0;background:linear-gradient(180deg,#F4F8FC,#EAF2FA)}
.wp288{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}
.wp289{max-width:600px}
.wp290{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,42px);line-height:1.08;letter-spacing:-.025em;margin:0 0 12px;color:#0E2A48}
.wp291{font-size:16px;line-height:1.6;color:#5F7490;margin:0}
.wp292{display:inline-flex;padding:5px;border-radius:14px;border:1px solid #D7E4F1;background:#FFFFFF;box-shadow:0 14px 30px -24px rgba(18,50,88,.6)}
.wp293{border:0;cursor:pointer;font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;padding:11px 20px;border-radius:10px;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;box-shadow:0 12px 26px -14px rgba(24,72,132,.9);transition:all .25s ease}
.wp294{border:0;cursor:pointer;font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;padding:11px 20px;border-radius:10px;background:transparent;color:#6E8199;transition:all .25s ease}
.wp295{border-radius:22px;background:#FFFFFF;border:1px solid #E1EBF5;box-shadow:0 34px 74px -50px rgba(18,50,88,.85);overflow:hidden}
.wp296{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:26px 28px;border-bottom:1px solid #E9F0F8}
.wp297{font-family:'Space Grotesk',sans-serif;font-size:clamp(20px,2.2vw,26px);font-weight:700;letter-spacing:-.01em;color:#0E2A48;margin:0;text-transform:uppercase}
.wp298{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#17A673;background:#E4F4E9;border:1px solid #C4E7CF;padding:7px 13px;border-radius:100px}
.wp299{overflow-x:auto}
.wp300{min-width:940px}
.wp301{display:grid;grid-template-columns:var(--wby-cols,1.25fr 1fr 1fr .9fr 1.1fr 1.2fr);gap:16px;padding:16px 28px;background:#F7FAFD;border-bottom:1px solid #E9F0F8}
.wp303{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;color:#7189A3;text-align:right}
.wp323{border-bottom:1px solid #E9F0F8;background:#FCFDFF}
.wp324{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.wp325{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;padding:4px 8px;border-radius:100px;background:#189CCC;color:#FFFFFF;font-weight:700}
.wp326{position:relative;z-index:1;padding:20px 0 90px;background:#EFF5FB}
.wp327{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(125deg,#123258,#184884 52%,#166FA8);padding:clamp(32px,5vw,60px);box-shadow:0 50px 100px -60px rgba(18,50,88,.95)}
.wp328{position:absolute;top:-160px;right:-100px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(24,156,204,.5),transparent 62%);filter:blur(30px);animation:wbyBlob 19s ease-in-out infinite}
.wp329{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:36px;justify-content:space-between}
.wp330{max-width:580px}
.wp331{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,40px);line-height:1.1;letter-spacing:-.025em;margin:0 0 14px;color:#FFFFFF}
.wp332{font-size:16px;line-height:1.6;color:#C6DAEE;margin:0 0 28px;text-wrap:pretty}
.wp333{display:flex;flex-wrap:wrap;gap:13px}
.wp334{white-space:nowrap;display:inline-flex;align-items:center;gap:10px;color:#123258;font-size:15.5px;font-weight:800;padding:15px 26px;border-radius:14px;background:#FFFFFF;box-shadow:0 20px 46px -20px rgba(0,0,0,.6);transition:transform .3s ease,box-shadow .3s ease}
.wp335{white-space:nowrap;display:inline-flex;align-items:center;gap:10px;color:#FFFFFF;font-size:15.5px;font-weight:700;padding:15px 24px;border-radius:14px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);transition:all .3s ease}
.wp336{display:grid;gap:12px;min-width:230px}
.wp339{position:absolute;top:-150px;left:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(24,156,204,.10),transparent 68%);filter:blur(30px)}
.wp340{position:absolute;bottom:-180px;right:-120px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(106,84,201,.09),transparent 68%);filter:blur(32px)}
.wp341{max-width:1120px;position:relative}
.wp342{max-width:680px;margin:0 auto 44px;text-align:center}
.wp343{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(30px,4vw,50px);line-height:1.04;letter-spacing:-.032em;margin:0 0 16px;color:#0E2A48;text-wrap:balance}
.wp344{background:linear-gradient(100deg,#189CCC,#6A54C9);-webkit-background-clip:text;background-clip:text;color:transparent}
.wp346{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:20px;background:#E7EFFA;border:1px solid #CBDCF2}
.wp349{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:20px;background:#E1F0F9;border:1px solid #C0E2F4}
.wp350{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:20px;background:#E4F4E9;border:1px solid #C4E7CF}
.wp351{position:relative;z-index:1;padding:26px 0 56px;background:linear-gradient(180deg,#FFFFFF,#EFF6FC);overflow:hidden}
.wp352{max-width:1280px;position:relative}
.wp353{display:flex;align-items:center;gap:9px;font-size:13px;color:#7189A3;margin-bottom:26px}
.wp355{color:#123258;font-weight:700}
.wp356{position:relative;border-radius:26px;background:#FFFFFF;border:1px solid #E4EDF6;box-shadow:0 40px 90px -56px rgba(18,50,88,.8);overflow:hidden}
.wp357{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#189CCC,#184884 55%,#17A673)}
.wp358{--bs-gutter-x:1.5rem;--bs-gutter-y:1.75rem;margin:0}
.wp359{padding:clamp(26px,3.2vw,44px)}
.wp360{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#D98617;font-weight:500;margin-bottom:16px}
.wp361{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(30px,3.4vw,44px);line-height:1.04;letter-spacing:-.03em;margin:0 0 18px;color:#0E2A48;text-wrap:balance}
.wp362{font-size:16.5px;line-height:1.65;color:#5F7490;margin:0 0 22px;max-width:480px;text-wrap:pretty}
.wp363{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-bottom:20px}
.wp365{display:flex;width:fit-content;flex-wrap:wrap;align-items:center;gap:6px 11px;padding:10px 16px;border-radius:18px;background:#FFF9EC;border:1px solid #F6E4C0;margin-bottom:18px}
.wp366{display:inline-flex;gap:2px}
.wp367{white-space:nowrap;font-size:13.5px;font-weight:700;color:#0E2A48}
.wp368{width:1px;height:14px;background:#EBD9B8}
.wp369{font-size:13px;color:#8A7550;line-height:1.35}
.wp370{display:block;width:fit-content;padding:20px 24px;border-radius:18px;border:1px solid #E1EBF5;background:linear-gradient(160deg,#FBFDFF,#F1F7FC);box-shadow:0 22px 46px -36px rgba(18,50,88,.7);margin-bottom:16px}
.wp371{display:flex;align-items:flex-end;gap:10px;margin-bottom:20px}
.wp373{font-family:'Space Grotesk',sans-serif;font-size:clamp(34px,3.7vw,46px);font-weight:700;letter-spacing:-.035em;color:#0E2A48;line-height:1}
.wp374{display:flex;flex-wrap:wrap;gap:11px}
.wp375{position:relative;overflow:hidden;white-space:nowrap;display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:13px;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-weight:800;font-size:15px;box-shadow:0 16px 34px -16px rgba(24,72,132,.9);transition:transform .28s ease,box-shadow .28s ease}
.wp376{position:absolute;top:0;bottom:0;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);animation:wbySheen 5s ease-in-out infinite}
.wp377{white-space:nowrap;display:inline-flex;align-items:center;gap:9px;padding:14px 22px;border-radius:13px;border:1px solid #CFE0EF;background:#FFFFFF;color:#123258;font-weight:700;font-size:15px;transition:all .28s ease}
.wp378{font-size:13.5px;color:#8598B0}
.wp379{padding:clamp(18px,2.4vw,32px)}
.wp380{position:relative;border-radius:22px;background:#FFFFFF;border:1px solid #E1EBF5;box-shadow:0 34px 70px -46px rgba(18,50,88,.75);overflow:hidden}
.wp381{padding:clamp(22px,2.3vw,28px)}
.wp382{font-family:'Space Grotesk',sans-serif;font-size:clamp(20px,2.1vw,24px);font-weight:600;letter-spacing:-.025em;color:#0E2A48;margin:0 0 6px}
.wp383{font-size:14px;line-height:1.55;color:#5F7490;margin:0 0 20px}
.wp384{--bs-gutter-x:1rem;--bs-gutter-y:1.05rem}
.wp390{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;margin:18px 0 14px;padding:12px 14px;border-radius:12px;background:#F7FAFD;border:1px solid #E1EBF5;font-family:'Manrope',sans-serif;transition:border-color .25s ease,background .25s ease}
.wp391{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:7px;border:2px solid #C4D4E4;background:#FFFFFF;flex:0 0 auto;transition:all .25s ease}
.wp392{opacity:0;transform:scale(.5);transition:all .25s cubic-bezier(.2,.8,.2,1)}
.wp393{flex:1;font-size:14px;font-weight:600;color:#123258}
.wp394{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.12em;color:#A9BACD}
.wp395{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;cursor:pointer;padding:15px 24px;border-radius:12px;border:0;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-family:'Manrope',sans-serif;font-weight:800;font-size:15.5px;box-shadow:0 18px 38px -18px rgba(24,72,132,.9);transition:transform .28s ease,box-shadow .28s ease}
.wp397{position:absolute;top:0;bottom:0;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);animation:wbySheen 4.8s ease-in-out infinite}
.wp398{margin-top:11px;font-size:12px;color:#8598B0;text-align:center}
.wp399{display:none;padding:clamp(30px,3.4vw,44px);text-align:center}
.wp400{display:block;width:64px;height:64px;border-radius:14px;object-fit:contain;flex:0 0 auto}
.wp401{font-family:'Space Grotesk',sans-serif;font-size:23px;font-weight:600;color:#0E2A48;margin:0 0 12px;letter-spacing:-.02em}
.wp402{font-size:14.5px;line-height:1.65;color:#5F7490;margin:0 0 22px}
.wp403{color:#166FA8;font-weight:700}
.wp404{cursor:pointer;padding:12px 22px;border-radius:12px;border:1px solid #CFE0EF;background:#F7FAFD;color:#123258;font-family:'Manrope',sans-serif;font-weight:700;font-size:14px;transition:all .25s ease}
.wp405{position:relative;z-index:1;padding:86px 0;background:linear-gradient(180deg,#FDFBF7,#F4F8FC)}

/*
 * Heading accents.
 *
 * The template emphasised part of each heading with an inline span. That span
 * is rebuilt from square brackets in the stored copy, so the styles it carried
 * live here instead of in the markup. Values are the template's originals.
 */
.wp-acc{color:#166FA8}
.wp-acc-grad{-webkit-background-clip:text;background-clip:text;color:transparent}
.wp-acc-teal{background-image:linear-gradient(100deg,#189CCC,#184884 62%,#17A673)}
.wp-acc-violet{background-image:linear-gradient(100deg,#189CCC,#184884 62%,#6A54C9)}
.wp-acc-indigo{background-image:linear-gradient(100deg,#189CCC,#6A54C9 70%)}
.wp-acc-indigo-flat{background-image:linear-gradient(100deg,#189CCC,#6A54C9)}
.wp-acc-sky{background-image:linear-gradient(100deg,#5CE0F5,#A78BFF)}
.wp-inline-link{font-weight:600}

/*
 * App card hover accents.
 *
 * The template gave each card in the apps rail its own hover rule — nine
 * classes, five distinct colours, tied to the app's category. Cards are a
 * repeater now, so the colour is a per-row choice instead of a fixed class.
 * Values are the template's originals.
 */
.wp-app:hover{transform:translateY(-7px) !important}
.wp-app-cyan:hover{border-color:#C0E2F4 !important;box-shadow:0 34px 60px -36px #189CCC66 !important}
.wp-app-blue:hover{border-color:#C9DCF2 !important;box-shadow:0 34px 60px -36px #18488466 !important}
.wp-app-amber:hover{border-color:#F6DDB4 !important;box-shadow:0 34px 60px -36px #D9861766 !important}
.wp-app-violet:hover{border-color:#D9D1F5 !important;box-shadow:0 34px 60px -36px #6A54C966 !important}
.wp-app-green:hover{border-color:#C4E7CF !important;box-shadow:0 34px 60px -36px #17A67366 !important}

/*
 * Content pages — policies, compliance, information.
 *
 * A single readable column. Values follow the product template's body
 * typography so a policy page does not look like a different site.
 */
.wp-prose{margin:0 auto}
.wp-prose-block+.wp-prose-block{margin-top:38px}
.wp-prose-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(20px,2.2vw,26px);line-height:1.25;letter-spacing:-.02em;color:#0E2A48;margin:0 0 12px}
.wp-prose-body{font-size:16px;line-height:1.75;color:#4E637E;text-wrap:pretty}
.wp-prose-body p{margin:0 0 14px}
.wp-prose-body p:last-child{margin:0}

/*
 * Rich text inside a content page.
 *
 * Policy documents arrive as real prose — nested lists, bold definitions,
 * inline links — so the block needs list and table styling, not just
 * paragraphs. Tables scroll rather than widening the page on a phone.
 */
.wp-prose-body strong,.wp-prose-body b{color:#123258;font-weight:700}
.wp-prose-body a{color:#166FA8;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.wp-prose-body a:hover{color:#0E2A48}
.wp-prose-body h2,.wp-prose-body h3,.wp-prose-body h4{font-family:'Space Grotesk',sans-serif;color:#0E2A48;letter-spacing:-.02em;margin:30px 0 12px;line-height:1.25}
.wp-prose-body h2{font-size:clamp(20px,2.2vw,26px)}
.wp-prose-body h3{font-size:18px}
.wp-prose-body h4{font-size:16px}
.wp-prose-body ul,.wp-prose-body ol{margin:0 0 16px;padding-left:22px}
.wp-prose-body li{margin:0 0 8px}
.wp-prose-body li>ul,.wp-prose-body li>ol{margin-top:8px}
.wp-prose-body blockquote{margin:0 0 16px;padding:12px 18px;border-left:3px solid #C0E2F4;background:#F4FAFE;border-radius:0 12px 12px 0}
.wp-prose-body table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15px}
.wp-prose-body th,.wp-prose-body td{border:1px solid #E4EDF6;padding:10px 12px;text-align:left;vertical-align:top}
.wp-prose-body th{background:#F4F9FD;color:#0E2A48;font-weight:700}

/*
 * Policy page banner.
 *
 * Built from the theme's own tokens rather than a new look: the gradient is the
 * home page's closing CTA, the drifting blobs and masked grid come from the GPU
 * sections, and the pill matches the dark-section chips. A policy should feel
 * like the same site, just quieter.
 */
.wp-policy{position:relative;z-index:1;padding:clamp(52px,6vw,64px) 0 clamp(48px,5vw,60px);background:linear-gradient(150deg,#0E2A48,#123258 55%,#166FA8);overflow:hidden}
.wp-policy-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 70% at 50% 0%,#000 10%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 0%,#000 10%,transparent 76%)}
.wp-policy-blob-a{position:absolute;top:-160px;right:-100px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(92,224,245,.30),transparent 66%);filter:blur(34px);animation:wbyBlob 24s ease-in-out infinite}
.wp-policy-blob-b{position:absolute;bottom:-220px;left:-140px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(106,84,201,.28),transparent 66%);filter:blur(34px);animation:wbyBlob 28s ease-in-out infinite reverse}
.wp-policy-inner{position:relative;z-index:1;margin:0 auto;text-align:center}

/* Breadcrumb: light enough to read on the gradient, quiet enough to ignore. */
.wp-policy-crumbs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;margin:0 0 22px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.wp-policy-crumbs a{color:#8EE4F7;text-decoration:none;transition:color .25s ease}
.wp-policy-crumbs a:hover{color:#FFFFFF}
.wp-policy-crumbs span{color:#7FA3C6}
.wp-policy-crumb-sep{color:#4E7BA8}

.wp-policy-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;border-radius:100px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#FFFFFF;margin-bottom:22px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.wp-policy-dot{width:6px;height:6px;border-radius:50%;background:#34F5B0;box-shadow:0 0 10px #34F5B0;animation:wbyBlink 2.4s ease-in-out infinite}

.wp-policy-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(32px,4.6vw,58px);line-height:1.03;letter-spacing:-.035em;margin:0 0 18px;color:#FFFFFF;text-wrap:balance}
.wp-policy-rule{display:block;width:64px;height:3px;border-radius:20px;background:linear-gradient(90deg,#5CE0F5,#A78BFF);margin:0 auto 22px}
.wp-policy-lede{font-size:16.5px;line-height:1.75;color:#B7D2E9;margin:0 auto;text-wrap:pretty}

/* Updated stamp — quiet, but the thing people look for on a policy. */
.wp-policy-meta{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;color:#8FB3D4}

@media (max-width:575.98px){
  .wp-policy-crumbs{font-size:10px;gap:7px}
}

/*
 * Blog.
 *
 * Cards, filters and article layout, built from the same tokens as the rest of
 * the site: the product grid's card radius and shadow, the policy banner's
 * gradients, and the prose column the policies already use.
 */
.wp-blog{position:relative;z-index:1;padding:clamp(56px,7vw,88px) 0 clamp(64px,8vw,104px);background:linear-gradient(180deg,#FFFFFF,#F4F8FC)}
.wp-blog-related{background:linear-gradient(180deg,#F4F8FC,#EFF6FC);border-top:1px solid #E9F0F8}

/* Category chips */
.wp-blog-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(28px,3.4vw,44px)}
.wp-blog-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:100px;border:1px solid #DCE8F4;background:#FFFFFF;color:#4E637E;font-size:13.5px;font-weight:600;text-decoration:none;transition:all .25s ease}
.wp-blog-chip span{font-family:'JetBrains Mono',monospace;font-size:11px;color:#8598B0}
.wp-blog-chip:hover{border-color:#B6DCF0;color:#123258;transform:translateY(-2px);box-shadow:0 16px 30px -22px rgba(18,50,88,.8)}
.wp-blog-chip.is-on{background:linear-gradient(135deg,#189CCC,#184884);border-color:transparent;color:#FFFFFF}
.wp-blog-chip.is-on span{color:rgba(255,255,255,.75)}

.wp-blog-grid{--bs-gutter-x:1.75rem;--bs-gutter-y:1.75rem}

.wp-blog-card{height:100%;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#FFFFFF;border:1px solid #E9F0F8;box-shadow:0 24px 50px -42px rgba(18,50,88,.75);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s ease}
.wp-blog-card:hover{transform:translateY(-7px);border-color:#B6DCF0;box-shadow:0 34px 62px -38px rgba(24,156,204,.7)}

.wp-blog-cover{display:block;aspect-ratio:16/9;overflow:hidden;background:#EDF3F9}
.wp-blog-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.wp-blog-card:hover .wp-blog-cover img{transform:scale(1.05)}

.wp-blog-body{display:flex;flex-direction:column;gap:11px;padding:22px 24px 26px;flex:1}
.wp-blog-meta{display:flex;align-items:center;gap:9px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#8598B0}
.wp-blog-dot{width:4px;height:4px;border-radius:50%;background:#C0D2E4}

.wp-blog-title{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;line-height:1.32;letter-spacing:-.02em;margin:0;text-wrap:pretty}
.wp-blog-title a{color:#0E2A48;text-decoration:none;transition:color .25s ease}
.wp-blog-title a:hover{color:#166FA8}
/*
 * Exactly two lines.
 *
 * A three-line title made its row taller than the others, so the grid stepped.
 * Clamping to two — and reserving that height — keeps every card identical.
 */
.wp-blog-card .wp-blog-title{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(18px * 1.32 * 2);max-height:calc(18px * 1.32 * 2)}
/*
 * Five lines, always.
 *
 * Excerpts ran from one line to a full paragraph, so every card was a
 * different height and the Read more links landed at different heights.
 * Clamping to five lines and reserving that space keeps the grid level.
 */
.wp-blog-excerpt{font-size:14.5px;line-height:1.65;color:#5F7490;margin:0;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(14.5px * 1.65 * 5)}

.wp-blog-more{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:6px;font-size:13.5px;font-weight:700;color:#166FA8;text-decoration:none}
.wp-blog-more svg{transition:transform .28s ease}
.wp-blog-card:hover .wp-blog-more svg{transform:translateX(3px)}

.wp-blog-empty{text-align:center;color:#5F7490;margin:0;padding:40px 0}

/* Pagination, styled to match the chips. */
.wp-blog-pager{display:flex;justify-content:center;margin-top:clamp(32px,4vw,52px)}
.wp-blog-pager nav{width:100%}
.wp-blog-pager svg{width:18px;height:18px}
.wp-blog-pager .pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;margin:0;padding:0}
.wp-blog-pager .page-link{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:12px;border:1px solid #DCE8F4;background:#FFFFFF;color:#4E637E;font-size:14px;font-weight:600;text-decoration:none;transition:all .25s ease}
.wp-blog-pager .page-link:hover{border-color:#B6DCF0;color:#123258}
.wp-blog-pager .page-item.active .page-link{background:linear-gradient(135deg,#189CCC,#184884);border-color:transparent;color:#FFFFFF}
.wp-blog-pager .page-item.disabled .page-link{opacity:.45;pointer-events:none}

/* Article */
.wp-article-cover{margin:0 auto clamp(30px,4vw,46px);border-radius:22px;overflow:hidden;border:1px solid #E4EDF6;box-shadow:0 40px 80px -54px rgba(18,50,88,.85)}
.wp-article-cover img{width:100%;height:auto;display:block}
.wp-article-body img{max-width:100%;height:auto;border-radius:16px;margin:22px 0}
.wp-article-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(30px,4vw,44px);padding-top:26px;border-top:1px solid #E4EDF6}

/* ============================================================
   CONTACT PAGE
   Built on the same palette as the policy and blog pages so the
   contact route reads as part of the site, not a bolted-on form.
   ============================================================ */

.wp-contact-hero{position:relative;z-index:1;padding:26px 0 56px;background:linear-gradient(180deg,#FFFFFF,#EFF6FC);overflow:hidden}
.wp-contact-blob{position:absolute;top:-120px;right:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(24,156,204,.16),transparent 65%);filter:blur(28px);pointer-events:none}

.wp-contact-shell{position:relative;border-radius:26px;background:#FFFFFF;border:1px solid #E4EDF6;box-shadow:0 40px 90px -56px rgba(18,50,88,.8);overflow:hidden;margin-top:22px}
.wp-contact-rule{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#189CCC,#184884 55%,#17A673)}
.wp-contact-pitch{padding:clamp(26px,3.2vw,44px)}
.wp-contact-formcol{padding:clamp(18px,2.4vw,32px)}

.wp-contact-eyebrow{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#D98617;font-weight:500;margin-bottom:14px}
.wp-contact-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(30px,3.4vw,44px);line-height:1.04;letter-spacing:-.03em;margin:0 0 18px;color:#0E2A48;text-wrap:balance}
.wp-contact-h2{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(26px,3.2vw,40px);line-height:1.07;letter-spacing:-.03em;margin:0 0 14px;color:#0E2A48;text-wrap:balance}
.wp-contact-lede{font-size:16px;line-height:1.65;color:#5F7490;margin:0 0 22px;max-width:480px;text-wrap:pretty}

.wp-contact-promises{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-bottom:20px}
.wp-contact-promise{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#4E637E}

.wp-contact-rating{display:flex;width:fit-content;flex-wrap:wrap;align-items:center;gap:6px 11px;padding:10px 16px;border-radius:18px;background:#FFF9EC;border:1px solid #F6E4C0;margin-bottom:18px}
.wp-contact-stars{display:inline-flex;gap:2px}
.wp-contact-score{white-space:nowrap;font-size:13.5px;font-weight:700;color:#0E2A48}
.wp-contact-divider{width:1px;height:14px;background:#EBD9B8}
.wp-contact-rating-note{font-size:13px;color:#8A7550;line-height:1.35}

.wp-contact-desk{display:block;width:fit-content;max-width:100%;padding:20px 24px;border-radius:18px;border:1px solid #E1EBF5;background:linear-gradient(160deg,#FBFDFF,#F1F7FC);box-shadow:0 22px 46px -36px rgba(18,50,88,.7);margin-bottom:16px}
.wp-contact-desk-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:20px}
.wp-contact-desk-label{font-size:15px;font-weight:600;color:#6E8199;padding-bottom:10px}
.wp-contact-desk-number{font-family:'Space Grotesk',sans-serif;font-size:clamp(22px,2.7vw,32px);font-weight:700;letter-spacing:-.03em;color:#0E2A48;line-height:1}
.wp-contact-desk-actions{display:flex;flex-wrap:wrap;gap:11px}

.wp-contact-call{white-space:nowrap;display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:13px;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-weight:800;font-size:15px;box-shadow:0 16px 34px -16px rgba(24,72,132,.9);transition:transform .28s ease,box-shadow .28s ease}
.wp-contact-call:hover{color:#fff;transform:translateY(-2px);box-shadow:0 22px 40px -18px rgba(24,72,132,.95)}
.wp-contact-mail{white-space:nowrap;display:inline-flex;align-items:center;gap:9px;padding:14px 22px;border-radius:13px;border:1px solid #CFE0EF;background:#FFFFFF;color:#123258;font-weight:700;font-size:15px;transition:all .28s ease}
.wp-contact-mail:hover{color:#123258;border-color:#189CCC;transform:translateY(-2px)}
.wp-contact-hours{font-size:13.5px;color:#8598B0}

/* ------------------------------------------------------- switchboard */

.wp-contact-lines{position:relative;z-index:1;padding:0 0 86px;background:linear-gradient(180deg,#EFF6FC,#F7FAFD)}
.wp-contact-live{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.wp-contact-live span:last-child{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#166FA8}
.wp-contact-pulse{position:relative;display:inline-flex;width:9px;height:9px;border-radius:50%;background:#17A673;box-shadow:0 0 9px rgba(23,166,115,.7);flex:none}

.wp-contact-line{display:flex;gap:18px;height:100%;padding:26px 28px;border-radius:20px;background:#FFFFFF;border:1px solid #E4EDF6;box-shadow:0 24px 50px -42px rgba(18,50,88,.7);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.wp-contact-line:hover{transform:translateY(-4px);border-color:#BFDCEE;box-shadow:0 32px 60px -38px rgba(18,50,88,.8)}
.wp-contact-line-bar{width:3px;border-radius:20px;background:linear-gradient(180deg,#189CCC,#184884);flex:0 0 auto}
.wp-contact-line-body{flex:1;min-width:0}
.wp-contact-line-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.wp-contact-line-index{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.2em;color:#8598B0}
.wp-contact-line-badge{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;color:#17A673;background:#E4F4E9;padding:5px 10px;border-radius:100px;white-space:nowrap}
.wp-contact-line-badge.is-amber{color:#D98617;background:#FFF6E8}
.wp-contact-line-value{display:block;font-family:'Space Grotesk',sans-serif;font-size:clamp(17px,1.9vw,23px);font-weight:600;letter-spacing:-.02em;color:#0E2A48;margin-bottom:8px;word-break:break-word}
.wp-contact-line-note{display:block;font-size:13.5px;line-height:1.6;color:#7189A3}

/* ---------------------------------------------------------- locations */

.wp-contact-places{position:relative;z-index:1;padding:86px 0;background:#FDFBF7}
.wp-contact-places-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:30px}
.wp-contact-places-head > div:first-child{max-width:600px}
.wp-contact-filters{display:flex;flex-wrap:wrap;gap:8px}
.wp-contact-filter{cursor:pointer;font-size:13px;font-weight:700;padding:10px 17px;border-radius:100px;border:1px solid #DCE8F4;background:#FFFFFF;color:#4E637E;transition:all .25s ease}
.wp-contact-filter:hover{border-color:#189CCC;color:#166FA8}
.wp-contact-filter.is-on{background:linear-gradient(135deg,#189CCC,#184884);border-color:transparent;color:#FFFFFF}

.wp-contact-ledger{border-bottom:1px solid #E7EDF5}
.wp-contact-place{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px;padding:26px 18px;border-top:1px solid #E7EDF5;border-radius:14px;transition:transform .38s cubic-bezier(.2,.8,.2,1),background .38s ease,box-shadow .38s ease}
.wp-contact-place:hover{background:#FFFFFF;box-shadow:0 22px 46px -40px rgba(18,50,88,.7)}
.wp-contact-place[hidden]{display:none}
.wp-contact-place-bar{position:absolute;left:0;top:22px;bottom:22px;width:3px;border-radius:20px;background:linear-gradient(180deg,#189CCC,#184884);opacity:0;transform:scaleY(.4);transition:opacity .38s ease,transform .38s cubic-bezier(.2,.8,.2,1)}
.wp-contact-place:hover .wp-contact-place-bar{opacity:1;transform:scaleY(1)}
.wp-contact-place-num{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;color:#B6C6D8;width:30px;flex:0 0 auto;padding-top:3px;transition:color .38s ease}
.wp-contact-place:hover .wp-contact-place-num{color:#189CCC}
.wp-contact-place-main{flex:1 1 230px;min-width:0}
.wp-contact-place-title{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:7px}
.wp-contact-place-name{font-size:16.5px;font-weight:700;color:#0E2A48}
.wp-contact-place-badge{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;color:#166FA8;background:#E9F4FB;padding:5px 9px;border-radius:100px}
.wp-contact-place-badge.is-green{color:#17A673;background:#E4F4E9}
.wp-contact-place-address{display:block;font-size:14px;line-height:1.65;color:#5F7490;max-width:430px}
.wp-contact-place-phone{flex:0 1 190px;min-width:0}
.wp-contact-place-phone-label{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;color:#8598B0;margin-bottom:6px}
.wp-contact-place-phone a{font-size:14.5px;font-weight:700;color:#0E2A48}
.wp-contact-place-phone a:hover{color:#166FA8}
.wp-contact-place-map{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:11px;border:1px solid #CFE0EF;background:#FFFFFF;color:#123258;font-weight:700;font-size:13.5px;transition:all .28s ease;white-space:nowrap}
.wp-contact-place-map:hover{color:#123258;border-color:#189CCC;transform:translateY(-2px)}

/* -------------------------------------------------------------- visit */

.wp-contact-visit{position:relative;z-index:1;padding:86px 0;background:linear-gradient(180deg,#F7FAFD,#EFF6FC);overflow:hidden}
.wp-contact-steps{display:grid;gap:0;margin-bottom:30px}
.wp-contact-step{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-top:1px solid #E1EBF5}
.wp-contact-step:last-child{border-bottom:1px solid #E1EBF5}
.wp-contact-step-num{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;color:#189CCC;flex:0 0 auto}
.wp-contact-step-title{display:block;font-size:15.5px;font-weight:700;color:#0E2A48;margin-bottom:4px}
.wp-contact-step-body{display:block;font-size:14px;line-height:1.6;color:#7189A3}
.wp-contact-visit-actions{display:flex;flex-wrap:wrap;gap:12px}

.wp-contact-map{position:relative;border-radius:22px;overflow:hidden;border:1px solid #DDE9F4;background:#E9F0F7;box-shadow:0 36px 76px -50px rgba(18,50,88,.8)}
.wp-contact-map iframe{display:block;width:100%;height:clamp(320px,34vw,430px);border:0}
.wp-contact-map-still{display:flex;align-items:center;justify-content:center;height:clamp(240px,26vw,320px);background:linear-gradient(180deg,#EEF5FB,#E2ECF6);color:#A9BFD5}
.wp-contact-map-still svg{width:64px;height:64px}
.wp-contact-map-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between;padding:18px 22px;background:#FFFFFF;border-top:1px solid #E4EDF6}
.wp-contact-map-tag{display:flex;align-items:center;gap:9px;margin-bottom:6px;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;color:#8598B0;text-transform:uppercase}
.wp-contact-map-name{font-size:14.5px;font-weight:700;color:#0E2A48}
.wp-contact-map-address{font-size:12.5px;line-height:1.55;color:#5F7490}

/* --------------------------------------------------------------- form */

.wp-cf{position:relative;border-radius:22px;background:#FFFFFF;border:1px solid #E1EBF5;box-shadow:0 34px 70px -46px rgba(18,50,88,.75);overflow:hidden}
.wp-cf-body{padding:clamp(22px,2.3vw,28px)}
.wp-cf-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(20px,2.1vw,24px);font-weight:600;letter-spacing:-.025em;color:#0E2A48;margin:0 0 6px}
.wp-cf-lede{font-size:14px;line-height:1.55;color:#5F7490;margin:0 0 20px}
.wp-cf-field{margin-bottom:2px}
.wp-cf-label{display:block;font-size:12px;font-weight:700;color:#4E637E;margin-bottom:6px}
.wp-cf-req{color:#D9534F}
.wp-cf-input{display:flex;align-items:center;gap:10px;border-bottom:1.5px solid #DFE8F2;padding:0 2px 7px;transition:border-color .25s ease}
.wp-cf-input:focus-within{border-color:#189CCC}
.wp-cf-input svg{flex:0 0 auto}
.wp-cf-input input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-family:inherit;font-size:15px;color:#0E2A48;padding:2px 0}
.wp-cf-error{margin-top:6px;font-size:12px;color:#D9534F}
.wp-cf-submit{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;cursor:pointer;margin-top:20px;padding:15px 24px;border-radius:12px;border:0;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-family:inherit;font-weight:800;font-size:15.5px;box-shadow:0 18px 38px -18px rgba(24,72,132,.9);transition:transform .28s ease,box-shadow .28s ease}
.wp-cf-submit:hover:not(:disabled){transform:translateY(-2px)}
.wp-cf-submit:disabled{opacity:.7;cursor:progress}
.wp-cf-note{margin-top:11px;font-size:12px;color:#8598B0;text-align:center}
.wp-cf-done{padding:clamp(30px,3.4vw,44px);text-align:center}
.wp-cf-done-title{font-family:'Space Grotesk',sans-serif;font-size:23px;font-weight:600;color:#0E2A48;margin:18px 0 12px;letter-spacing:-.02em}
.wp-cf-done-body{font-size:14.5px;line-height:1.65;color:#5F7490;margin:0 0 22px}
.wp-cf-again{cursor:pointer;padding:12px 22px;border-radius:12px;border:1px solid #CFE0EF;background:#F7FAFD;color:#123258;font-family:inherit;font-weight:700;font-size:14px;transition:all .25s ease}
.wp-cf-again:hover{border-color:#189CCC}

@media (max-width:767.98px){
  .wp-contact-places,.wp-contact-visit{padding:56px 0}
  .wp-contact-lines{padding-bottom:56px}
  .wp-contact-place{gap:14px;padding:22px 14px}
  .wp-contact-place-phone{flex:1 1 100%}
  .wp-contact-desk{width:100%}
  .wp-contact-desk-actions .wp-contact-call,
  .wp-contact-desk-actions .wp-contact-mail{flex:1 1 100%;justify-content:center}
}

/* ============================================================
   THANK YOU
   Where the lead form lands. Same palette as the contact page.
   ============================================================ */

.wp-thanks{position:relative;z-index:1;padding:clamp(60px,8vw,110px) 0;background:linear-gradient(180deg,#FFFFFF,#EFF6FC);overflow:hidden}
.wp-thanks-blob{position:absolute;top:-140px;right:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(23,166,115,.16),transparent 65%);filter:blur(28px);pointer-events:none}

.wp-thanks-card{position:relative;max-width:680px;margin:0 auto;padding:clamp(32px,4vw,54px);border-radius:24px;background:#FFFFFF;border:1px solid #E4EDF6;box-shadow:0 40px 90px -56px rgba(18,50,88,.8);text-align:center;overflow:hidden}
.wp-thanks-rule{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#17A673,#189CCC 55%,#184884)}

.wp-thanks-mark{display:inline-flex;align-items:center;justify-content:center;width:74px;height:74px;margin-bottom:22px;border-radius:22px;background:#E4F4E9;border:1px solid #C9E8D6;color:#17A673}
.wp-thanks-mark svg{width:38px;height:38px}

.wp-thanks-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(26px,3.2vw,38px);line-height:1.1;letter-spacing:-.03em;margin:0 0 14px;color:#0E2A48}
.wp-thanks-lede{font-size:16px;line-height:1.7;color:#5F7490;margin:0 auto 28px;max-width:480px;text-wrap:pretty}

.wp-thanks-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:20px}
.wp-thanks-meta{font-size:13.5px;color:#8598B0}

@media (max-width:575.98px){
  .wp-thanks-actions .wp-contact-call,
  .wp-thanks-actions .wp-contact-mail{flex:1 1 100%;justify-content:center}
}

/* ============================================================
   VPS PLANS
   Grouped price tables (Speed VPS, Linux Gold, Windows Gold).
   Same palette as the rest of the product pages; the table
   scrolls inside its own container rather than the page.
   ============================================================ */

.wp-vps{position:relative;z-index:1;padding:clamp(50px,6vw,45px) 0;background:linear-gradient(180deg,#F7FAFD,#EFF6FC)}
.wp-vps-head{max-width:680px;margin:0 auto clamp(28px,4vw,44px);text-align:center}
.wp-vps-eyebrow{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#D98617;font-weight:500;margin-bottom:14px}
.wp-vps-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(26px,3.2vw,40px);line-height:1.08;letter-spacing:-.03em;margin:0 0 14px;color:#0E2A48;text-wrap:balance}
.wp-vps-lede{font-size:16px;line-height:1.65;color:#5F7490;margin:0;text-wrap:pretty}

.wp-vps-card{margin:0 auto 26px;border-radius:20px;background:#FFFFFF;border:1px solid #E4EDF6;box-shadow:0 28px 60px -46px rgba(18,50,88,.7);overflow:hidden}
.wp-vps-group{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:20px 26px;border-bottom:1px solid #EEF3F9;font-family:'Space Grotesk',sans-serif;font-size:clamp(16px,2vw,20px);font-weight:700;letter-spacing:-.01em;color:#0E2A48;text-transform:uppercase}

.wp-vps-scroll{overflow-x:auto}
.wp-vps-table{width:100%;min-width:820px;border-collapse:collapse}
.wp-vps-table thead th{padding:13px 20px;text-align:left;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8598B0;font-weight:600;background:#FAFCFE;border-bottom:1px solid #EEF3F9;white-space:nowrap}
.wp-vps-table thead th.wp-vps-price-th{text-align:right}
.wp-vps-table tbody td{padding:20px;border-bottom:1px solid #F1F5FA;font-size:14.5px;color:#4E637E;vertical-align:middle;white-space:nowrap}
.wp-vps-table tbody tr:last-child td{border-bottom:0}
.wp-vps-table tbody tr:hover td{background:#F9FCFE}

.wp-vps-name-td{min-width:180px}
.wp-vps-name{display:block;font-size:16px;font-weight:700;color:#0E2A48}
.wp-vps-sub{display:block;margin-top:3px;font-size:12.5px;color:#8598B0}

.wp-vps-price-td{text-align:right;min-width:170px}

.wp-vps-buy{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:170px;padding:11px 20px;border-radius:11px;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-weight:800;font-size:14px;box-shadow:0 14px 28px -16px rgba(24,72,132,.9);transition:transform .24s ease,box-shadow .24s ease}
.wp-vps-buy:hover{color:#fff;transform:translateY(-2px);box-shadow:0 20px 36px -16px rgba(24,72,132,.95)}

.wp-vps-more{margin-top:10px}
.wp-vps-more summary{display:inline-flex;align-items:center;gap:5px;justify-content:flex-end;width:100%;max-width:170px;cursor:pointer;list-style:none;font-size:12.5px;font-weight:700;color:#166FA8}
.wp-vps-more summary::-webkit-details-marker{display:none}
.wp-vps-more summary svg{transition:transform .2s ease}
.wp-vps-more[open] summary svg{transform:rotate(180deg)}
.wp-vps-more ul{margin:10px 0 0;padding:0;list-style:none;text-align:right}
.wp-vps-more li{font-size:12.5px;color:#5F7490;padding:3px 0}
.wp-vps-more li::before{content:"✓";color:#17A673;font-weight:700;margin-right:6px}

@media (max-width:575.98px){
  .wp-vps-card{border-radius:16px}
  .wp-vps-table tbody td,.wp-vps-table thead th{padding:14px}
}

/* ------------------------------------------------------------------------- */
/* Live plans (WHMCS): the full-width "Plan specifications" drawer.
   Each plan is a tbody[data-row]; web-hosting.js's delegated data-spec-toggle
   flips data-state between open/closed, mirroring the template's plan table. */
/* Same pill as the template plan table (.wp315/.wby-h47): quiet text button
   at rest, a bordered light-blue pill on hover, focus and while open. */
.wp-vps-morebtn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;max-width:170px;margin:8px 0 0 auto;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:10px;padding:8px 12px;font-family:'Manrope',sans-serif;font-size:13px;font-weight:700;color:#4E637E;outline:none;transition:all .25s ease}
.wp-vps-morebtn:hover,.wp-vps-morebtn:focus-visible,.wp-vps-morebtn[data-state="open"]{background:#F1F7FC;border-color:#CFE0EF;color:#123258}
.wp-vps-morebtn svg{transition:transform .2s ease}
.wp-vps-morebtn[data-state="open"] svg{transform:rotate(180deg)}
.wp-vps-spec-tr{display:none}
tbody[data-state="open"] .wp-vps-spec-tr{display:table-row}
.wp-vps-table .wp-vps-spec-tr>td{padding:0}
.wp-vps-specs{background:#F5F9FD;border-top:1px solid #E3EDF6;padding:22px 26px;text-align:left}
.wp-vps-specs-title{font-size:15px;font-weight:800;color:#12263F;margin-bottom:12px}
.wp-vps-specs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 28px}
.wp-vps-specs-col{display:flex;flex-direction:column;gap:8px}
.wp-vps-spec-item{display:inline-flex;align-items:flex-start;gap:8px;font-size:13.5px;color:#3D5670}
.wp-vps-spec-item svg{flex:none;margin-top:2px}
@media (max-width:991.98px){
  .wp-vps-specs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767.98px){
  .wp-vps-specs-grid{grid-template-columns:1fr}
  .wp-vps-specs{padding:16px}
}

/* Merchandising badge on a live-plans row — the vps design's own pill. */
.wp-vps-badge{display:inline-block;vertical-align:middle;margin-left:8px;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;padding:4px 8px;border-radius:100px;background:#189CCC;color:#FFFFFF;font-weight:700;text-transform:uppercase}

/* A long drawer line must wrap inside the card, never widen the table:
   width:0 + min-width:100% keeps the panel out of the table's width math. */
.wp-vps-specs{width:0;min-width:100%;box-sizing:border-box}
.wp-vps-spec-item{overflow-wrap:anywhere}

/* Breadcrumb strip on product pages: sits in the band between the fixed
   nav and the hero, whose own top padding absorbs it via the negative
   margin - so the hero design never moves. */
.wp-crumbs-strip{position:relative;z-index:6;padding:94px 0 0;margin-bottom:-72px;pointer-events:none}
.wp-crumbs-strip a,.wp-crumbs-strip span{pointer-events:auto}

/* ------------------------------------------------------------------------- */
/* No-scroll plan tables.
   Fixed layout makes long names and spec strings WRAP inside their column
   instead of widening the table, so the card never scrolls sideways. Under
   768px the same rows stack as labelled cards — every value visible, still
   no horizontal scroll. */
.wp-vps-scroll{overflow-x:visible}
.wp-vps-table{table-layout:fixed;width:100%;min-width:0}
.wp-vps-table thead th,.wp-vps-table tbody td{overflow-wrap:anywhere;white-space:normal}
.wp-vps-table thead th:first-child{width:23%}
.wp-vps-table thead th.wp-vps-price-th{width:230px}
.wp-vps-price-td{min-width:0}

@media (max-width:1199.98px){
  .wp-vps-table thead{display:none}
  .wp-vps-table,.wp-vps-table tbody,.wp-vps-table tbody tr,.wp-vps-table tbody td{display:block;width:100%}
  .wp-vps-table tbody[data-row]{border-bottom:1px solid #EDF3F9;padding:12px 0}
  .wp-vps-table tbody td{padding:5px 18px;text-align:left}
  .wp-vps-table tbody td:empty{display:none}
  .wp-vps-table tbody td[data-label]::before{content:attr(data-label);display:inline-block;min-width:96px;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#8598B0;margin-right:10px}
  .wp-vps-name-td{padding-top:10px}
  .wp-vps-price-td{text-align:left;padding-top:12px;min-width:0}
  .wp-vps-buy{max-width:230px}
  .wp-vps-morebtn{max-width:230px;margin-left:0;justify-content:flex-start}
  /* The stacked layout above turns every row into a block, which would
     also un-hide the drawer; these two carry the extra specificity needed
     to keep the toggle in charge of it. */
  .wp-vps-table tbody tr.wp-vps-spec-tr{display:none}
  .wp-vps-table tbody[data-state="open"] tr.wp-vps-spec-tr{display:block}
  .wp-vps-spec-tr>td{padding:0}
}

/* ------------------------------------------------- plan terms & offers
   One plan row reads top to bottom in three beats: what it is, what it
   costs, what to do next. Everything here serves that — the term chooser
   is quiet until used, the saving sits beside the price rather than above
   it, and an offer is a warm wash with a left rail, not a boxed-in row. */

/* ---- the term chooser ---- */
.wp-cyc{position:relative;width:100%;max-width:230px;margin:0 0 10px auto}
.wp-cyc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:6px 10px;border:1px solid #E1E9F4;border-radius:9px;background:#FBFCFE;
  cursor:pointer;list-style:none;white-space:nowrap;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.wp-cyc-head::-webkit-details-marker{display:none}
.wp-cyc-head:hover{background:#fff;border-color:#BFD5EC}
/* One term: the same box, but it is not a control. */
.wp-cyc--one .wp-cyc-head,.wp-cyc--one .wp-cyc-head:hover{cursor:default;background:#FBFCFE;border-color:#E1E9F4;box-shadow:none}
/* The card clips to its rounded corners, which also clipped an open term list
   on the last rows. While a list is open the card lets it out; the corners
   are a smaller loss than half a menu. */
.wp-vps-card:has(.wp-cyc[open]),.wp-vps-card:has(.wp-cyc[open]) .wp-vps-scroll{overflow:visible}
.wp-cyc[open] .wp-cyc-head{background:#fff;border-color:#2BB1E4;box-shadow:0 0 0 3px rgba(43,177,228,.14)}
.wp-cyc[open] .wp-cyc-caret{transform:rotate(180deg)}
.wp-cyc-caret{flex:none;color:#8296B0;transition:transform .2s ease}
.wp-cyc-current{display:inline-flex;align-items:baseline;gap:4px;font-size:.8rem;color:#5B7392}
.wp-cyc-term{font-weight:600;color:#33507A}
.wp-cyc-at{color:#A9B7C9}
.wp-cyc-permo{font-weight:700;color:#0E2A48;font-size:.86rem}
.wp-cyc-mo{color:#93A3B8;font-size:.72rem}

.wp-cyc-list{position:absolute;z-index:40;right:0;min-width:100%;width:max-content;max-width:280px;
  top:calc(100% + 6px);margin:0;padding:5px;list-style:none;max-height:300px;overflow-y:auto;
  background:#fff;border:1px solid #E4EBF5;border-radius:12px;
  box-shadow:0 28px 56px -24px rgba(16,42,76,.4)}
.wp-cyc-opt{display:block;width:100%;text-align:left;appearance:none;border:0;background:transparent;
  cursor:pointer;padding:8px 10px;border-radius:8px;transition:background .15s ease}
.wp-cyc-opt:hover{background:#F4F8FD}
.wp-cyc-opt.is-on{background:#EDF7FE;box-shadow:inset 2px 0 0 #2BB1E4}
.wp-cyc-line{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;white-space:nowrap}
.wp-cyc-save{display:flex;align-items:center;gap:7px;margin-top:1px;font-size:.72rem}
.wp-cyc-save s{color:#5E7086;text-decoration-color:#C2382E;text-decoration-thickness:1.5px}
.wp-cyc-save b{color:#12794A;font-weight:800;letter-spacing:.01em}

/* ---- price, saving, action ---- */
.wp-offer-savings{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.wp-offer-was{color:#5E7086;font-size:.88rem;font-weight:600;
  text-decoration-color:#C2382E;text-decoration-thickness:1.5px}
.wp-offer-percent{padding:2px 8px;border-radius:6px;background:#E7F7EE;color:#12794A;
  font-size:.7rem;font-weight:800;letter-spacing:.02em}

/* The action is one line, always — a wrapped button doubles the row height. */
.wp-vps-buy{white-space:nowrap;padding:10px 18px;font-size:.88rem;border-radius:10px}

/* ---- the offer row ---- */
.wp-offer-ribbon{display:inline-block;padding:3px 10px;border-radius:5px;
  background:#E02B45;color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  vertical-align:middle}
.wp-offer-note{display:inline-block;padding:3px 10px;border-radius:999px;
  background:#FFF1CF;border:1px solid #F5D68A;color:#7A5405;font-size:.72rem;font-weight:700;
  vertical-align:middle}
.wp-offer-note::before{content:"🔥 ";}
.wp-offer-coupon{display:inline-block;margin-top:6px;padding:3px 9px;border-radius:6px;
  border:1px dashed #D9BE7A;background:#FFFAEE;color:#7A5405;font-size:.7rem;letter-spacing:.01em}
.wp-offer-coupon b{color:#C2610C;font-weight:800}

/* A wash and a rail: the row stands out without being fenced in.
   The tint is flat, not a gradient — a gradient on each cell restarts in
   every column and the row reads as stripes. */
.wp-vps-offerrow.wp-tone-amber td{background:#FFFBF0}
.wp-vps-offerrow.wp-tone-amber td:first-child{box-shadow:inset 3px 0 0 #F0B429}
.wp-vps-offerrow.wp-tone-amber .wp-vps-buy{background:linear-gradient(90deg,#FF9A2E,#F2740B)}
.wp-vps-offerrow.wp-tone-red td{background:#FFF5F5}
.wp-vps-offerrow.wp-tone-red td:first-child{box-shadow:inset 3px 0 0 #E4606D}
.wp-vps-offerrow.wp-tone-red .wp-vps-buy{background:linear-gradient(90deg,#F4553F,#D8202F)}
.wp-vps-offerrow.wp-tone-green td{background:#F4FBF7}
.wp-vps-offerrow.wp-tone-green td:first-child{box-shadow:inset 3px 0 0 #35A870}
.wp-vps-offerrow.wp-tone-green .wp-vps-buy{background:linear-gradient(90deg,#2FB772,#13894F)}
.wp-vps-offerrow.wp-tone-blue td{background:#F4F9FF}
.wp-vps-offerrow.wp-tone-blue td:first-child{box-shadow:inset 3px 0 0 #3C8FE0}
.wp-vps-offerrow.wp-tone-blue .wp-vps-buy{background:linear-gradient(90deg,#2BB1E4,#2563C9)}

/* The template renderer is divs, so the same wash is written for its own
   row and button. */
.wp-vps-offerrow.wp-tone-amber .wp305{background:#FFFBF0;box-shadow:inset 3px 0 0 #F0B429}
.wp-vps-offerrow.wp-tone-amber .wp314{background:linear-gradient(90deg,#FF9A2E,#F2740B)}
.wp-vps-offerrow.wp-tone-red .wp305{background:#FFF5F5;box-shadow:inset 3px 0 0 #E4606D}
.wp-vps-offerrow.wp-tone-red .wp314{background:linear-gradient(90deg,#F4553F,#D8202F)}
.wp-vps-offerrow.wp-tone-green .wp305{background:#F4FBF7;box-shadow:inset 3px 0 0 #35A870}
.wp-vps-offerrow.wp-tone-green .wp314{background:linear-gradient(90deg,#2FB772,#13894F)}
.wp-vps-offerrow.wp-tone-blue .wp305{background:#F4F9FF;box-shadow:inset 3px 0 0 #3C8FE0}
.wp-vps-offerrow.wp-tone-blue .wp314{background:linear-gradient(90deg,#2BB1E4,#2563C9)}

/* Stacked, the cells are blocks stacked down a card, so the rail belongs
   to the card and not to whichever cell happens to come first. */
@media (max-width:1199.98px){
  .wp-vps-offerrow.wp-tone-amber td:first-child,
  .wp-vps-offerrow.wp-tone-red td:first-child,
  .wp-vps-offerrow.wp-tone-green td:first-child,
  .wp-vps-offerrow.wp-tone-blue td:first-child{box-shadow:none}
  .wp-vps-offerrow.wp-tone-amber{box-shadow:inset 3px 0 0 #F0B429}
  .wp-vps-offerrow.wp-tone-red{box-shadow:inset 3px 0 0 #E4606D}
  .wp-vps-offerrow.wp-tone-green{box-shadow:inset 3px 0 0 #35A870}
  .wp-vps-offerrow.wp-tone-blue{box-shadow:inset 3px 0 0 #3C8FE0}
}

/* ---- density: the same content, fewer pixels ---- */
.wp-vps-table tbody td{padding-top:14px;padding-bottom:14px}
.wp-vps-name-td{line-height:1.4}
.wp-offer-flags{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:6px}
.wp-vps-name{margin-top:0}
.wp-vps-sub{margin-top:2px}
.wp-vps-price-td{padding-top:14px;padding-bottom:14px}
.wp-vps-morebtn{margin-top:7px;font-size:.78rem;opacity:.85}
.wp-vps-morebtn:hover{opacity:1}

/* The chooser is a secondary control: it should not look like a field. */
.wp-cyc{margin-bottom:8px}
.wp-cyc-head{padding:5px 10px}

/* Chooser left, saving right — one line, then the price under it. */
.wp-cyc-row{display:flex;align-items:center;justify-content:space-between;gap:10px;
  flex-wrap:wrap;margin-bottom:9px}
.wp-cyc{margin:0;max-width:160px;flex:0 0 auto}
.wp-cyc-label{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9DABC0}

/* The price column carries three lines of content; give it the width they
   need, rather than letting each one wrap inside it. Only where the table is
   still a table — stacked, the cell is a block and this would be a floor it
   cannot go under. */
@media (min-width:1200px){
  .wp-vps-price-td{min-width:290px}
}

/* Wide enough for the label it actually carries — a wrapped button was
   adding a whole line to every row in the table. */
.wp-vps-buy{
  /* max-width:210px; */
  padding:9px 16px;font-size:.85rem;
  box-shadow:0 10px 22px -14px rgba(24,72,132,.85)}

/* The template's own table: the same three beats in its markup. */
.wp305 .wp310{align-items:flex-end}

@media (max-width:900px){
  .wp-cyc{margin-left:0;max-width:100%}
}
@media (prefers-reduced-motion:reduce){
  .wp-cyc-head,.wp-cyc-caret,.wp-cyc-opt{transition:none}
}

/* The table is table-layout:fixed, so the columns take the widths declared
   on the header row — a min-width on a cell is ignored. The price column
   carries a chooser, a saving, a price and a button, so it is given the
   same share as the plan name; the spec columns hold one short line each. */
.wp-vps-table thead th:first-child{width:24%}
.wp-vps-table thead th:nth-child(2),
.wp-vps-table thead th:nth-child(3),
.wp-vps-table thead th:nth-child(4),
.wp-vps-table thead th:nth-child(5){width:13%}
.wp-vps-table thead th:last-child{width:24%}

/* …and the two controls on that top line are sized to share it. */
.wp-cyc{max-width:145px}
.wp-offer-savings{gap:5px}
.wp-offer-was{font-size:.78rem}
.wp-offer-percent{padding:2px 7px;font-size:.68rem}

/* Sized so the chooser and the saving genuinely share one line at the
   column width above — they were one gap away from wrapping. */
.wp-cyc-row{gap:8px}
.wp-cyc{max-width:110px}
.wp-cyc-head{padding:5px 9px}

/* The chooser holds the right of its line when it is alone there, and the
   left of it when a saving shares the line. */
.wp-cyc-row{justify-content:flex-end}
.wp-cyc:not(:only-child){
  /* margin-right:auto */
}
@media (max-width:1199.98px){
  .wp-cyc-row{justify-content:flex-start}
  .wp-cyc:not(:only-child){margin-right:0}
}

/* ---------------------------------------------------- the tablet card
   768–1199px: stacked, but two columns wide. The plan and its specs read
   down the left — the specs two across, so the card does not run on — and
   the price and its actions sit together on the right against a divider.
   Six columns squeezed to 90px each is what this replaces. */
@media (min-width:768px) and (max-width:1199.98px){
  .wp-vps-table tbody[data-row]{padding:14px 0}
  .wp-vps-table tbody tr:not(.wp-vps-spec-tr){
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 262px;
    column-gap:0;align-items:start}
  .wp-vps-table tbody tr:not(.wp-vps-spec-tr)>td:nth-of-type(1){grid-column:1/3;grid-row:1}
  .wp-vps-table tbody tr:not(.wp-vps-spec-tr)>td:nth-of-type(2){grid-column:1;grid-row:2}
  .wp-vps-table tbody tr:not(.wp-vps-spec-tr)>td:nth-of-type(3){grid-column:2;grid-row:2}
  .wp-vps-table tbody tr:not(.wp-vps-spec-tr)>td:nth-of-type(4){grid-column:1;grid-row:3}
  .wp-vps-table tbody tr:not(.wp-vps-spec-tr)>td:nth-of-type(5){grid-column:2;grid-row:3}
  .wp-vps-table tbody tr:not(.wp-vps-spec-tr)>td.wp-vps-price-td{
    grid-column:3;grid-row:1/span 3;align-self:center;
    padding:2px 18px 2px 24px;border-left:1px solid #EDF3F9}
  /* A spec the product does not state takes no room at all: stacked, an
     empty cell is an empty line rather than a blank column. */
  .wp-vps-table tbody td:empty{display:none}

  /* The label column can be tighter here than on a phone. */
  .wp-vps-table tbody td[data-label]::before{min-width:76px;margin-right:8px}
  .wp-vps-table tbody td[data-label]{padding:4px 16px 4px 18px}
  /* Both actions fill the column they now have to themselves. */
  .wp-vps-table .wp-vps-buy,
  .wp-vps-table .wp-vps-morebtn{max-width:none;margin-left:0}
  .wp-vps-morebtn{justify-content:center}
}

/* The template's own plan table stacks over the same band, rather than
   scrolling sideways inside a 940px floor. Same three beats, same divider;
   its spec cells name themselves from data-label now that the header row
   is gone. */
@media (max-width:1199.98px){
  .wp299{overflow-x:visible}
  .wp300{min-width:0}
  .wp301{display:none}
  .wp305{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 262px;gap:0;
    padding:18px 22px;align-items:start}
  .wp305>:first-child{grid-column:1/3;grid-row:1;margin-bottom:6px}
  .wp305-specs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-column:1/3;grid-row:2}
  .wp305-specs>.wp308{padding:4px 14px 4px 0}
  .wp305>.wp310{grid-column:3;grid-row:1/-1;align-self:center;text-align:left;
    padding-left:24px;border-left:1px solid #EDF3F9}
  .wp305 .wp308[data-label]::before{content:attr(data-label);display:inline-block;
    min-width:76px;margin-right:8px;font-family:'JetBrains Mono',monospace;
    font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#8598B0}
  .wp314,.wp315{max-width:none;margin-left:0}
}

/* On a phone there is only ever one column. */
@media (max-width:767.98px){
  .wp305{grid-template-columns:minmax(0,1fr);padding:16px 18px}
  .wp305>:first-child{grid-column:1;grid-row:auto}
  /* One column on a phone, however many spec columns the table kept. */
  .wp305-specs{grid-template-columns:minmax(0,1fr);grid-column:1;grid-row:auto}
  .wp305>.wp310{grid-column:1;grid-row:auto;padding-left:0;border-left:0;
    border-top:1px solid #EDF3F9;padding-top:14px;margin-top:10px}
}

/* Stacked, the chooser is at the left of the card, so the list opens to the
   right of its left edge — anchored the other way it ran off the screen and
   the card clipped it. */
@media (max-width:1199.98px){
  .wp-cyc-list{left:0;right:auto;max-width:min(280px,calc(100vw - 56px))}
}

/* -------------------------------------------------- the chooser as price
   The row no longer prints a price of its own: this is it. Term and rate on
   the first line, what the term saves on the second, and the whole control
   reads as the figure a visitor is here for. */
.wp-cyc{max-width:220px;flex:0 1 auto}
.wp-cyc-head{align-items:center;padding:7px 11px;white-space:normal}
.wp-cyc-current{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}
.wp-cyc-head .wp-cyc-line{gap:5px;flex-wrap:nowrap}
.wp-cyc-head .wp-cyc-term{font-size:.82rem;color:#5B7392;font-weight:600}
.wp-cyc-head .wp-cyc-at{font-size:.78rem}
.wp-cyc-head .wp-cyc-permo{font-size:1.02rem;font-weight:800;letter-spacing:-.01em}
.wp-cyc-head .wp-cyc-mo{font-size:.74rem}
.wp-cyc-head .wp-cyc-save{margin-top:0;gap:6px;font-size:.7rem}
.wp-cyc-save[hidden]{display:none}

/* Both figures on one line while they fit; the offer wraps under the
   chooser rather than squeezing it. */
.wp-cyc-row{align-items:flex-start}

/* A plan sold on one term: the same figure, no control around it. */
.wp-cyc-solo{display:flex;align-items:baseline;gap:5px;white-space:nowrap;padding:7px 0}
.wp-cyc-solo .wp-cyc-term{font-size:.82rem;color:#5B7392;font-weight:600}
.wp-cyc-solo .wp-cyc-permo{font-size:1.02rem;font-weight:800;letter-spacing:-.01em}
.wp-cyc-solo .wp-cyc-mo{font-size:.74rem}

/* ------------------------------------------ the chooser on a plan card
   The home page's cards are hand-written, and wider than a table cell, so
   the same control is given room to breathe: full width of the card, above
   the price it rewrites. The featured card is dark, so it carries its own
   palette rather than inheriting a control drawn for white. */
.wp-cyc-card{max-width:none;width:100%;margin:0 0 14px}
.wp-cyc-card .wp-cyc-list{left:0;right:auto;width:100%;max-width:none}

/* ---- the summary: this is the card's price, so it is weighted like one.
        Every rule here is scoped to the summary. The list below it is a menu
        on white, whatever colour the card is. ---- */
.wp-cyc-card .wp-cyc-head{padding:12px 14px;border-radius:12px}
.wp-cyc-card .wp-cyc-head .wp-cyc-line{align-items:baseline;gap:5px}
.wp-cyc-card .wp-cyc-head .wp-cyc-term{font-size:.86rem;font-weight:700;color:#4E637E}
.wp-cyc-card .wp-cyc-head .wp-cyc-at{color:#A9B7C9}
.wp-cyc-card .wp-cyc-head .wp-cyc-permo{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;
  font-weight:700;letter-spacing:-.02em;color:#0E2A48}
.wp-cyc-card .wp-cyc-head .wp-cyc-mo{font-size:.78rem}
.wp-cyc-card.is-dark .wp-cyc-head .wp-cyc-term{color:#C6DAEE}
.wp-cyc-card.is-dark .wp-cyc-head .wp-cyc-permo{color:#FFFFFF}
.wp-cyc-card.is-dark .wp-cyc-head .wp-cyc-mo{color:#A9C6E2}
.wp-cyc-card.is-dark .wp-cyc-head .wp-cyc-at{color:#7E9CBE}

/* The saving line keeps its place whether or not the chosen term has
   one: three cards side by side should not jump apart the moment one
   of them is switched to a cheaper term. */
/* Bootstrap hides [hidden] with !important, so the space is held by the
   block around it rather than by the empty line itself. */
.wp-cyc-card .wp-cyc-head .wp-cyc-current{min-height:58px;justify-content:center}
.wp-cyc-card .wp-cyc-head .wp-cyc-save{min-height:16px}
.wp-cyc-card .wp-cyc-list{left:0;right:auto;width:100%;max-width:none}
.wp-cyc-card .wp-cyc-head .wp-cyc-save{margin-top:2px}

.wp-cyc-card.is-dark .wp-cyc-head{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.24)}
.wp-cyc-card.is-dark .wp-cyc-head:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.38)}
.wp-cyc-card.is-dark[open] .wp-cyc-head{background:rgba(255,255,255,.16);border-color:#7FDCF5;
  box-shadow:0 0 0 3px rgba(127,220,245,.18)}
.wp-cyc-card.is-dark .wp-cyc-head .wp-cyc-caret{color:#A9C6E2}
.wp-cyc-card.is-dark .wp-cyc-head .wp-cyc-save s{color:#A9C6E2;text-decoration-color:#FF9A8B}
.wp-cyc-card.is-dark .wp-cyc-head .wp-cyc-save b{color:#7FE3B4}
/* The list itself stays light: a menu is read, not decorated. */

/* The footer's two contact lines used to be styled here. They moved to
   shared-sections.css: the footer is on every page, this sheet is not. */

/* The blog banner reuses the policy hero, which sits under a fixed nav. */
.wp-policy-offset{margin-top:70px}

/* --------------------------------------------------- setup fee, plan tables

   A one-off charged with the first invoice. WHMCS adds it at checkout whether
   or not the table mentioned it, so it is quoted beside the term it belongs
   to — a fee can apply monthly and not annually — and hidden outright on a
   term that has none. */

.wp-cyc-setup{
  display:block;
  font-size:.78rem;
  font-weight:600;
  line-height:1.4;
  color:#B4530E;
  margin-top:2px;
}

.wp-cyc-card .wp-cyc-setup{color:#C97A2B}
.wp-cyc-card.is-dark .wp-cyc-setup{color:#FFC98A}
.wp-cyc-opt .wp-cyc-setup{margin-top:1px}


/* ============================================================ plan filter rail
   The Pricing slider + chips beside the live plan tables (sections with
   Filter sidebar = on). Same palette as the tables themselves: navy text,
   #E4EDF6 borders, the #189CCC→#184884 button gradient for anything active.
   Desktop: a sticky 280px rail. Under 992px it becomes a bottom sheet behind a
   Filters button in the results bar. */
.wp-pf-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}
/* The column never gets shorter than the rail, so hiding rows cannot pull the
   rail up the page from under the visitor's cursor. */
.wp-pf-main{min-height:calc(100vh - 140px)}
/* No scroll anchoring inside the section: when a chip hides the rows the
   browser was anchored to, it would otherwise jump the page to a new anchor
   and take the rail with it. */
.wp-vps--filtered,.wp-pf-grid,.wp-pf-main{overflow-anchor:none}
.wp-pf-rail{position:sticky;top:96px}
.wp-pf-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 12px}
.wp-pf-title{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;letter-spacing:-.01em;color:#0E2A48;margin:0}
.wp-pf-actions{display:flex;align-items:center;gap:12px}
.wp-pf-reset{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0;color:#189CCC;font-size:13px;font-weight:700;cursor:pointer}
.wp-pf-reset:hover{color:#184884}
.wp-pf-card{background:#FFFFFF;border:1px solid #E4EDF6;border-radius:16px;overflow:hidden;box-shadow:0 28px 60px -46px rgba(18,50,88,.7)}
.wp-pf-card+.wp-pf-card{margin-top:14px}
.wp-pf-card-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border:0;border-bottom:1px solid #EEF3F9;background:#F7FAFD;color:#0E2A48;font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;text-align:left}
.wp-pf-sign{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#FFFFFF;border:1px solid #E4EDF6;color:#184884;font-size:16px;font-weight:400;line-height:1}
.wp-pf-card-body{padding:20px 18px 20px}
.wp-pf-card.is-closed .wp-pf-card-body{display:none}
.wp-pf-card.is-closed .wp-pf-card-head{border-bottom:0}
/* Slider: the native inputs stay for the keyboard (Tab to a handle, arrows
   move it) but are invisible; the handles the mouse sees are the two spans,
   and plan-filter.js drives them from the track. */
.wp-pf-range{position:relative;height:36px;cursor:pointer;touch-action:none;user-select:none}
.wp-pf-track{position:absolute;left:10px;right:10px;top:50%;transform:translateY(-50%);height:6px;border-radius:99px;background:#E4EDF6}
.wp-pf-fill{position:absolute;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,#189CCC,#184884)}
.wp-pf-input{position:absolute;left:0;top:0;width:100%;height:36px;margin:0;opacity:0;pointer-events:none}
.wp-pf-input:focus-visible~.wp-pf-handle{box-shadow:0 0 0 5px rgba(24,156,204,.28)}
.wp-pf-handle{position:absolute;top:50%;left:0;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#FFFFFF;border:5px solid #189CCC;box-shadow:0 2px 8px rgba(18,50,88,.25);transition:box-shadow .15s ease,transform .15s ease}

.wp-pf-handle{left:calc(10px + (100% - 20px) * var(--pf-r,0))}
.wp-pf-handle.is-active,.wp-pf-range:hover .wp-pf-handle{box-shadow:0 0 0 5px rgba(24,156,204,.18),0 2px 8px rgba(18,50,88,.25)}
.wp-pf-handle.is-active{transform:scale(1.08)}
.wp-pf-values{display:flex;justify-content:space-between;gap:10px;margin-top:12px}
.wp-pf-badge{flex:1 1 0;text-align:center;border:1px solid #E4EDF6;border-radius:9px;padding:8px 6px;font-size:14px;font-weight:800;color:#0E2A48;background:#F7FAFD;font-variant-numeric:tabular-nums;white-space:nowrap}
.wp-pf-note{margin-top:10px;font-size:12px;color:#5B7390}
.wp-pf-chips{display:flex;flex-wrap:wrap;gap:8px}
/* A chip is a label wrapping a hidden checkbox: the label is only the hit
   area, the span is the pill. Keeping the paint on the span means the checked
   state is input:checked + span, with no :has() to depend on — and the label
   must be stripped back, or every chip draws a second box around itself. */
.wp-pf-chip{display:inline-flex;margin:0;padding:0;border:0;background:none;border-radius:0;cursor:pointer}
.wp-pf-chip input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.wp-pf-chip span{display:inline-block;border:1px solid #E4EDF6;background:#F7FAFD;color:#184884;font-size:13px;font-weight:700;line-height:1.2;border-radius:9px;padding:8px 13px;transition:all .18s ease}
.wp-pf-chip:hover span{background:#EAF4FB;border-color:#BFDFF0;color:#0E2A48}
.wp-pf-chip input:checked + span{background:linear-gradient(135deg,#189CCC,#184884);border-color:transparent;color:#FFFFFF;box-shadow:0 10px 20px -14px rgba(24,72,132,.9)}
.wp-pf-chip input:focus-visible + span{outline:3px solid rgba(24,156,204,.3);outline-offset:2px}
.wp-pf-chip.is-off{opacity:.45;cursor:not-allowed}
.wp-pf-chip.is-off:hover span{background:#F7FAFD;border-color:#E4EDF6;color:#184884}
.wp-pf-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#FFFFFF;border:1px solid #E4EDF6;border-radius:16px;padding:13px 20px;margin-bottom:18px;box-shadow:0 28px 60px -46px rgba(18,50,88,.7)}
.wp-pf-count{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;color:#0E2A48;margin:0}

.wp-pf-empty{margin:0;padding:40px 20px;background:#FFFFFF;border:1px dashed #C9D8E8;border-radius:16px;color:#5B7390;font-size:15px;text-align:center}
.wp-pf-hidden{display:none!important}
/* Beside the rail the tables have less room: tighter cells, a smaller button. */
.wp-vps--filtered .wp-vps-card{margin-left:0;margin-right:0}
.wp-vps--filtered .wp314{padding:9px 14px;font-size:13px;border-radius:9px;max-width:170px;margin-left:auto}
.wp-vps--filtered .wp-vps-buy{padding:9px 14px;font-size:13px;border-radius:9px;max-width:150px}
.wp-vps--filtered .wp305{padding:20px 22px;gap:14px}
.wp-vps--filtered .wp301{padding:14px 22px;gap:14px}
.wp-vps--filtered .wp306{font-size:15px}
.wp-pf-open,.wp-pf-close,.wp-pf-foot,.wp-pf-scrim{display:none}
@media (max-width:991.98px){
  .wp-pf-grid{grid-template-columns:minmax(0,1fr)}
  .wp-pf-main{min-height:0}
  .wp-pf-open{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:10px;padding:10px 16px;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 12px 26px -14px rgba(24,72,132,.9)}

  .wp-pf-scrim{display:block;position:fixed;inset:0;z-index:1070;background:rgba(14,42,72,.55);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s}
  .wp-pf-rail{position:fixed;inset:0;z-index:1080;top:auto;max-height:88vh;background:#F4F8FC;border-radius:18px 18px 0 0;padding:20px 18px 96px;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 -20px 50px -30px rgba(14,42,72,.8);transform:translateY(101%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility .3s}
  body.wp-pf-lock{overflow:hidden}
  .wp-pf-grid.is-open .wp-pf-rail{transform:none;visibility:visible}
  .wp-pf-grid.is-open .wp-pf-scrim{opacity:1;visibility:visible}
  .wp-pf-head{padding-bottom:16px}
  .wp-pf-title{font-size:19px}
  .wp-pf-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #E4EDF6;border-radius:9px;background:#FFFFFF;color:#184884;font-size:22px;line-height:1;cursor:pointer}
  .wp-pf-foot{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1090;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:1px solid #E4EDF6;transform:translateY(101%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility .3s}
  .wp-pf-grid.is-open .wp-pf-foot{transform:none;visibility:visible}
  .wp-pf-done{width:100%;border:0;border-radius:10px;padding:14px;background:linear-gradient(135deg,#189CCC,#184884);color:#FFFFFF;font-size:15px;font-weight:800;cursor:pointer}
}
@media (prefers-reduced-motion:reduce){.wp-pf-rail,.wp-pf-scrim,.wp-pf-foot,.wp-pf-handle{transition:none}}

/* ======================================================== compact plan rows
   A row is as tall as its content, no taller. The features toggle sits under
   the plan name (the price cell holds only the chooser and the button), the
   cells lose the padding that was there to balance a three-line price stack,
   and the columns size to what they hold instead of splitting the width into
   equal shares — "4 vCPU" no longer gets the room "200 GB NVMe SSD" needs. */
.wp-vps-table{table-layout:auto}
.wp-vps-table thead th:first-child{width:1%}
.wp-vps-table thead th:last-child{width:1%;white-space:nowrap}
.wp-vps-table thead th{padding:11px 18px}
.wp-vps-table tbody td{padding:12px 18px;white-space:normal}
/* Spec cells take their content width while the card has room and wrap only
   when it does not: a wide row (long name, "128 GB DDR4 ECC RAM") stays
   inside the card instead of pushing the price column out of it. The price
   cell never wraps — its chooser and button are one unit. */
.wp-vps-table tbody td.wp-vps-price-td{white-space:nowrap}
/* And should a row still be wider than its card, the card scrolls sideways
   rather than clipping the price column. */
.wp-vps-scroll{overflow-x:auto}
/* Wrap at spaces only — "12C/24T" and "STORAGE" are one word each, and a
   heading never wraps. Beside the filter rail the cells give up a little
   padding and the name column a little floor, so a wide row still fits. */
.wp-vps-table thead th,.wp-vps-table tbody td{overflow-wrap:normal;word-break:normal}
.wp-vps-table thead th{white-space:nowrap}
/* Every column takes the same share of the table, however many it shows —
   four columns at a quarter each, five at a fifth — so the gaps between
   the columns read the same on every table. The count of spec columns rides
   on the table as a class; the name and price columns are counted with it.
   Fixed layout, so the shares are exact: the auto layout above would let a
   long name or a wide price cell take more than its share. */
.wp-vps-table[class*="wp-vps-table--s"]{table-layout:fixed}
.wp-vps-table.wp-vps-table--s0 thead th{width:50%}
.wp-vps-table.wp-vps-table--s1 thead th{width:33.333%}
.wp-vps-table.wp-vps-table--s2 thead th{width:25%}
.wp-vps-table.wp-vps-table--s3 thead th{width:20%}
.wp-vps-table.wp-vps-table--s4 thead th{width:16.666%}
.wp-vps--filtered .wp-vps-table thead th{padding:11px 14px}
.wp-vps--filtered .wp-vps-table tbody td{padding:12px 14px}
.wp-vps--filtered .wp-vps-table tbody td.wp-vps-name-td,.wp-vps--filtered .wp-vps-table thead th:first-child{min-width:200px}
/* The name column takes what its longest name needs and no more (width:1%
   asks the auto layout for the content width); the floor keeps a long
   product name to two or three lines rather than one word per line. */
.wp-vps-table tbody td.wp-vps-name-td{white-space:normal;min-width:250px;max-width:340px}
.wp-vps-table thead th:first-child{min-width:250px}
/* The plan_table pill ("Free migration on every plan") rides in the group bar,
   which is uppercase Space Grotesk; the pill keeps its own face. */
.wp-vps-group .wp298{font-family:'Manrope',sans-serif;text-transform:none;letter-spacing:0}
.wp-vps-name{display:block;line-height:1.25}
.wp-vps-sub{display:block;margin-top:1px}
.wp-vps-price-td{min-width:0;width:1%}
@media (min-width:1200px){.wp-vps-price-td{min-width:0}}
.wp-vps-price-td .wp-cyc-row{margin-bottom:6px;justify-content:flex-end}
.wp-vps-price-td .wp-cyc{max-width:none;width:auto}
.wp-vps-price-td .wp-cyc-head{padding:4px 9px}
.wp-vps-price-td .wp-vps-buy{max-width:none;width:auto;padding:8px 16px;font-size:.84rem;border-radius:9px;box-shadow:none}
/* A plain text link under the name. !important because the toggle script
   paints the open state inline (a tinted pill meant for the old placement
   under the button), and inline wins over anything else here. */
.wp-vps-name-td .wp-vps-morebtn{display:inline-flex;align-items:center;width:auto;max-width:none;margin:6px 0 0;padding:0;border:0!important;background:none!important;box-shadow:none;font-size:12px;font-weight:700;color:#189CCC!important;gap:5px;line-height:1.3}
.wp-vps-name-td .wp-vps-morebtn:hover,.wp-vps-name-td .wp-vps-morebtn:focus-visible,.wp-vps-name-td .wp-vps-morebtn[data-state="open"]{color:#184884!important;text-decoration:underline;text-underline-offset:3px}
.wp-vps-name-td .wp-vps-morebtn svg{width:12px;height:12px;transition:transform .2s ease}
.wp-vps--filtered .wp-vps-buy{padding:8px 14px;font-size:.82rem}
@media (max-width:767.98px){
  .wp-vps-table tbody td{white-space:normal;padding:5px 18px}
  .wp-vps-price-td .wp-cyc-row{justify-content:flex-start}
  .wp-vps-price-td{width:auto}
}
/* Plan name: heavier and near-black, so the row reads name-first. */
.wp-vps-table .wp-vps-name{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:800;color:#0B1B2E;letter-spacing:-.01em}
.wp-vps-table .wp-vps-sub{color:#6B7F96}
/* Column headings and spec values were a light grey that washed out on a
   white card; both step up to a readable navy, the values a touch heavier. */
.wp-vps-table thead th{font-size:11.5px;font-weight:700;letter-spacing:.1em;color:#3D5573;background:#F4F8FC;border-bottom:1px solid #E4EDF6}
.wp-vps-table tbody td{font-size:15px;font-weight:600;color:#1F3550}
.wp-vps-table .wp-vps-sub{font-weight:500}

/* ------------------------------------------------------------------------
   Product hero: one screen.

   The hero and its call-back form fit a 1366×768 laptop without a scroll —
   the visitor sees the Submit button the moment the page opens. The header
   is fixed and 73px tall, so the section starts below it: the breadcrumb
   and the card's top edge used to sit underneath the bar. The form is the
   same component the contact page runs, so the tightening is scoped to the
   hero column and the contact page keeps its roomier layout. ------------ */
@media (min-width: 992px) {
  .wp351{padding:72px 0 30px}
  .wp359{padding:clamp(24px,2.8vw,36px)}
  .wp361{margin:0 0 14px;font-size:clamp(30px,3.1vw,40px)}
  .wp362{font-size:15.5px;line-height:1.6;margin:0 0 16px}
  .wp363{margin-bottom:14px}
  .wp365{margin-bottom:14px}
  .wp379 .glf{padding:clamp(22px,2.4vw,30px);border-radius:18px}
  .wp379 .glf-head{margin-bottom:14px}
  .wp379 .glf-title{font-size:clamp(22px,2.2vw,26px);margin-bottom:6px}
  .wp379 .glf-lede{font-size:14px;line-height:1.5}
  .wp379 .glf-grid{gap:13px 24px}
  .wp379 .glf-label{margin-bottom:7px;font-size:13px}
  .wp379 .glf-input{padding-bottom:8px}
  .wp379 .glf-input input{font-size:15px}
  .wp379 .glf-human{margin-top:14px;padding:6px 12px}
  /* Google draws the widget at a fixed 304×78; it is scaled down to 80% here
     and the margins take back the space the transform leaves behind. */
  .wp379 .glf-human-box{transform:scale(.8);transform-origin:0 50%;margin:-8px -61px -8px 0}
  .wp379 .glf-notice{margin-top:14px}
  .wp379 .glf-submit{margin-top:16px;padding:13px 22px;font-size:16px}
  .wp379 .glf-note{margin-top:10px}
  .wp379 .glf-resend{margin-top:14px}
  .wp379 .glf-change{margin-top:12px}
}

/* Plan table: one frame, one divider between plans.
   A darker outline round the whole list, a single rule between rows, a
   quiet tint on hover and nothing else moving. Column widths untouched. */
.wp-vps-scroll{padding:0}
.wp-vps-table{border-collapse:separate;border-spacing:0;border:0;border-radius:0;background:#FFFFFF}
.wp-vps-table thead th{padding:13px 22px;background:#F3F7FB;border-bottom:1px solid #C5D5E6;color:#5F7591}
.wp-vps-table tbody[data-row] tr:first-child td{padding:22px;background:#FFFFFF;border:0;border-top:1px solid #D3DFEC;transition:background .18s ease}
.wp-vps-table tbody[data-row]:first-of-type tr:first-child td{border-top:0}
.wp-vps-table tbody[data-row]:hover tr:first-child td,.wp-vps-table tbody[data-row] tr:hover td{background:#F5F9FD}

/* The name leads; everything else stands back. */
.wp-vps-name{font-family:'Space Grotesk',sans-serif;font-size:17px;letter-spacing:-.01em;color:#0E2A48}
.wp-vps-sub{margin-top:4px;font-size:12px;letter-spacing:.02em;color:#8598B0}
.wp-vps-table tbody[data-row] tr:first-child td:not(.wp-vps-name-td):not(.wp-vps-price-td){font-size:15px;font-weight:600;color:#26405E}

.wp-vps-buy{max-width:none;padding:12px 20px;border-radius:12px;font-size:14px;letter-spacing:.01em;background:linear-gradient(135deg,#1FA9DA,#164B8C)}
.wp-vps-buy:hover{background:linear-gradient(135deg,#189CCC,#123E78)}

/* Open drawer sits inside the same frame, under its own rule. */
.wp-vps-table .wp-vps-spec-tr>td{padding:0;border:0}
.wp-vps-specs{border-top:1px solid #D3DFEC;background:#F7FAFD}

@media (max-width:1199.98px){
  .wp-vps-table tbody[data-row]{border-bottom:1px solid #D3DFEC;padding:12px 0}
  .wp-vps-table tbody[data-row]:last-of-type{border-bottom:0}
  .wp-vps-table tbody[data-row] tr:first-child td{padding:5px 18px;border:0}
  .wp-vps-table tbody[data-row]:hover tr:first-child td{background:transparent}
  .wp-vps-table tbody[data-row]:hover{background:#F5F9FD}
  .wp-vps-table tbody[data-row] .wp-vps-name-td{padding-top:10px}
  .wp-vps-table tbody[data-row] .wp-vps-price-td{padding-top:12px}
}
@media (max-width:767.98px){
  .wp-vps-scroll{padding:0}
}

/* Beside the filter rail the table has two-thirds of the width: tighter
   cells, a narrower price column, and a button sized to fit inside it. */
.wp-vps--filtered .wp-vps-table thead th{padding:12px 14px}
.wp-vps--filtered .wp-vps-table thead th:first-child{width:24%}
.wp-vps--filtered .wp-vps-table thead th.wp-vps-price-th{width:196px}
.wp-vps--filtered .wp-vps-table tbody[data-row] tr:first-child td{padding:18px 14px}
.wp-vps--filtered .wp-vps-table tbody[data-row] tr:first-child td:not(.wp-vps-name-td):not(.wp-vps-price-td){font-size:14px}
.wp-vps--filtered .wp-vps-name{font-size:15px}
.wp-vps--filtered .wp-vps-sub{font-size:11.5px}
.wp-vps--filtered .wp-vps-morebtn{width:auto;max-width:none;margin:6px 0 0;padding:4px 0;justify-content:flex-start;font-size:12.5px;white-space:nowrap}
.wp-vps--filtered .wp-vps-morebtn:hover,.wp-vps--filtered .wp-vps-morebtn[data-state="open"]{background:transparent;border-color:transparent}
.wp-vps--filtered .wp-cyc{max-width:100%}
.wp-vps--filtered .wp-vps-buy{width:100%;max-width:none;padding:10px 10px;font-size:13px;border-radius:10px;white-space:nowrap}
/* The term box beside the filter rail: no "@", a slightly smaller figure,
   and the line may wrap, so ₹2,39,999 /mo never runs past the caret. */
.wp-vps--filtered .wp-cyc-head{min-width:0;padding:6px 9px}
.wp-vps--filtered .wp-cyc-head .wp-cyc-line{flex-wrap:wrap;row-gap:0}
.wp-vps--filtered .wp-cyc-head .wp-cyc-at{display:none}
.wp-vps--filtered .wp-cyc-head .wp-cyc-term{font-size:.76rem}
.wp-vps--filtered .wp-cyc-head .wp-cyc-permo{font-size:.95rem}
.wp-vps--filtered .wp-cyc-head .wp-cyc-mo{font-size:.7rem}

/* Filter rail: checkbox lists (CPU, Drive Types), term radios, and the
   size sliders' "(16 GB — 256 GB)" caption in the card head. */
.wp-pf-list{display:flex;flex-direction:column;gap:6px}
.wp-pf-check{display:flex;align-items:center;gap:10px;margin:0;padding:6px 8px;border-radius:9px;font-size:13.5px;font-weight:600;color:#26405E;cursor:pointer;transition:background .15s ease}
.wp-pf-check:hover{background:#F3F8FC}
.wp-pf-check input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:0;border:2px solid #BFD0E2;border-radius:6px;background:#fff;cursor:pointer;position:relative;transition:all .15s ease}
.wp-pf-check input[type=radio]{border-radius:50%}
.wp-pf-check input:checked{border-color:#189CCC;background:#189CCC}
.wp-pf-check input[type=checkbox]:checked::after{content:'';position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.wp-pf-check input[type=radio]:checked{background:#fff;border-width:6px}
.wp-pf-check input:focus-visible{outline:2px solid #189CCC;outline-offset:2px}
.wp-pf-card-head .wp-pf-card-sub{margin-left:auto;font-family:'Manrope',sans-serif;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:#7B90A8;white-space:nowrap}
.wp-pf-card-head .wp-pf-card-sub + .wp-pf-sign{margin-left:8px}
/* An option the other filters have ruled out. */
.wp-pf-check.is-off{opacity:.45;cursor:not-allowed}
.wp-pf-check.is-off:hover{background:transparent}
/* The rail stays put: pinned under the header and scrolling inside itself
   when it is taller than the window, so the page never has to move it. */
@media (min-width:992px){
  .wp-pf-rail{max-height:calc(100vh - 112px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:4px}
}
/* The rail's own scrollbar, kept faint: a thin pale thumb on no track, a
   little darker only while the pointer is over the rail. */
@media (min-width:992px){
  .wp-pf-rail{scrollbar-width:thin;scrollbar-color:rgba(24,72,132,.14) transparent}
  .wp-pf-rail:hover{scrollbar-color:rgba(24,72,132,.28) transparent}
  .wp-pf-rail::-webkit-scrollbar{width:6px}
  .wp-pf-rail::-webkit-scrollbar-track{background:transparent}
  .wp-pf-rail::-webkit-scrollbar-thumb{background:rgba(24,72,132,.14);border-radius:100px}
  .wp-pf-rail:hover::-webkit-scrollbar-thumb{background:rgba(24,72,132,.28)}
}
/* No scrollbar on the rail: it is pinned by whichever edge fits the window
   (plan-filter.js sets the sticky offset), so it never scrolls inside. */
@media (min-width:992px){
  .wp-pf-rail{max-height:none;overflow:visible;padding-right:0}
}
/* The thank-you card now runs to two paragraphs. The gap that separates the
   block from the button below it is too wide to sit between them. */
.wp-thanks-lede--tight{margin-bottom:14px}
