/* ═══ FONT OVERRIDE — only 2 fonts allowed ═══ */
/* Be Vietnam Pro (body/headings) + IBM Plex Mono (technical/labels) */
*:not(i):not([class*="ph"]) {
  font-family: 'Be Vietnam Pro', system-ui, sans-serif !important;
}
code, pre, kbd, samp,
[class*="mono"], .bp-tag, .bp-chip, .bp-diag__lbl, .bp-diag__rev,
.bp-hero__micro, .bp-hero__ctrl, .bp-hero__tag,
.bp-bld__counter, .bp-bld__note, .bp-cases__filter,
.bp-cs__type, .bp-cs__res div strong, .bp-ast strong,
.bp-ac__stat, .bp-sol-support, .bp-prob__closing,
.bp-ideo__close, .bp-stp__sub, .bp-dv__pr, .bp-rm__name,
.bp-fl__label, .bp-ftr__col h4, .bp-ftr__bot,
.sgs-blog-date, .bp-hdr__lang {
  font-family: 'IBM Plex Mono', monospace !important;
}

/* ═══ AZIOT Blueprint v12.3 ═══ */
/* Standalone — no Bootstrap dependency for homepage */

:root {
  --white:#fff;--bg:#F5F7FA;--bg2:#EDF0F5;--ink:#0D1A2D;--ink2:#334155;--ink3:#64748B;--ink4:#94A3B8;--ink5:#CBD5E1;
  --blue:#1D4ED8;--blue2:#3B82F6;--blue-bg:rgba(29,78,216,.04);--blue-bg2:rgba(29,78,216,.07);
  --red:#DC2626;--green:#059669;--green2:#34D399;
  --border:#D6DCE5;--border-l:#E2E8F0;--grid:rgba(29,78,216,.035);
  --dark:#0B1120;
  --mono:'IBM Plex Mono',monospace;--sans:'Be Vietnam Pro',sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);
  --btn-radius:6px;
  --input-radius:6px;
}
html{font-size:18px}
body{font-family:var(--sans)!important;background:var(--bg)!important;color:var(--ink2);-webkit-font-smoothing:antialiased;line-height:1.7}
.sgs-header{display:none!important}
a{color:inherit;text-decoration:none}
.bp-ct{max-width:1100px;margin:0 auto;padding:0 28px}

/* ── Header ── */
.bp-hdr{position:fixed;top:0;left:0;right:0;z-index:1050;height:68px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-l);transition:all .3s var(--ease)}
.bp-hdr.scrolled{box-shadow:0 2px 16px rgba(0,0,0,.07)}
.bp-hdr__in{display:flex;align-items:center;justify-content:space-between;height:68px}
.bp-logo{font-family:var(--mono);font-weight:700;font-size:1rem;color:var(--ink);letter-spacing:3px;text-decoration:none!important}
.bp-logo b{color:var(--blue)} .bp-logo img{height:26px;width:auto}
.bp-logo--light{color:rgba(255,255,255,.85)} .bp-logo--light b{color:var(--blue2)}
.bp-nav__menu{list-style:none!important;display:flex!important;gap:4px!important;padding:0!important;margin:0!important}
.bp-nav__menu li{list-style:none!important;position:relative}
.bp-nav__menu li a{
  font-size:.88rem!important;font-weight:600!important;color:var(--ink3)!important;
  padding:10px 16px!important;border-radius:var(--btn-radius)!important;
  display:block!important;transition:color .2s, background .2s!important;text-decoration:none!important;
  line-height:1.2!important;
}
.bp-nav__menu li a:hover{color:var(--blue)!important;background:var(--blue-bg)!important}
.bp-nav__menu li.current-menu-item a,
.bp-nav__menu li.current_page_item a,
.bp-nav__menu li.current-menu-ancestor a{
  color:var(--blue)!important;font-weight:600!important;background:transparent!important;
}
.bp-nav__menu li.current-menu-item::after,
.bp-nav__menu li.current_page_item::after,
.bp-nav__menu li.current-menu-ancestor::after{
  content:'';position:absolute;bottom:-1px;left:16px;right:16px;
  height:2.5px;background:var(--blue);border-radius:2px 2px 0 0;
}
.bp-hdr__right{display:flex;align-items:center;gap:16px}
.bp-hdr__cta{
  font-size:.82rem!important;font-weight:600!important;padding:10px 22px!important;
  border-radius:var(--btn-radius)!important;background:var(--blue)!important;
  color:#fff!important;text-decoration:none!important;transition:all .2s!important;border:none!important;
}
.bp-hdr__cta:hover{background:#1a46c0!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(29,78,216,.2)}
.bp-hdr__burger{display:none;background:none;border:none;cursor:pointer;padding:10px}
.bp-hdr__burger span{display:block;width:20px;height:2px;background:var(--ink);margin:5px 0;border-radius:1px;transition:all .2s}
body{padding-top:68px!important}
.admin-bar .bp-hdr{top:32px}.admin-bar body{padding-top:100px!important}
@media(max-width:782px){.admin-bar .bp-hdr{top:46px}.admin-bar body{padding-top:114px!important}}

/* ── Buttons ── */
.bp-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:.82rem;font-weight:600;padding:12px 24px;border-radius:var(--btn-radius);transition:all .25s var(--ease);cursor:pointer;border:none;text-decoration:none!important}
.bp-btn--p{background:var(--blue);color:#fff!important}
.bp-btn--p:hover{background:#1a46c0;color:#fff!important;transform:translateY(-1px);box-shadow:0 4px 14px rgba(29,78,216,.2)}
.bp-btn--g{background:transparent;color:var(--ink2)!important;border:1.5px solid var(--border)}
.bp-btn--g:hover{border-color:var(--blue);color:var(--blue)!important}
.bp-btn--w{background:rgba(255,255,255,.08);color:rgba(255,255,255,.7)!important;border:1px solid rgba(255,255,255,.12)}
.bp-btn--w:hover{color:#fff!important;background:rgba(255,255,255,.12)}

/* ── Tags & Titles ── */
.bp-tag{font-family:var(--mono);font-size:.6rem;font-weight:500;color:var(--blue);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.bp-tag::before{content:'';width:16px;height:1.5px;background:var(--blue)}
.bp-tag--center{justify-content:center}.bp-tag--center::before{display:none}
.bp-tag--light{color:rgba(59,130,246,.7)}.bp-tag--light::before{background:rgba(59,130,246,.4)}
.bp-sh{font-size:clamp(1.4rem,2.5vw,1.85rem);font-weight:700;color:var(--ink);line-height:1.2;letter-spacing:-.02em;margin-bottom:10px}
.bp-sd{font-size:.92rem;color:var(--ink3);max-width:540px;margin-bottom:40px;line-height:1.7}
.bp-sc{text-align:center}.bp-sc .bp-sd{margin-left:auto;margin-right:auto}.bp-sc .bp-tag{justify-content:center}.bp-sc .bp-tag::before{display:none}

/* ── Sections ── */
.bp-sec{padding:80px 0}.bp-sec--w{background:var(--white)}.bp-sec--a{background:var(--bg)}

/* ═══ HERO ═══ */
.bp-hero{position:relative;min-height:calc(100vh - 68px);display:flex;align-items:center;background:var(--white);overflow:hidden}
.bp-hero__grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:48px 48px}
.bp-hero__grid::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 30% 50%,transparent 20%,var(--white) 75%)}
.bp-hero__net{position:absolute;inset:0;pointer-events:none;z-index:1}.bp-hero__net svg{width:100%;height:100%}
.bp-hero__in{position:relative;z-index:2;display:grid;grid-template-columns:1fr 380px;gap:56px;align-items:center;padding:72px 0}
.bp-hero__tag{font-family:var(--mono);font-size:.65rem;font-weight:600;color:var(--blue);letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:8px}
.bp-hero__tag::before{content:'';width:20px;height:1.5px;background:var(--blue)}
.bp-hero__h1{font-size:clamp(2rem,4vw,2.65rem);font-weight:800;color:var(--ink);line-height:1.12;letter-spacing:-.03em;margin-bottom:18px}
.bp-hero__h1 em{font-style:normal;color:var(--blue)}
.bp-hero__sub{font-size:.95rem;color:var(--ink3);max-width:520px;line-height:1.75;margin-bottom:8px}
.bp-hero__micro{font-family:var(--mono);font-size:.68rem;color:var(--ink4);margin-bottom:6px}
.bp-hero__micro em{font-style:normal;color:var(--red);font-weight:600}
.bp-hero__ctrl{font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--ink);margin-bottom:28px;padding:8px 14px;background:var(--blue-bg2);border-left:2px solid var(--blue);display:inline-block}
.bp-hero__actions{display:flex;gap:10px;margin-bottom:32px}
.bp-hero__chips{display:flex;gap:6px;flex-wrap:wrap}
.bp-chip{font-family:var(--mono);font-size:.65rem;font-weight:500;color:var(--ink3);padding:5px 11px;border:1px solid var(--border-l);background:var(--bg);display:inline-flex;align-items:center;gap:5px}
.bp-chip i{font-size:.72rem;color:var(--blue)}

/* Hero diagram */
.bp-hero__diag{padding:24px 20px;background:var(--bg);border:1.5px solid var(--border);position:relative}
.bp-diag__lbl{position:absolute;top:7px;right:10px;font-family:var(--mono);font-size:.6rem;font-weight:500;color:var(--ink4);letter-spacing:1px;text-transform:uppercase}
.bp-diag__rev{position:absolute;top:7px;left:10px;font-family:var(--mono);font-size:.6rem;color:var(--ink5)}
.bp-dn{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--border-l);background:var(--white);transition:all .25s var(--ease);position:relative;overflow:hidden}
.bp-dn::after{content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:var(--blue-bg2);transition:width .3s var(--ease)}
.bp-dn:hover::after{width:100%}.bp-dn:hover{border-color:var(--blue)}
.bp-dn i{font-size:1rem;color:var(--blue);flex-shrink:0;position:relative;z-index:1}
.bp-dn>div{position:relative;z-index:1}
.bp-dn__t{font-size:.74rem;font-weight:600;color:var(--ink)}.bp-dn__d{font-size:.65rem;color:var(--ink4)}
.bp-dn__dot{width:6px;height:6px;border-radius:50%;background:var(--green2);margin-left:auto;position:relative;z-index:1;flex-shrink:0;animation:bpPulse 3.5s ease-in-out infinite}
.bp-dn:nth-child(1) .bp-dn__dot{animation-delay:0s}.bp-dn:nth-child(3) .bp-dn__dot{animation-delay:.8s}.bp-dn:nth-child(5) .bp-dn__dot{animation-delay:1.6s}.bp-dn:nth-child(7) .bp-dn__dot{animation-delay:2.4s}
@keyframes bpPulse{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}
.bp-dc{width:1px;height:18px;background:var(--border);margin:0 0 0 24px;position:relative}
.bp-dc::after{content:'▾';position:absolute;bottom:-5px;left:-3px;font-size:.6rem;color:var(--ink5)}
.bp-dc__dot{position:absolute;left:-2px;top:-4px;width:5px;height:5px;border-radius:50%;background:var(--blue2);opacity:0;animation:bpDrop 3s var(--ease) infinite}
.bp-dc:nth-of-type(2) .bp-dc__dot{animation-delay:1s}.bp-dc:nth-of-type(4) .bp-dc__dot{animation-delay:2s}
@keyframes bpDrop{0%{top:-4px;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:18px;opacity:0}}
.bp-dn--out{border-style:dashed;border-color:var(--blue2);background:var(--blue-bg)}.bp-dn--out i{color:var(--green)}

/* ═══ PROBLEM ═══ */
.bp-prob-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.bp-prob__closing{font-family:var(--mono);font-size:.75rem;color:var(--ink2);font-weight:500;padding:14px 16px;border-left:2px solid var(--blue);background:var(--blue-bg);margin-top:20px}
.bp-prob__cards{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.bp-pc{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-l);background:var(--white);transition:all .25s var(--ease)}
.bp-pc:hover{border-left:3px solid var(--red);padding-left:12px}
.bp-pc i{font-size:.9rem;color:var(--red);flex-shrink:0;opacity:.65}.bp-pc span{font-size:.78rem;color:var(--ink2)}
.bp-prob__contrast{padding:28px 24px;background:var(--ink);border:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.7);position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.bp-prob__contrast::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(59,130,246,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.04) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 10%,transparent 80%)}
.bp-prob__contrast-tag{font-family:var(--mono);font-size:.65rem;font-weight:600;color:var(--green2);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:16px;position:relative}
.bp-prob__contrast-title{font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:18px;position:relative}
.bp-prob__contrast-items{display:flex;flex-direction:column;gap:10px;position:relative}
.bp-prob__contrast-item{display:flex;align-items:center;gap:10px;font-size:.8rem}.bp-prob__contrast-item i{color:var(--green2);font-size:.9rem}

/* ═══ SOLUTION ═══ */
.bp-sol-flow{display:flex;align-items:stretch;gap:0}
.bp-sf{flex:1;padding:22px 16px;border:1px solid var(--border-l);background:var(--white);text-align:center;position:relative;transition:all .25s var(--ease)}
.bp-sf:hover{border-color:var(--blue);background:var(--blue-bg);z-index:2;transform:translateY(-2px)}
.bp-sf:not(:last-child)::after{content:'→';position:absolute;right:-8px;top:50%;transform:translateY(-50%);font-size:.8rem;color:var(--ink5);z-index:3;background:var(--white);padding:0 2px}
.bp-sf i{font-size:1.4rem;color:var(--blue);display:block;margin-bottom:8px}
.bp-sf__t{font-size:.8rem;font-weight:600;color:var(--ink);margin-bottom:2px}.bp-sf__d{font-size:.65rem;color:var(--ink4)}
.bp-sol-support{font-family:var(--mono);font-size:.72rem;font-weight:500;color:var(--ink2);text-align:center;margin-top:24px;padding:12px 18px;border:1px dashed var(--border);background:var(--blue-bg);max-width:520px;margin-left:auto;margin-right:auto}
.bp-sol-result{text-align:center;margin-top:12px;font-size:.78rem;color:var(--ink3);font-weight:500}
.bp-sol-result strong{color:var(--ink)}

/* ═══ STEPS ═══ */
.bp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:stp}
.bp-stp{padding:24px 20px 20px;border:1px solid var(--border-l);background:var(--white);counter-increment:stp;position:relative;transition:all .3s var(--ease)}
.bp-stp:hover{border-color:var(--blue);box-shadow:0 4px 20px rgba(29,78,216,.07);transform:translateY(-3px)}
.bp-stp::before{content:counter(stp,decimal-leading-zero);font-family:var(--mono);font-size:.65rem;font-weight:600;color:var(--ink5);position:absolute;top:10px;right:12px;letter-spacing:1px}
.bp-stp__ic{width:44px;height:44px;background:var(--blue-bg2);display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:all .3s}
.bp-stp:hover .bp-stp__ic{background:var(--blue)}.bp-stp:hover .bp-stp__ic i{color:#fff}
.bp-stp__ic i{font-size:1.2rem;color:var(--blue);transition:color .3s}
.bp-stp__t{font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:5px}
.bp-stp__d{font-size:.76rem;color:var(--ink3);line-height:1.5}
.bp-stp__sub{font-family:var(--mono);font-size:.65rem;color:var(--blue);margin-top:10px;font-weight:500}

/* ═══ INTERACTIVE NETWORK ═══ */










/* SVG element transitions */






/* ═══ INDUSTRIES ═══ */
.bp-ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bp-ind{padding:24px 20px;border:1px solid var(--border-l);background:var(--white);transition:all .25s var(--ease)}
.bp-ind:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 2px 10px rgba(29,78,216,.05)}
.bp-ind__ic{width:40px;height:40px;background:var(--blue-bg2);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.bp-ind__ic i{font-size:1.1rem;color:var(--blue)}
.bp-ind__t{font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:4px}
.bp-ind__d{font-size:.74rem;color:var(--ink3);line-height:1.5}

/* ═══ CASES ═══ */
.bp-cases__filters{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:20px}
.bp-cases__filter{font-family:var(--mono);font-size:.65rem;font-weight:500;padding:6px 14px;border:1px solid var(--border-l);background:var(--white);color:var(--ink3);cursor:pointer;transition:all .2s var(--ease)}
.bp-cases__filter:hover{color:var(--ink);border-color:var(--border)}
.bp-cases__filter.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.bp-cases{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.bp-cs{padding:24px 22px;border:1px solid var(--border-l);background:var(--white);display:flex;flex-direction:column;transition:all .3s var(--ease)}
.bp-cs.hidden{display:none}
.bp-cs:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 6px 24px rgba(29,78,216,.06)}
.bp-cs__head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.bp-cs__ic{width:36px;height:36px;background:var(--blue-bg2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bp-cs__ic i{font-size:1rem;color:var(--blue)}
.bp-cs__type{font-family:var(--mono);font-size:.65rem;color:var(--ink4);letter-spacing:1.5px;text-transform:uppercase}
.bp-cs__t{font-size:.9rem;font-weight:600;color:var(--ink);margin-bottom:6px}
.bp-cs__d{font-size:.78rem;color:var(--ink3);line-height:1.55;margin-bottom:14px;flex:1}
.bp-cs__res{display:flex;gap:16px;padding-top:12px;border-top:1px solid var(--border-l)}
.bp-cs__res div strong{font-family:var(--mono);font-size:.9rem;font-weight:700;color:var(--green);display:block}
.bp-cs__res div span{font-size:.65rem;color:var(--ink4);text-transform:uppercase;letter-spacing:.5px}
.bp-cases__more{text-align:center;margin-top:24px}

/* ═══ WHY ═══ */
.bp-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bp-wy{padding:22px 18px;border:1px solid var(--border-l);background:var(--white);transition:all .25s var(--ease)}
.bp-wy:hover{border-color:var(--blue)}
.bp-wy i{font-size:1.1rem;color:var(--blue);margin-bottom:10px;display:block}
.bp-wy__t{font-size:.82rem;font-weight:700;color:var(--ink);margin-bottom:5px}
.bp-wy__d{font-size:.8rem;color:var(--ink3);line-height:1.6}

/* ═══ ABOUT ═══ */
.bp-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.bp-about__text p{color:var(--ink3);font-size:.88rem;line-height:1.8;margin-bottom:12px}
.bp-about__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bp-ast{padding:18px 12px;border:1px solid var(--border-l);background:var(--white);text-align:center}
.bp-ast strong{font-family:var(--mono);font-size:1.5rem;font-weight:700;color:var(--ink);display:block;margin-bottom:2px}
.bp-ast span{font-size:.65rem;color:var(--ink4);text-transform:uppercase;letter-spacing:.5px}

/* ═══ IDEOLOGY ═══ */
.bp-ideo{padding:100px 0;text-align:center;position:relative;background:var(--bg);overflow:hidden}
.bp-ideo::before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 40% 50% at 50% 50%,black 10%,transparent 70%)}
.bp-ideo__in{position:relative;z-index:2;max-width:620px;margin:0 auto}
.bp-ideo h2{font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:700;color:var(--ink);line-height:1.25;margin-bottom:24px}
.bp-ideo p{font-size:.9rem;color:var(--ink3);line-height:1.85;margin-bottom:14px}
.bp-ideo__close{font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--blue);margin-top:28px;padding:10px 20px;background:var(--blue-bg2);border:1px solid rgba(29,78,216,.1);display:inline-block}

/* ═══ CTA ═══ */
.bp-cta{padding:80px 0;text-align:center;background:var(--ink);position:relative;overflow:hidden}
.bp-cta::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(59,130,246,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 50% 60% at 50% 50%,black 10%,transparent 70%)}
.bp-cta h2{font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:700;color:#fff;margin-bottom:10px;position:relative;max-width:560px;margin-left:auto;margin-right:auto}
.bp-cta p{font-size:.85rem;color:rgba(255,255,255,.4);margin-bottom:28px;position:relative;max-width:480px;margin-left:auto;margin-right:auto}
.bp-cta__btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;position:relative}

/* ═══ FOOTER ═══ */
.bp-ftr{padding:44px 0 20px;background:var(--dark);border-top:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}
.bp-ftr::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(180deg,black 0%,transparent 100%);opacity:.5}
.bp-ftr__in{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:28px;position:relative}
.bp-ftr__brand p{font-size:.72rem;color:rgba(255,255,255,.25);max-width:240px;margin-top:8px;line-height:1.5}
.bp-ftr__links{display:flex;gap:40px;position:relative}
.bp-ftr__col h4{font-family:var(--mono);font-size:.65rem;font-weight:600;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}
.bp-ftr__col a,.bp-ftr__col span{display:block;font-size:.75rem;color:rgba(255,255,255,.2);padding:2px 0;transition:color .15s;text-decoration:none}
.bp-ftr__col a:hover{color:rgba(255,255,255,.5)}
.bp-ftr__bot{padding-top:16px;border-top:1px solid rgba(255,255,255,.06);font-size:.72rem;color:rgba(255,255,255,.3);display:flex;justify-content:space-between;position:relative}
.bp-ftr__bot a{color:rgba(255,255,255,.3);text-decoration:none}.bp-ftr__bot a:hover{color:rgba(255,255,255,.5)}
.bp-btt{position:fixed;bottom:24px;right:24px;z-index:100;width:40px;height:40px;border-radius:4px;background:var(--white);border:1px solid var(--border);color:var(--ink3);font-size:1rem;display:none;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.bp-btt.visible{display:flex}.bp-btt:hover{color:var(--blue);border-color:var(--blue)}

/* ── Reveal ── */
.rv{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.rv.vis{opacity:1;transform:translateY(0)}.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.15s}

/* ── Blog ── */
.sgs-section{padding:60px 0}.sgs-section.sgs-section-alt{background:var(--bg)}
.sgs-section-title{font-size:1.4rem!important;font-weight:700!important;color:var(--ink)!important}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1024px){
  .bp-hero__in{grid-template-columns:1fr}.bp-hero__diag{max-width:380px}
  .bp-prob-grid,.bp-about-grid{grid-template-columns:1fr}
  .bp-steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .bp-nav:not(.open),.bp-nav:not(.open) .bp-nav__menu{display:none}
  .bp-hdr__burger{display:block}
  .bp-hero__diag{display:none}
  .bp-sol-flow{flex-direction:column;gap:6px}
  .bp-sf:not(:last-child)::after{content:'↓';right:auto;bottom:-8px;top:auto;left:50%;transform:translateX(-50%)}
  .bp-steps,.bp-cases,.bp-why-grid,.bp-ind-grid{grid-template-columns:1fr}
  .bp-about__stats{grid-template-columns:repeat(2,1fr)}
}

/* ═══ OVERRIDES for theme-base.css conflicts ═══ */
/* Hide old header completely */
.sgs-header, #sgsHeader { display: none !important; }
/* Override old footer if present */
.az-ftr { display: none !important; }
/* Override old body padding */
body { padding-top: 68px !important; font-family: var(--sans) !important; }
/* Fix .site-content flex issue from GeneratePress */
.site-content { display: block !important; }
/* Blog section needs container from Bootstrap */
.sgs-section .container { max-width: 1100px; }
/* Blog card link style fix */
.sgs-card-link { color: var(--blue) !important; font-weight: 600; font-size: .82rem; text-decoration: none; }
.sgs-card-link:hover { text-decoration: underline; }
/* Blog footer flex fix */
.sgs-blog-card-footer { display: flex; justify-content: space-between; align-items: center; margin-top: auto; }
/* Old back-to-top button hide */
#sgsBtt, #azBtt, .sgs-btt { display: none !important; }

/* ═══ DESIGN CONFIDENCE FIXES ═══ */
/* Bolder headings */
.bp-sh { font-weight: 800 !important; }
.bp-hero__h1 { font-weight: 800 !important; font-size: clamp(2.1rem, 4.2vw, 2.8rem) !important; }
/* Thicker card borders */
.bp-pc, .bp-ind, .bp-cs, .bp-wy, .bp-stp, .bp-ast, .bp-sf { border-width: 1.5px !important; }
/* Stronger muted text */
.bp-sd, .bp-ind__d, .bp-wy__d, .bp-cs__d, .bp-stp__d { color: #4B5B73 !important; }
.bp-ind__ic i, .bp-wy i, .bp-cs__ic i, .bp-stp__ic i, .bp-sf i,

/* Module visibility */

@media(max-width:768px) {
}


/* ═══ INTERACTIVE BUILDING ═══ */
.bp-bld__toggles-wrap{text-align:center;margin-bottom:16px}
.bp-bld__toggles{display:inline-flex;border:1.5px solid var(--border);border-radius:4px;overflow:hidden}
.bp-bld__tog{display:flex;align-items:center;gap:7px;font-family:var(--sans);font-size:.78rem;font-weight:600;padding:10px 18px;border:none;border-right:1px solid var(--border);background:var(--white);color:var(--ink4);cursor:pointer;transition:all .2s var(--ease)}
.bp-bld__tog:last-child{border-right:none}
.bp-bld__tog:hover{color:var(--ink2);background:#FAFBFD}
.bp-bld__tog.on{color:#fff}
.bp-bld__tog[data-sys="climate"].on{background:var(--blue)}
.bp-bld__tog[data-sys="security"].on{background:#DC2626}
.bp-bld__tog[data-sys="energy"].on{background:#D97706}
.bp-bld__tog[data-sys="media"].on{background:#7C3AED}
.bp-bld__tog i{font-size:1.1rem}
.bp-bld__dot{width:6px;height:6px;border-radius:50%;background:var(--ink5);transition:all .2s;font-style:normal}
.bp-bld__tog.on .bp-bld__dot{background:currentColor;box-shadow:0 0 8px rgba(255,255,255,.5)}
.bp-bld__counter{text-align:center;margin-bottom:14px;font-family:var(--mono);font-size:.65rem;color:var(--ink4);letter-spacing:.5px}
.bp-bld__counter strong{color:var(--ink2);font-size:.85rem}

/* Building container */
.bp-bld__building{border:1.5px solid var(--border);background:var(--white);overflow:hidden}

/* Floors */
.bp-fl{display:flex;align-items:stretch;border-bottom:1px solid var(--border-l)}
.bp-fl:last-child{border-bottom:none}
.bp-fl__label{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-family:var(--mono);font-size:.65rem;font-weight:600;color:var(--ink5);letter-spacing:2px;text-transform:uppercase;padding:8px 6px;border-right:1px solid var(--border-l);display:flex;align-items:center;justify-content:center;background:#FAFBFD;min-width:28px;flex-shrink:0}

/* Rooms */
.bp-fl__rooms{display:flex;flex:1}
.bp-rm{flex:1;border-right:1px dashed rgba(0,0,0,.04);padding:12px 10px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;position:relative}
.bp-rm:last-child{border-right:none}
.bp-rm__name{position:absolute;bottom:3px;left:8px;font-family:var(--mono);font-size:.6rem;color:var(--ink5);letter-spacing:.5px}

/* Devices */
.bp-dv{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1.5px solid var(--border-l);background:var(--white);border-radius:3px;transition:all .35s var(--ease);opacity:.22;width:100%}
.bp-dv.lit{opacity:1}
.bp-dv[data-sys="climate"].lit{border-color:var(--blue);background:#EFF6FF}
.bp-dv[data-sys="security"].lit{border-color:#DC2626;background:#FEF2F2}
.bp-dv[data-sys="energy"].lit{border-color:#D97706;background:#FFFBEB}
.bp-dv[data-sys="media"].lit{border-color:#7C3AED;background:#F5F3FF}
.bp-dv__ic{width:28px;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.04);transition:all .3s;color:var(--ink4)}
.bp-dv[data-sys="climate"].lit .bp-dv__ic{color:var(--blue);background:rgba(29,78,216,.08)}
.bp-dv[data-sys="security"].lit .bp-dv__ic{color:#DC2626;background:rgba(220,38,38,.08)}
.bp-dv[data-sys="energy"].lit .bp-dv__ic{color:#D97706;background:rgba(217,119,6,.08)}
.bp-dv[data-sys="media"].lit .bp-dv__ic{color:#7C3AED;background:rgba(124,58,237,.08)}
.bp-dv__nm{font-size:.68rem;font-weight:600;color:var(--ink);line-height:1.2}
.bp-dv__pr{font-family:var(--mono);font-size:.6rem;color:var(--ink4)}

/* Active system cards */
.bp-bld__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.bp-ac{padding:12px;border:1.5px solid var(--border-l);background:var(--white);transition:all .35s var(--ease);opacity:0;transform:translateY(6px);pointer-events:none;max-height:0;overflow:hidden;padding:0 12px;margin:0;border-width:0}
.bp-ac.vis{opacity:1;transform:translateY(0);pointer-events:auto;max-height:200px;padding:12px;border-width:1.5px}
.bp-ac__head{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.bp-ac__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;font-style:normal}
.bp-ac__head strong{font-size:.72rem;color:var(--ink)}
.bp-ac__desc{font-size:.65rem;color:var(--ink3);line-height:1.45}
.bp-ac__stat{font-family:var(--mono);font-size:.72rem;font-weight:700;margin-top:6px;display:inline-block;padding:2px 8px;border-radius:2px}
.bp-ac[data-sys="climate"] .bp-ac__dot{background:var(--blue)}
.bp-ac[data-sys="climate"] .bp-ac__stat{color:var(--blue);background:#EFF6FF}
.bp-ac[data-sys="security"] .bp-ac__dot{background:#DC2626}
.bp-ac[data-sys="security"] .bp-ac__stat{color:#DC2626;background:#FEF2F2}
.bp-ac[data-sys="energy"] .bp-ac__dot{background:#D97706}
.bp-ac[data-sys="energy"] .bp-ac__stat{color:#D97706;background:#FFFBEB}
.bp-ac[data-sys="media"] .bp-ac__dot{background:#7C3AED}
.bp-ac[data-sys="media"] .bp-ac__stat{color:#7C3AED;background:#F5F3FF}
.bp-bld__note{font-family:var(--mono);font-size:.6rem;color:var(--ink4);text-align:center;margin-top:14px;letter-spacing:.3px}

/* ═══ BUILDING MOBILE ═══ */
@media(max-width:900px){
  .bp-bld__cards{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  /* Toggles stack to 2x2 grid */
  .bp-bld__toggles{display:grid;grid-template-columns:1fr 1fr;border-radius:4px}
  .bp-bld__tog{border-right:none;border-bottom:1px solid var(--border);justify-content:center;padding:10px 14px;font-size:.72rem}
  .bp-bld__tog:nth-child(odd){border-right:1px solid var(--border)}
  .bp-bld__tog:nth-child(3),.bp-bld__tog:nth-child(4){border-bottom:none}
  .bp-bld__tog span{display:inline}

  /* Floors stack rooms vertically */
  .bp-fl{flex-direction:column}
  .bp-fl__label{writing-mode:horizontal-tb;transform:none;min-width:auto;border-right:none;border-bottom:1px solid var(--border-l);padding:6px 10px;font-size:.65rem}
  .bp-fl__rooms{flex-direction:column}
  .bp-rm{border-right:none;border-bottom:1px dashed rgba(0,0,0,.04);padding:10px 8px;min-height:auto}
  .bp-rm:last-child{border-bottom:none}
  .bp-rm__name{position:static;margin-bottom:6px;font-size:.6rem;color:var(--ink4)}

  /* Device cards more compact */
  .bp-dv{padding:5px 8px;gap:5px}
  .bp-dv__ic{width:24px;height:24px;font-size:.8rem}
  .bp-dv__nm{font-size:.65rem}

  /* Cards stack to single column */
  .bp-bld__cards{grid-template-columns:1fr}
}
@media(max-width:380px){
  .bp-bld__toggles{grid-template-columns:1fr}
  .bp-bld__tog{border-right:none!important;border-bottom:1px solid var(--border)}
  .bp-bld__tog:last-child{border-bottom:none}
}

/* ═══ FIXES — v12.3 ═══ */

/* 1. Hero: 2/3 screen height, not full viewport */
.bp-hero { min-height: 66vh !important; }

/* 2. Language switcher — hide Polylang flags, use text only */
.bp-hdr__lang img { display: none !important; }
.bp-hdr__lang ul { display: none !important; }
.bp-hdr__lang .lang-item-first span,
.bp-hdr__lang .lang-item span { font-size: 0 !important; }

/* 3. Problem block — refined design */
.bp-prob-grid { gap: 20px !important; }
.bp-prob__left { padding-right: 12px; }
.bp-pc { border-radius: 4px; padding: 14px 16px !important; }
.bp-pc i { font-size: 1rem !important; opacity: .8 !important; }
.bp-pc span { font-weight: 500 !important; }
.bp-prob__contrast { border-radius: 6px; padding: 32px 28px !important; }
.bp-prob__contrast-title { font-size: 1.2rem !important; margin-bottom: 20px !important; }
.bp-prob__contrast-item { font-size: .82rem !important; padding: 4px 0; }
.bp-prob__contrast-item i { font-size: 1rem !important; }
.bp-prob__closing { border-radius: 4px; }

/* 4. Blog section — consistent with Blueprint */
.sgs-section { padding: 64px 0 !important; }
.sgs-section-title { font-family: 'Be Vietnam Pro', sans-serif !important; font-size: 1.5rem !important; font-weight: 800 !important; color: var(--ink) !important; letter-spacing: -.02em !important; }
.sgs-blog-card { border-radius: 4px !important; border-width: 1.5px !important; }
.sgs-blog-card h3 { font-family: 'Be Vietnam Pro', sans-serif !important; font-weight: 700 !important; }
.sgs-blog-card h3 a:hover { color: var(--blue) !important; }
.sgs-blog-card p { font-family: 'Be Vietnam Pro', sans-serif !important; }
.sgs-blog-date { font-family: 'IBM Plex Mono', monospace !important; font-size: .65rem !important; color: var(--ink4) !important; }
.sgs-card-link { color: var(--blue) !important; font-weight: 600 !important; font-size: .8rem !important; text-decoration: none !important; }
.sgs-blog-card-footer { display: flex; justify-content: space-between; align-items: center; margin-top: auto; }
/* Blog accent bars — Blueprint colors */
.sgs-blog-card--purple .sgs-blog-accent { background: linear-gradient(to right, var(--blue), #60A5FA) !important; }
.sgs-blog-card--teal .sgs-blog-accent { background: linear-gradient(to right, #059669, #34D399) !important; }
.sgs-blog-card--coral .sgs-blog-accent { background: linear-gradient(to right, #D97706, #FCD34D) !important; }

/* 5. CTA block — more breathing room */
.bp-cta { padding: 72px 0 !important; }
.bp-cta h2 { font-size: clamp(1.2rem, 2.2vw, 1.6rem) !important; line-height: 1.3 !important; }

/* 6. Footer — tighter, cleaner */
.bp-ftr { padding: 36px 0 16px !important; }
.bp-ftr__in { gap: 32px !important; }
.bp-ftr__brand p { font-size: .68rem !important; }
.bp-ftr__col h4 { margin-bottom: 8px !important; }
.bp-ftr__col a, .bp-ftr__col span { font-size: .72rem !important; }

/* 7. Internal pages — consistent styling */
.sgs-breadcrumb { font-family: 'IBM Plex Mono', monospace !important; font-size: .65rem !important; color: var(--ink4) !important; padding: 16px 0 !important; }
.sgs-breadcrumb a { color: var(--blue) !important; text-decoration: none !important; }
/* Page content area */
.site-content { display: block !important; }
.entry-title { font-family: 'Be Vietnam Pro', sans-serif !important; font-weight: 800 !important; color: var(--ink) !important; }
.entry-content { font-family: 'Be Vietnam Pro', sans-serif !important; color: var(--ink2) !important; }
.entry-content h2, .entry-content h3, .entry-content h4 { font-weight: 700 !important; color: var(--ink) !important; }

/* Internal page templates — card styling */
.sgs-card { border-width: 1.5px !important; border-radius: 4px !important; }
.sgs-card:hover { border-color: var(--blue) !important; }
.sgs-card h3 { font-family: 'Be Vietnam Pro', sans-serif !important; }
.sgs-card-icon { border-radius: 4px !important; }
.sgs-card-icon i { color: var(--blue) !important; }

/* Popup form — consistent */
/* Popup font overrides handled in popup section below */

/* Ideology section — more space */
.bp-ideo { padding: 80px 0 !important; }
.bp-ideo p { font-size: .88rem !important; }

/* Solution arrows on white bg fix */
.bp-sf:not(:last-child)::after { background: var(--bg) !important; }

/* ═══ INTERNAL PAGES — Blueprint consistency ═══ */
/* Service/page hero */
.sgs-service-hero, .sgs-hero--short {
  background: var(--white) !important; padding: 32px 0 40px !important;
  border-bottom: 1px solid var(--border-l) !important;
}
.sgs-service-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important; font-weight: 800 !important;
  color: var(--ink) !important; letter-spacing: -.02em !important;
}
.sgs-service-subtitle { color: var(--ink3) !important; font-size: .92rem !important; }
.sgs-eyebrow {
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: .65rem !important; font-weight: 500 !important;
  color: var(--blue) !important; letter-spacing: 2px !important;
  text-transform: uppercase !important;
}
.sgs-eyebrow i { color: var(--blue) !important; }
/* Section headings on inner pages */
.sgs-section h2 {
  font-size: clamp(1.3rem, 2.5vw, 1.7rem) !important; font-weight: 700 !important;
  color: var(--ink) !important;
}
/* Stat cards */
.sgs-stat-card { border-width: 1.5px !important; border-radius: 4px !important; }
.sgs-stat-card i { color: var(--blue) !important; }
.sgs-stat-number { color: var(--ink) !important; }
/* Buttons on inner pages */
.btn-primary, .btn-outline-primary {
  background: var(--blue) !important; border-color: var(--blue) !important;
  border-radius: 4px !important; font-weight: 600 !important;
}
.btn-primary:hover { background: #1a46c0 !important; border-color: #1a46c0 !important; }
.btn-outline-light { border-radius: 4px !important; }
/* Contact form on contact page */
.sgs-cta-box { border-radius: 4px !important; border-width: 1.5px !important; }

/* ═══ PAGE HERO (internal pages) ═══ */
.bp-page-hero {
  background: var(--white); padding: 28px 0 36px;
  border-bottom: 1px solid var(--border-l);
}
.bp-page-hero__title {
  font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800;
  color: var(--ink); letter-spacing: -.02em; margin-bottom: 6px;
}
.bp-page-hero__desc { font-size: .92rem; color: var(--ink3); max-width: 540px; }
/* Breadcrumbs */
.sgs-breadcrumb {
  font-size: .65rem; color: var(--ink4); margin-bottom: 12px;
  padding: 0 !important;
}
.sgs-breadcrumb a { color: var(--blue); text-decoration: none; }
.sgs-breadcrumb a:hover { text-decoration: underline; }

/* ═══ BLOG LAYOUT ═══ */
.bp-blog-layout { display: grid; grid-template-columns: 1fr 280px; gap: 32px; }
.bp-blog-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; }

.bp-blog-card {
  display: flex; flex-direction: column;
  border: 1.5px solid var(--border-l); background: var(--white);
  text-decoration: none !important; color: inherit !important;
  transition: all .25s var(--ease); overflow: hidden;
}
.bp-blog-card:hover { border-color: var(--blue); transform: translateY(-2px); box-shadow: 0 4px 16px rgba(29,78,216,.06); }
.bp-blog-card__img { aspect-ratio: 16/9; overflow: hidden; background: var(--bg); }
.bp-blog-card__img img { width: 100%; height: 100%; object-fit: cover; }
.bp-blog-card__body { padding: 16px; flex: 1; display: flex; flex-direction: column; }
.bp-blog-card__date { font-size: .6rem; color: var(--ink4); margin-bottom: 6px; text-transform: uppercase; letter-spacing: .5px; }
.bp-blog-card__title { font-size: .88rem; font-weight: 700; color: var(--ink); margin-bottom: 6px; line-height: 1.3; }
.bp-blog-card__excerpt { font-size: .76rem; color: var(--ink3); line-height: 1.55; flex: 1; }
.bp-blog-card__link { font-size: .72rem; font-weight: 600; color: var(--blue); margin-top: 10px; }

/* Pagination */
.bp-blog-pag { margin-top: 28px; text-align: center; }
.bp-blog-pag .nav-links { display: flex; gap: 4px; justify-content: center; }
.bp-blog-pag .page-numbers { font-size: .78rem; font-weight: 500; padding: 8px 14px; border: 1px solid var(--border-l); background: var(--white); color: var(--ink3); text-decoration: none; transition: all .2s; }
.bp-blog-pag .page-numbers.current { background: var(--blue); color: #fff; border-color: var(--blue); }
.bp-blog-pag .page-numbers:hover { border-color: var(--blue); color: var(--blue); }

/* ═══ SIDEBAR ═══ */
.bp-sidebar { display: flex; flex-direction: column; gap: 16px; }
.bp-sidebar__cta {
  padding: 20px; border: 1.5px solid var(--blue);
  background: rgba(29,78,216,.03);
}
.bp-sidebar__cta-title { font-size: .88rem; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.bp-sidebar__cta p { font-size: .76rem; color: var(--ink3); margin-bottom: 12px; line-height: 1.5; }

.bp-sidebar__widget {
  padding: 18px; border: 1.5px solid var(--border-l); background: var(--white);
}
.bp-sidebar__widget h3 {
  font-size: .78rem; font-weight: 700; color: var(--ink);
  margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--border-l);
}
.bp-sidebar__widget ul { list-style: none; padding: 0; margin: 0; }
.bp-sidebar__widget li { border-bottom: 1px solid var(--border-l); }
.bp-sidebar__widget li:last-child { border-bottom: none; }
.bp-sidebar__widget li a {
  display: block; padding: 8px 0; font-size: .76rem; color: var(--ink2);
  text-decoration: none; transition: color .15s;
}
.bp-sidebar__widget li a:hover { color: var(--blue); }
.bp-sidebar__widget li a span { float: right; color: var(--ink4); font-size: .68rem; }

/* ═══ CONTACTS ═══ */
.bp-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }

.bp-contact-info { display: flex; flex-direction: column; gap: 12px; }
.bp-contact-card {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 16px; border: 1.5px solid var(--border-l); background: var(--bg);
}
.bp-contact-card__icon { width: 40px; height: 40px; background: var(--white); border: 1px solid var(--border-l); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bp-contact-card__icon i { font-size: 1.1rem; color: var(--blue); }
.bp-contact-card__label { font-size: .65rem; color: var(--ink4); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 2px; }
.bp-contact-card__value { font-size: .85rem; font-weight: 600; color: var(--ink); text-decoration: none; }
a.bp-contact-card__value:hover { color: var(--blue); }

.bp-contact-schedule { padding: 16px; border: 1.5px solid var(--border-l); background: var(--bg); }
.bp-contact-schedule__title { font-size: .72rem; font-weight: 700; color: var(--ink); margin-bottom: 8px; }
.bp-contact-schedule__row { display: flex; justify-content: space-between; font-size: .78rem; color: var(--ink2); padding: 4px 0; }
.bp-contact-schedule__row--dim { color: var(--ink4); }

.bp-contact-legal { padding: 16px; border: 1.5px solid var(--border-l); background: var(--bg); }
.bp-contact-legal__title { font-size: .72rem; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.bp-contact-legal p { font-size: .76rem; color: var(--ink3); margin-bottom: 2px; }

.bp-contact-form__box {
  padding: 28px; border: 1.5px solid var(--border-l); background: var(--white);
}
.bp-contact-form__box textarea { height: 200px !important; min-height: 200px !important; }
.bp-contact-form__box h2 { font-size: 1.15rem; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.bp-contact-form__box > p { font-size: .82rem; color: var(--ink3); margin-bottom: 20px; }

/* Form elements */
.bp-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.bp-form__field { margin-bottom: 12px; }
.bp-form__field label { display: block; font-size: .72rem; font-weight: 600; color: var(--ink2); margin-bottom: 4px; }
.bp-form__field input, .bp-form__field textarea {
  width: 100%; padding: 10px 12px; font-size: .82rem;
  border: 1.5px solid var(--border-l); background: var(--bg);
  color: var(--ink); transition: border-color .2s;
}
.bp-form__field input:focus, .bp-form__field textarea:focus { border-color: var(--blue); outline: none; }
/* CF7 — see global rules near end of file */

/* ═══ BLOG/CONTACTS MOBILE ═══ */
@media(max-width:768px) {
  .bp-blog-layout { grid-template-columns: 1fr; }
  .bp-blog-grid { grid-template-columns: 1fr; }
  .bp-contact-grid { grid-template-columns: 1fr; }
  .bp-form__row { grid-template-columns: 1fr; }
  .bp-sidebar { order: 2; }
}

/* ═══ ARTICLE ═══ */
.bp-article__img { margin-bottom: 24px; }
.bp-article__img img { width: 100%; height: auto; border: 1px solid var(--border-l); }
.bp-article__content { font-size: .92rem; color: var(--ink2); line-height: 1.85; }
.bp-article__content h2 { font-size: 1.3rem; font-weight: 700; color: var(--ink); margin: 28px 0 12px; }
.bp-article__content h3 { font-size: 1.1rem; font-weight: 700; color: var(--ink); margin: 24px 0 10px; }
.bp-article__content p { margin-bottom: 16px; }
.bp-article__content ul, .bp-article__content ol { margin-bottom: 16px; padding-left: 20px; }
.bp-article__content li { margin-bottom: 6px; }
.bp-article__content a { color: var(--blue); text-decoration: underline; }
.bp-article__content blockquote { border-left: 3px solid var(--blue); padding: 12px 20px; margin: 20px 0; background: var(--bg); font-style: italic; color: var(--ink3); }
.bp-article__content img { max-width: 100%; height: auto; margin: 16px 0; border: 1px solid var(--border-l); }
.bp-article__content pre, .bp-article__content code { font-size: .82rem; background: var(--bg); border: 1px solid var(--border-l); padding: 2px 6px; }
.bp-article__content pre { padding: 16px; overflow-x: auto; }
.bp-article__tags { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--border-l); display: flex; gap: 6px; flex-wrap: wrap; }
.bp-article__tag { font-size: .68rem; font-weight: 500; padding: 4px 10px; border: 1px solid var(--border-l); color: var(--ink3); text-decoration: none; }
.bp-article__tag a { color: var(--ink3); text-decoration: none; }
.bp-article__tag:hover, .bp-article__tag a:hover { color: var(--blue); border-color: var(--blue); }

/* ═══ CASES PAGE ═══ */


.bp-cases-hero__stats { display: flex; gap: 12px; flex-shrink: 0; }
.bp-cases-hero__stat {
  padding: 16px 20px; border: 1.5px solid var(--border-l);
  background: var(--bg); text-align: center; min-width: 90px;
}
.bp-cases-hero__stat strong { display: block; font-size: 1.4rem; font-weight: 800; color: var(--ink); }
.bp-cases-hero__stat span { font-size: .65rem; color: var(--ink4); text-transform: uppercase; letter-spacing: .5px; }

/* Filter bar */
.bp-cf { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 20px; }
.bp-cf__btn {
  font-size: .72rem; font-weight: 600; padding: 8px 16px;
  border: 1.5px solid var(--border-l); background: var(--white);
  color: var(--ink3); cursor: pointer; transition: all .2s var(--ease);
}
.bp-cf__btn:hover { color: var(--ink); border-color: var(--border); }
.bp-cf__btn.active { background: var(--ink); color: #fff; border-color: var(--ink); }

/* Cases grid — 3 columns */
.bp-cg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }

/* Case card — accent on metric */
.bp-cc {
  padding: 24px 22px; border: 1.5px solid var(--border-l);
  background: var(--white); transition: all .25s var(--ease);
  display: flex; flex-direction: column;
}
.bp-cc.hidden { display: none; }
.bp-cc:hover { border-color: var(--blue); transform: translateY(-3px); box-shadow: 0 6px 20px rgba(29,78,216,.06); }
.bp-cc__top { margin-bottom: 12px; }
.bp-cc__cat { font-size: .65rem; font-weight: 700; padding: 3px 10px; border: 1.5px solid; letter-spacing: .5px; text-transform: uppercase; }
.bp-cc__metric { font-size: 2rem; font-weight: 800; line-height: 1; margin-bottom: 12px; }
.bp-cc__title { font-size: .88rem; font-weight: 700; color: var(--ink); margin-bottom: 6px; line-height: 1.3; }
.bp-cc__desc { font-size: .76rem; color: var(--ink3); line-height: 1.5; }

/* Cases CTA */
.bp-cases-cta {
  text-align: center; margin-top: 40px; padding: 40px 32px;
  border: 1.5px solid var(--border-l); background: var(--white);
}
.bp-cases-cta h3 { font-size: 1.2rem; font-weight: 800; color: var(--ink); margin-bottom: 6px; }
.bp-cases-cta p { font-size: .85rem; color: var(--ink3); margin-bottom: 20px; }

@media(max-width:900px) { .bp-cg { grid-template-columns: 1fr 1fr; } }
@media(max-width:600px) { .bp-cg { grid-template-columns: 1fr; } }


/* ═══ CASES PAGE ═══ */
.bp-cases-page__filters { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 24px; }
.bp-cases-page__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }

.bp-case-card {
  padding: 22px 20px; border: 1.5px solid var(--border-l);
  background: var(--white); display: flex; flex-direction: column;
  transition: all .25s var(--ease);
}
.bp-case-card.hidden { display: none; }
.bp-case-card:hover { border-color: var(--blue); transform: translateY(-2px); box-shadow: 0 4px 16px rgba(29,78,216,.06); }
.bp-case-card__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.bp-case-card__tag {
  font-size: .65rem; font-weight: 600; letter-spacing: .5px;
  text-transform: uppercase; padding: 3px 10px;
  border: 1px solid; border-radius: 2px;
}
.bp-case-card__metric { font-size: 1.1rem; font-weight: 800; }
.bp-case-card__title { font-size: .88rem; font-weight: 700; color: var(--ink); margin-bottom: 8px; line-height: 1.3; }
.bp-case-card__desc { font-size: .76rem; color: var(--ink3); line-height: 1.55; flex: 1; }
.bp-case-card__link { font-size: .72rem; font-weight: 600; color: var(--blue); margin-top: 12px; cursor: pointer; }
.bp-case-card__link:hover { text-decoration: underline; }

@media(max-width:900px) { .bp-cases-page__grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:540px) { .bp-cases-page__grid { grid-template-columns: 1fr; } }

/* ═══ ABOUT PAGE ═══ */
/* Hero with metrics */
.bp-about-hero { display: flex; gap: 40px; align-items: center; }
.bp-about-hero__text { flex: 1; }
.bp-about-hero__metrics { display: flex; gap: 10px; flex-shrink: 0; }
.bp-about-hero__metric {
  padding: 16px 20px; border: 1.5px solid var(--border-l);
  background: var(--bg); text-align: center; min-width: 90px;
}
.bp-about-hero__metric strong { display: block; font-size: 1.4rem; font-weight: 800; color: var(--ink); }
.bp-about-hero__metric span { font-size: .65rem; color: var(--ink4); text-transform: uppercase; letter-spacing: .5px; }

/* Stats row */
.bp-stat-row { display: flex; gap: 0; justify-content: center; border: 1.5px solid var(--border-l); }
.bp-stat-item { flex: 1; text-align: center; padding: 20px 16px; border-right: 1px solid var(--border-l); }
.bp-stat-item:last-child { border-right: none; }
.bp-stat-item strong { display: block; font-size: 1.6rem; font-weight: 800; color: var(--ink); margin-bottom: 2px; }
.bp-stat-item span { font-size: .6rem; color: var(--ink4); text-transform: uppercase; letter-spacing: .5px; }

/* Two-column text */
.bp-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.bp-two-col p { font-size: .88rem; color: var(--ink3); line-height: 1.8; }

/* Numbered cards (principles) */
.bp-num-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 24px; }
.bp-num-card {
  padding: 22px 20px; border: 1.5px solid var(--border-l);
  background: var(--white); transition: all .25s var(--ease);
}
.bp-num-card:hover { border-color: var(--blue); }
.bp-num-card__num { font-size: .65rem; font-weight: 700; color: var(--blue); margin-bottom: 10px; }
.bp-num-card h3 { font-size: .85rem; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.bp-num-card p { font-size: .76rem; color: var(--ink3); line-height: 1.5; }

/* Checklist */
.bp-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.bp-check-item {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 16px; border: 1.5px solid var(--border-l); background: var(--white);
  font-size: .82rem; color: var(--ink2);
}
.bp-check-item i { color: var(--blue); font-size: 1rem; flex-shrink: 0; }

/* Ecosystem box */
.bp-eco-box {
  display: flex; align-items: flex-start; gap: 20px;
  padding: 28px; border: 1.5px solid var(--border-l); background: var(--white);
  margin-top: 16px;
}
.bp-eco-box__icon { width: 44px; height: 44px; background: rgba(29,78,216,.06); border: 1px solid rgba(29,78,216,.1); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bp-eco-box__icon i { font-size: 1.3rem; color: var(--blue); }
.bp-eco-box p { font-size: .85rem; color: var(--ink3); line-height: 1.75; }

/* Competency cards */
.bp-comp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.bp-comp-card {
  padding: 22px 20px; border: 1.5px solid var(--border-l);
  background: var(--white); transition: all .25s var(--ease);
}
.bp-comp-card:hover { border-color: var(--blue); }
.bp-comp-card__icon { width: 40px; height: 40px; border-radius: 8px; background: rgba(29,78,216,.06); border: 1px solid rgba(29,78,216,.1); display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.bp-comp-card__icon i { font-size: 1.1rem; color: var(--blue); }
.bp-comp-card h3 { font-size: .85rem; font-weight: 700; color: var(--ink); margin-bottom: 4px; }
.bp-comp-card p { font-size: .74rem; color: var(--ink3); line-height: 1.5; }

/* Target list */
.bp-target-list { list-style: none; padding: 0; margin: 0; }
.bp-target-list li {
  padding: 10px 0 10px 20px; font-size: .85rem; color: var(--ink2);
  border-bottom: 1px solid var(--border-l); position: relative; line-height: 1.6;
}
.bp-target-list li:last-child { border-bottom: none; }
.bp-target-list li::before { content: '•'; position: absolute; left: 0; color: var(--blue); font-weight: 700; }

/* ═══ ABOUT/CASES MOBILE ═══ */
@media(max-width:900px) {
  .bp-about-hero { flex-direction: column; gap: 20px; }
  .bp-about-hero__metrics { width: 100%; justify-content: center; }
  .bp-num-grid, .bp-comp-grid { grid-template-columns: 1fr 1fr; }
  .bp-stat-row { flex-wrap: wrap; }
  .bp-stat-item { min-width: 33%; }
}
@media(max-width:640px) {
  .bp-two-col { grid-template-columns: 1fr; gap: 20px; }
  .bp-num-grid, .bp-comp-grid { grid-template-columns: 1fr; }
  .bp-check-grid { grid-template-columns: 1fr; }
  .bp-stat-item { min-width: 50%; }
}

/* ═══ PLATFORM PAGE ═══ */
/* Two-column layout */
.bp-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.bp-text { font-size: .95rem; color: var(--ink3); line-height: 1.8; margin-bottom: 12px; }

/* Platform summary items */
.bp-plat-summary { display: flex; flex-direction: column; gap: 8px; }
.bp-plat-item {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px; border: 1.5px solid var(--border-l); background: var(--white);
}
.bp-plat-item i { font-size: 1.2rem; color: var(--blue); flex-shrink: 0; }
.bp-plat-item span { font-size: .82rem; font-weight: 500; color: var(--ink2); }

/* Architecture layers */
.bp-layers { display: flex; flex-direction: column; gap: 0; }
.bp-layer {
  display: grid; grid-template-columns: 40px 48px 1fr auto;
  gap: 16px; align-items: center;
  padding: 18px 20px; border: 1.5px solid var(--border-l);
  border-bottom: none; background: var(--white);
  transition: all .25s var(--ease);
}
.bp-layer:last-child { border-bottom: 1.5px solid var(--border-l); }
.bp-layer:hover { background: rgba(29,78,216,.02); border-color: var(--blue); z-index: 2; position: relative; }
.bp-layer:hover + .bp-layer { border-top-color: var(--blue); }
.bp-layer__num { font-size: .65rem; font-weight: 700; color: var(--ink5); }
.bp-layer__icon i { font-size: 1.4rem; color: var(--blue); }
.bp-layer__eng { font-size: .65rem; color: var(--ink4); letter-spacing: 1px; text-transform: uppercase; margin-bottom: 2px; }
.bp-layer__title { font-size: .9rem; font-weight: 700; color: var(--ink); }
.bp-layer__desc { font-size: .76rem; color: var(--ink3); }
.bp-layer__purpose { font-size: .7rem; color: var(--blue); font-weight: 500; text-align: right; max-width: 200px; }

/* Data flow */
.bp-flow { display: flex; align-items: center; justify-content: center; gap: 0; flex-wrap: wrap; }
.bp-flow__step {
  padding: 20px 18px; border: 1.5px solid var(--border-l);
  background: var(--white); text-align: center; min-width: 120px;
  transition: all .25s var(--ease);
}
.bp-flow__step:hover { border-color: var(--blue); transform: translateY(-2px); }
.bp-flow__num { font-size: .65rem; font-weight: 700; color: var(--ink5); margin-bottom: 6px; }
.bp-flow__title { font-size: .82rem; font-weight: 700; color: var(--ink); margin-bottom: 2px; }
.bp-flow__desc { font-size: .65rem; color: var(--ink4); }
.bp-flow__arrow { font-size: 1.1rem; color: var(--ink5); padding: 0 6px; }

/* Capabilities grid (reuses .bp-wy cards) */
.bp-cap-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }

/* Protocol grid */
.bp-proto-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.bp-proto {
  padding: 10px 12px; border: 1.5px solid var(--border-l);
  background: var(--white); text-align: center;
  font-size: .72rem; font-weight: 600; color: var(--ink2);
  transition: all .2s var(--ease);
}
.bp-proto:hover { border-color: var(--blue); color: var(--blue); }

/* Security cards */
.bp-sec-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.bp-sec-card {
  padding: 22px 18px; border: 1.5px solid var(--border-l);
  background: var(--white); transition: all .25s var(--ease);
}
.bp-sec-card:hover { border-color: var(--blue); }
.bp-sec-card i { font-size: 1.2rem; color: var(--blue); margin-bottom: 10px; display: block; }
.bp-sec-card__t { font-size: .82rem; font-weight: 700; color: var(--ink); margin-bottom: 5px; }
.bp-sec-card__d { font-size: .72rem; color: var(--ink3); line-height: 1.5; }

/* Scale */
.bp-scale { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.bp-scale__item {
  padding: 28px 22px; border: 1.5px solid var(--border-l);
  background: var(--white); text-align: center;
  transition: all .25s var(--ease);
}
.bp-scale__item:hover { border-color: var(--blue); transform: translateY(-2px); }
.bp-scale__item i { font-size: 1.6rem; color: var(--blue); display: block; margin-bottom: 10px; }
.bp-scale__title { font-size: .9rem; font-weight: 700; color: var(--ink); margin-bottom: 4px; }
.bp-scale__desc { font-size: .76rem; color: var(--ink3); margin-bottom: 8px; }
.bp-scale__num { font-size: .72rem; font-weight: 700; color: var(--blue); padding: 4px 12px; background: rgba(29,78,216,.06); border: 1px solid rgba(29,78,216,.1); display: inline-block; }

/* Comparison */
.bp-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bp-compare__col { border: 1.5px solid var(--border-l); background: var(--white); }
.bp-compare__head {
  padding: 14px 18px; font-size: .85rem; font-weight: 700;
  border-bottom: 1.5px solid var(--border-l);
}
.bp-compare__col--old .bp-compare__head { color: var(--ink3); background: var(--bg); }
.bp-compare__col--new .bp-compare__head { color: var(--blue); background: rgba(29,78,216,.03); }
.bp-compare__item {
  padding: 10px 18px; font-size: .78rem; color: var(--ink2);
  border-bottom: 1px solid var(--border-l);
  display: flex; align-items: center; gap: 8px;
}
.bp-compare__item:last-child { border-bottom: none; }
.bp-compare__col--old .bp-compare__item i { color: #DC2626; opacity: .5; }
.bp-compare__col--new .bp-compare__item i { color: var(--green); }
.bp-compare__col--new .bp-compare__item { font-weight: 500; }

/* Platform page responsive */
@media(max-width:900px) {
  .bp-two-col { grid-template-columns: 1fr; }
  .bp-sec-grid { grid-template-columns: 1fr 1fr; }
  .bp-proto-grid { grid-template-columns: repeat(3, 1fr); }
  .bp-layer { grid-template-columns: 32px 40px 1fr; }
  .bp-layer__purpose { display: none; }
}
@media(max-width:640px) {
  .bp-cap-grid, .bp-scale, .bp-compare, .bp-sec-grid { grid-template-columns: 1fr; }
  .bp-flow { flex-direction: column; gap: 0; align-items: stretch; }
  .bp-flow__step { width: 100%; box-sizing: border-box; }
  .bp-flow__arrow { transform: none; padding: 8px 0; text-align: center; }
  .bp-proto-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ═══ NEW HOMEPAGE COMPONENTS ═══ */

/* Hero bullets */
/* Hero trust proof bar */
.bp-hero__proof {
  display: flex; gap: 32px; padding-top: 8px;
}
.bp-hero__proof-item {
  display: flex; flex-direction: column; gap: 2px;
}
.bp-hero__proof-item strong {
  font-size: 1.3rem; font-weight: 800; color: var(--ink);
  letter-spacing: -.02em; line-height: 1;
}
.bp-hero__proof-item span {
/* Hero bullet list */
.bp-hero__bullets { list-style:none; padding:0; margin:0 0 24px; display:flex; flex-direction:column; gap:8px; }
.bp-hero__bullets li { font-size:.88rem; color:var(--ink2); font-weight:500; display:flex; align-items:center; gap:10px; }
.bp-hero__bullets li::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--blue); flex-shrink:0; }
  font-size: .72rem; color: var(--ink4); font-weight: 500;
  text-transform: uppercase; letter-spacing: .5px;
}

/* Problem 2x2 grid */
.bp-prob4 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 800px; margin: 0 auto; }
.bp-prob4__card {
  padding: 24px 22px; border: 1.5px solid var(--border-l);
  background: var(--white); transition: all .25s var(--ease);
}
.bp-prob4__card:hover { border-color: var(--blue); transform: translateY(-2px); }
.bp-prob4__card i { font-size: 1.4rem; color: var(--blue); display: block; margin-bottom: 10px; }
.bp-prob4__card h3 { font-size: .88rem; font-weight: 700; color: var(--ink); margin-bottom: 4px; }
.bp-prob4__card p { font-size: .76rem; color: var(--ink3); line-height: 1.5; }

/* Solution bullets */
.bp-sol-bullets { display: flex; flex-direction: column; gap: 10px; }
.bp-sol-bullet {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 16px 18px; border: 1.5px solid var(--border-l);
  background: var(--white); transition: all .2s var(--ease);
}
.bp-sol-bullet:hover { border-color: var(--blue); }
.bp-sol-bullet i { font-size: 1.2rem; color: var(--blue); flex-shrink: 0; margin-top: 2px; }
.bp-sol-bullet strong { font-size: .82rem; color: var(--ink); display: block; margin-bottom: 2px; }
.bp-sol-bullet span { font-size: .8rem; color: var(--ink3); }

@media(max-width:640px) {
  .bp-prob4 { grid-template-columns: 1fr; }
}

/* Homepage cases — 3 cards */
.bp-cases-home { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.bp-case-home {
  padding: 24px 22px; border: 1.5px solid var(--border-l);
  background: var(--white); transition: all .25s var(--ease);
}
.bp-case-home:hover { border-color: var(--blue); transform: translateY(-2px); }
.bp-case-home__metric { margin-bottom: 14px; }
.bp-case-home__metric strong { font-size: 1.6rem; font-weight: 800; color: var(--blue); display: block; line-height: 1; }
.bp-case-home__metric span { font-size: .6rem; color: var(--ink4); text-transform: uppercase; letter-spacing: .5px; }
.bp-case-home__icon { margin-bottom: 10px; }
.bp-case-home__icon i { font-size: 1.3rem; color: var(--blue); }
.bp-case-home h3 { font-size: .88rem; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.bp-case-home p { font-size: .76rem; color: var(--ink3); line-height: 1.5; }
@media(max-width:640px) { .bp-cases-home { grid-template-columns: 1fr; } }

/* ═══ POPUP FORM ═══ */
.sgs-popup-overlay {
  display: none; position: fixed; inset: 0; z-index: 10000;
  background: rgba(11,17,32,.5); backdrop-filter: blur(8px);
  align-items: center; justify-content: center; padding: 20px;
}
.sgs-popup-overlay.sgs-popup--open { display: flex; }
.sgs-popup {
  background: var(--white); border-radius: 12px;
  box-shadow: 0 24px 64px rgba(0,0,0,.18);
  max-width: 440px; width: 100%; position: relative;
  animation: sgsPopIn .2s ease; max-height: 90vh; overflow-y: auto;
}
@keyframes sgsPopIn { from { opacity:0; transform:translateY(16px) scale(.97); } to { opacity:1; transform:none; } }
.sgs-popup-close {
  position: absolute; top: 14px; right: 14px;
  width: 36px; height: 36px; border-radius: 50%; border: none;
  background: var(--bg); cursor: pointer; z-index: 10;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; color: var(--ink3); transition: all .15s;
}
.sgs-popup-close:hover { background: var(--border-l); color: var(--ink); }
.sgs-popup-body { padding: 28px 24px 24px; }
.sgs-popup-body h3 {
  font-size: 1.15rem; font-weight: 700;
  color: var(--ink); margin-bottom: 4px; letter-spacing: -.02em;
}
.sgs-popup-desc { font-size: .82rem; color: var(--ink3); margin-bottom: 20px; }

/* Compact form — no labels, just inputs with placeholders */
.sgs-compact-form input,
.sgs-compact-form textarea {
  width: 100%; box-sizing: border-box;
  padding: 12px 14px; font-size: .88rem; font-family: var(--sans);
  border: 1.5px solid var(--border); border-radius: var(--input-radius);
  background: var(--bg); color: var(--ink);
  margin-bottom: 10px;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.sgs-compact-form input:focus,
.sgs-compact-form textarea:focus {
  border-color: var(--blue); background: var(--white);
  box-shadow: 0 0 0 3px rgba(29,78,216,.08); outline: none;
}
.sgs-compact-form input::placeholder,
.sgs-compact-form textarea::placeholder { color: var(--ink4); }
.sgs-compact-form textarea { resize: vertical; min-height: 48px; }
.sgs-compact-form .sgs-form-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.sgs-compact-form .sgs-form-row input { margin-bottom: 10px; }
.sgs-form-submit {
  width: 100%; padding: 13px 24px; margin-top: 6px;
  background: var(--blue); color: #fff; border: none;
  border-radius: var(--btn-radius); font-size: .88rem;
  font-weight: 600; font-family: var(--sans);
  cursor: pointer; transition: background .2s, transform .1s;
}
.sgs-form-submit:hover { background: #1a46c0; }
.sgs-form-submit:active { transform: scale(.99); }
.sgs-form-msg {
  font-size: .82rem; text-align: center; padding: 10px 14px;
  border-radius: var(--btn-radius); margin-top: 12px; display: none;
}
.sgs-form-msg--ok, .sgs-form-msg--err { display: block; }
.sgs-form-msg--ok { background: rgba(5,150,105,.06); color: #059669; border: 1px solid rgba(5,150,105,.12); }
.sgs-form-msg--err { background: rgba(220,38,38,.05); color: #dc2626; border: 1px solid rgba(220,38,38,.1); }

/* CF7 inside popup — compact 2-column style */
.sgs-popup-cf7 .wpcf7-form p { margin: 0 0 8px; }
.sgs-popup-cf7 .wpcf7-form label { display: none; }
.sgs-popup-cf7 .sgs-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px;
}
.sgs-popup-cf7 .sgs-row p { display: contents !important; }
.sgs-popup-cf7 .sgs-row .wpcf7-form-control-wrap { display: block; min-width: 0; }
.sgs-popup-cf7 .wpcf7-form input[type="text"],
.sgs-popup-cf7 .wpcf7-form input[type="email"],
.sgs-popup-cf7 .wpcf7-form input[type="tel"],
.sgs-popup-cf7 .wpcf7-form textarea {
  width: 100%; box-sizing: border-box;
  padding: 10px 12px; font-size: .85rem; font-family: var(--sans);
  border: 1.5px solid var(--border); border-radius: var(--input-radius);
  background: var(--bg); color: var(--ink);
  transition: border-color .2s, box-shadow .2s;
}
.sgs-popup-cf7 .wpcf7-form input:focus,
.sgs-popup-cf7 .wpcf7-form textarea:focus {
  border-color: var(--blue); background: var(--white);
  box-shadow: 0 0 0 3px rgba(29,78,216,.08); outline: none;
}
.sgs-popup-cf7 .wpcf7-form textarea { resize: vertical; min-height: 60px; height: 60px; }
.sgs-popup-cf7 .wpcf7-form input[type="submit"],
.sgs-popup-cf7 .wpcf7-submit {
  width: 100%; padding: 12px 24px; margin-top: 4px;
  background: var(--blue); color: #fff; border: none;
  border-radius: var(--btn-radius); font-size: .85rem;
  font-weight: 600; font-family: var(--sans);
  cursor: pointer; transition: background .2s;
}
.sgs-popup-cf7 .wpcf7-submit:hover { background: #1a46c0; }
.sgs-popup-cf7 .wpcf7-response-output {
  font-size: .78rem; text-align: center; padding: 8px 12px;
  border-radius: var(--btn-radius); margin: 8px 0 0 !important;
}
.sgs-popup-cf7 .wpcf7-not-valid-tip { font-size: .72rem; color: #dc2626; margin-top: 2px; }

/* Universal .sgs-row for all forms */
.sgs-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sgs-row p { display: contents !important; margin: 0 !important; }
.sgs-row .wpcf7-form-control-wrap { display: block; min-width: 0; }

@media(max-width:540px) {
  .sgs-compact-form .sgs-form-row { grid-template-columns: 1fr; }
  .sgs-row { grid-template-columns: 1fr; }
  .sgs-popup-body { padding: 24px 20px; }
  .sgs-popup-body h3 { font-size: 1.05rem; }
}

/* ═══ CASES CTA FIX ═══ */
.bp-cases-cta {
  text-align: center; margin-top: 48px; padding: 48px 40px;
  background: var(--white); border: 2px solid var(--border);
  position: relative;
}
.bp-cases-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 40px 40px; opacity: .5;
  mask-image: radial-gradient(ellipse 60% 60% at 50% 50%, black 10%, transparent 70%);
}
.bp-cases-cta h3 { font-size: 1.3rem; font-weight: 800; color: var(--ink); margin-bottom: 8px; position: relative; }
.bp-cases-cta p { font-size: .88rem; color: var(--ink3); margin-bottom: 24px; position: relative; }
.bp-cases-cta .bp-btn { position: relative; }

/* ═══ BLOG ENHANCEMENTS ═══ */
/* Blog hero — inline CTA */
.bp-blog-hero { display: flex; gap: 24px; align-items: flex-start; justify-content: space-between; }
@media(max-width:640px) { .bp-blog-hero { flex-direction: column; } }

/* Blog card category badge */
.bp-blog-card__cat {
  display: inline-block; font-size: .65rem; font-weight: 700;
  color: var(--blue); letter-spacing: .5px; text-transform: uppercase;
  padding: 2px 8px; border: 1px solid rgba(29,78,216,.2);
  background: rgba(29,78,216,.04); margin-bottom: 4px;
  align-self: flex-start;
}

/* Sticky sidebar */
@media(min-width:769px) {
  .bp-sidebar { position: sticky; top: 80px; align-self: start; }
}

/* Sidebar promo block */
.bp-sidebar__promo {
  padding: 18px; border: 1.5px solid #DC2626;
  background: #FEF2F2;
}
.bp-sidebar__promo-title {
  font-size: .82rem; font-weight: 700; color: #DC2626; margin-bottom: 8px;
}
.bp-sidebar__promo-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 4px;
}
.bp-sidebar__promo-list li {
  font-size: .72rem; color: var(--ink2); padding: 4px 0;
  display: flex; align-items: flex-start; gap: 6px;
}
.bp-sidebar__promo-list li::before {
  content: '✗'; color: #DC2626; font-weight: 700; flex-shrink: 0;
}

/* ═══ CONTACTS PAGE v2 — form-centric ═══ */
.bp-contact-hero { max-width: 580px; }

/* Process steps */
.bp-contact-steps { display: flex; gap: 0; justify-content: center; flex-wrap: wrap; }
.bp-contact-step {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 20px; font-size: .82rem; color: var(--ink2);
}
.bp-contact-step__n { font-weight: 800; color: var(--blue); font-size: .9rem; }
.bp-contact-step::after { content: '→'; color: var(--ink5); margin-left: 10px; }
.bp-contact-step:last-child::after { display: none; }
.bp-contact-note { text-align: center; font-size: .72rem; color: var(--blue); font-weight: 600; margin-top: 8px; }

/* Form center block */
.bp-contact-form-center {
  max-width: 600px; margin: 0 auto;
  padding: 36px 32px; border: 2px solid var(--border);
  background: var(--white); position: relative;
}
.bp-contact-form-center::before {
  content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 40px 40px; opacity: .3;
  mask-image: radial-gradient(ellipse 60% 50% at 50% 0%, black 10%, transparent 70%);
}
.bp-contact-form-center__hook { text-align: center; margin-bottom: 24px; position: relative; }
.bp-contact-form-center__hook h2 { font-size: 1.15rem; font-weight: 800; color: var(--ink); margin-bottom: 6px; }
.bp-contact-form-center__hook p { font-size: .82rem; color: var(--ink3); }

.bp-form--big { position: relative; }
.bp-form--big .bp-form__field input,
.bp-form--big .bp-form__field textarea,
.bp-form--big .bp-form__field select {
  padding: 13px 14px !important; font-size: .88rem !important;
}

/* Trust block */
.bp-contact-trust {
  text-align: center; max-width: 520px; margin: 0 auto;
  padding: 24px; border: 1.5px dashed var(--border);
}
.bp-contact-trust p { font-size: .85rem; color: var(--ink3); margin-bottom: 4px; }
.bp-contact-trust strong { color: var(--ink); }

/* Official contact — minimal */
.bp-contact-official {
  text-align: center; font-size: .75rem; color: var(--ink4);
  display: flex; gap: 8px; justify-content: center; align-items: center; flex-wrap: wrap;
}
.bp-contact-official__label { font-weight: 600; color: var(--ink3); }
.bp-contact-official a { color: var(--ink3); text-decoration: none; }
.bp-contact-official a:hover { color: var(--blue); }
.bp-contact-official__sep { color: var(--ink5); }

@media(max-width:640px) {
  .bp-contact-steps { flex-direction: column; align-items: flex-start; }
  .bp-contact-step::after { display: none; }
  .bp-contact-form-center { padding: 24px 18px; }
}

/* ═══ GLOSSARY ═══ */
.bp-gloss-search { max-width: 400px; margin: 0 auto 20px; }
.bp-gloss-search__input {
  width: 100%; padding: 12px 16px; font-size: .88rem;
  border: 1.5px solid var(--border); background: var(--white);
  color: var(--ink); transition: border-color .2s;
}
.bp-gloss-search__input:focus { border-color: var(--blue); outline: none; }

.bp-gloss-alpha { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; margin-bottom: 28px; }
.bp-gloss-alpha__letter {
  width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;
  font-size: .72rem; font-weight: 600; color: var(--ink2);
  border: 1px solid var(--border-l); background: var(--white);
  text-decoration: none; transition: all .2s;
}
.bp-gloss-alpha__letter:hover { border-color: var(--blue); color: var(--blue); }
.bp-gloss-alpha__letter--empty { opacity: .25; pointer-events: none; }

.bp-gloss-group { display: grid; grid-template-columns: 48px 1fr; gap: 16px; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--border-l); }
.bp-gloss-group:last-child { border-bottom: none; }
.bp-gloss-group__letter { font-size: 1.8rem; font-weight: 800; color: var(--blue); }
.bp-gloss-group__terms { display: flex; flex-direction: column; gap: 8px; }

.bp-gloss-term {
  display: block; padding: 14px 16px; border: 1.5px solid var(--border-l);
  background: var(--white); text-decoration: none; color: inherit;
  transition: all .2s var(--ease);
}
.bp-gloss-term:hover { border-color: var(--blue); transform: translateX(4px); }
.bp-gloss-term__name { font-size: .88rem; font-weight: 700; color: var(--ink); margin-bottom: 2px; }
.bp-gloss-term__desc { font-size: .72rem; color: var(--ink3); line-height: 1.4; }
.bp-gloss-term__count { font-size: .6rem; color: var(--blue); font-weight: 600; margin-top: 4px; }

@media(max-width:640px) {
  .bp-gloss-group { grid-template-columns: 32px 1fr; gap: 10px; }
  .bp-gloss-group__letter { font-size: 1.4rem; }
  .bp-gloss-alpha__letter { width: 26px; height: 26px; font-size: .6rem; }
}

/* ═══ TERM PAGE (TAG ARCHIVE) ═══ */
.bp-term-layout { display: grid; grid-template-columns: 1fr 280px; gap: 32px; }
.bp-term-detail { margin-bottom: 32px; }
.bp-term-detail__text { font-size: .9rem; color: var(--ink2); line-height: 1.8; }
.bp-term-detail__text p { margin-bottom: 12px; }
.bp-term-articles { margin-bottom: 32px; }
.bp-term-articles__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bp-term-empty {
  text-align: center; padding: 40px 20px;
  border: 1.5px dashed var(--border); color: var(--ink4);
}
.bp-term-empty i { font-size: 2rem; display: block; margin-bottom: 8px; }
.bp-term-empty p { font-size: .82rem; }
.bp-term-related__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
@media(max-width:768px) {
  .bp-term-layout { grid-template-columns: 1fr; }
  .bp-term-articles__grid, .bp-term-related__grid { grid-template-columns: 1fr; }
}

/* ═══ SIDEBAR TAGS + CALENDAR ═══ */
.bp-sidebar__tags { display: flex; flex-wrap: wrap; gap: 4px; }
.bp-sidebar__tag {
  font-size: .65rem; font-weight: 500; padding: 4px 10px;
  border: 1px solid var(--border-l); background: var(--bg);
  color: var(--ink3); text-decoration: none; transition: all .2s;
}
.bp-sidebar__tag:hover { border-color: var(--blue); color: var(--blue); background: rgba(29,78,216,.04); }
.bp-sidebar__calendar table { width: 100%; border-collapse: collapse; font-size: .68rem; }
.bp-sidebar__calendar caption { font-weight: 700; font-size: .75rem; color: var(--ink); margin-bottom: 6px; text-align: center; }
.bp-sidebar__calendar th { font-weight: 600; color: var(--ink4); padding: 4px; text-align: center; font-size: .65rem; text-transform: uppercase; }
.bp-sidebar__calendar td { padding: 4px; text-align: center; color: var(--ink3); }
.bp-sidebar__calendar td a { color: var(--blue); font-weight: 700; text-decoration: none; }
.bp-sidebar__calendar td a:hover { text-decoration: underline; }
.bp-sidebar__calendar td#today { background: rgba(29,78,216,.06); font-weight: 700; color: var(--blue); }
.bp-sidebar__calendar .wp-calendar-nav { display: flex; justify-content: space-between; font-size: .65rem; margin-top: 4px; }
.bp-sidebar__calendar .wp-calendar-nav a { color: var(--blue); text-decoration: none; }

/* ═══ COMPREHENSIVE MOBILE FIXES ═══ */
@media(max-width:768px) {
  /* Header mobile */
  .bp-hdr__in { padding: 0 8px; }
  .bp-logo img { height: 20px !important; }
  .bp-hdr__cta { display: none !important; }
  .bp-hdr__lang { order: 1; }
  .bp-hdr__burger { padding: 10px; order: 2; }
  .bp-hdr__burger span { width: 20px; }

  /* Mobile menu - header expands instead of fixed nav (avoids backdrop-filter containment bug) */
  .bp-hdr.menu-open {
    height: 100vh;
    overflow-y: auto;
    align-items: flex-start;
  }
  .bp-hdr.menu-open .bp-hdr__in {
    height: auto;
    flex-wrap: wrap;
  }
  .bp-nav.open {
    display: flex !important; flex-direction: column;
    width: 100%;
    padding: 16px 0;
    order: 10;
  }
  .bp-nav.open .bp-nav__menu { display: flex !important; flex-direction: column !important; gap: 0 !important; width: 100%; }
  .bp-nav.open .bp-nav__menu li { list-style: none !important; }
  .bp-nav.open .bp-nav__menu li a { padding: 16px 8px !important; font-size: 1rem !important; border-bottom: 1px solid var(--border-l) !important; border-radius: 0 !important; color: var(--ink) !important; display: block !important; }
  .bp-nav.open .bp-nav__menu li.current-menu-item a,
  .bp-nav.open .bp-nav__menu li.current_page_item a { color: var(--blue) !important; font-weight: 600 !important; background: var(--blue-bg) !important; }
  .bp-nav.open .bp-nav__menu li::after { display: none !important; }

  /* Hero mobile */
  .bp-hero { min-height: auto !important; padding: 0; }
  .bp-hero__in { padding: 24px 0 !important; grid-template-columns: 1fr !important; gap: 24px !important; }
  .bp-hero__h1 { font-size: 1.5rem !important; }
  .bp-hero__sub { font-size: .88rem !important; }
  .bp-hero__tag { font-size: .6rem !important; letter-spacing: 1px !important; }
  .bp-hero__diag { display: none; }
  .bp-hero__actions { flex-direction: column !important; }
  .bp-hero__actions .bp-btn { width: 100%; justify-content: center; text-align: center; padding: 14px 20px !important; }
  .bp-hero__chips { display: none; }
  .bp-hero__proof { gap: 20px; }
  .bp-hero__proof-item strong { font-size: 1.1rem; }
  .bp-hero__ctrl { font-size: .65rem; }
  .bp-hero__bullets li { font-size: .82rem; }

  /* Page hero mobile */
  .bp-page-hero { padding: 20px 0 24px; }
  .bp-page-hero__title { font-size: 1.4rem !important; }

  /* Sections mobile - less padding */
  .bp-sec { padding: 48px 0 !important; }

  /* CTA mobile */
  .bp-cta { padding: 48px 0 !important; }
  .bp-cta h2 { font-size: 1.1rem !important; }
  .bp-cta__btns { flex-direction: column !important; align-items: stretch !important; }
  .bp-cta__btns .bp-btn { width: 100%; justify-content: center; }

  /* Footer mobile */
  .bp-ftr__in { flex-direction: column !important; gap: 24px !important; }
  .bp-ftr__links { flex-wrap: wrap !important; gap: 20px !important; }

  /* Grids to 1 col */
  .bp-prob4, .bp-cap-grid, .bp-why-grid, .bp-ind-grid, .bp-sec-grid,
  .bp-scale, .bp-compare, .bp-cases-home, .bp-cg, .bp-blog-grid,
  .bp-steps, .bp-two-col, .bp-about-grid, .bp-contact-grid,
  .bp-term-articles__grid, .bp-term-related__grid { grid-template-columns: 1fr !important; }

  /* Flow vertical */
  .bp-flow { flex-direction: column !important; align-items: stretch !important; }
  .bp-flow__step { width: 100% !important; box-sizing: border-box; }
  .bp-flow__arrow { transform: none !important; padding: 8px 0 !important; text-align: center; }

  /* Layers mobile */
  .bp-layer { grid-template-columns: 32px 36px 1fr !important; gap: 8px !important; padding: 12px 14px !important; }
  .bp-layer__purpose { display: none !important; }

  /* Blog layout */
  .bp-blog-layout { grid-template-columns: 1fr !important; }
  .bp-sidebar { position: static !important; order: 2; }

  /* Building mobile */
  .bp-bld__toggles { display: grid !important; grid-template-columns: 1fr 1fr !important; }
  .bp-fl__rooms { flex-direction: column !important; }
  .bp-fl { flex-direction: column !important; }
  .bp-fl__label { writing-mode: horizontal-tb !important; transform: none !important; border-right: none !important; border-bottom: 1px solid var(--border-l) !important; padding: 6px 10px !important; min-width: auto !important; }
  .bp-bld__cards { grid-template-columns: 1fr 1fr !important; }

  /* Contact form */
  .bp-contact-form-center { padding: 24px 16px !important; }
  .bp-contact-steps { flex-direction: column !important; }
  .bp-contact-step::after { display: none !important; }

  /* Term page */
  .bp-term-layout { grid-template-columns: 1fr !important; }
}

@media(max-width:480px) {
  .bp-hero__h1 { font-size: 1.3rem !important; }
  .bp-hero__tag { font-size: .55rem !important; letter-spacing: .5px !important; }
  .bp-hero__proof { flex-wrap: wrap; gap: 16px; }
  .bp-bld__toggles { grid-template-columns: 1fr !important; }
  .bp-bld__cards { grid-template-columns: 1fr !important; }
  .bp-cases-hero__stats { flex-direction: column !important; }
  .bp-form__row { grid-template-columns: 1fr !important; }
  .bp-proto-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .bp-blog-grid { grid-template-columns: 1fr !important; }
}

/* Fix blog card category badge - inline width */
.bp-blog-card__cat { display: inline-block !important; width: auto !important; }

/* Contact legal table */
.bp-contact-legal__table { width: 100%; font-size: .76rem; border-collapse: collapse; }
.bp-contact-legal__table td { padding: 6px 0; border-bottom: 1px solid var(--border-l); color: var(--ink2); vertical-align: top; }
.bp-contact-legal__table td:first-child { font-weight: 600; color: var(--ink3); width: 140px; padding-right: 12px; }
.bp-contact-legal__table tr:last-child td { border-bottom: none; }
/* Contact trust inline */
.bp-contact-trust { padding: 16px; border: 1.5px dashed var(--border); text-align: left; max-width: none; margin: 0; }
.bp-contact-trust p { font-size: .78rem; margin-bottom: 2px; }

/* ═══ LANGUAGE SWITCHER ═══ */
.bp-hdr__lang {
  display: flex; align-items: center; gap: 0;
  border: 1.5px solid var(--border); border-radius: var(--btn-radius);
  overflow: hidden;
}
.bp-lang {
  font-family: var(--sans); font-size: .78rem; font-weight: 600;
  padding: 8px 14px; color: var(--ink4); text-decoration: none;
  transition: all .2s; border-right: 1px solid var(--border-l);
  line-height: 1;
}
.bp-lang:last-child { border-right: none; }
.bp-lang:hover { color: var(--ink2); background: var(--bg); }
.bp-lang--active {
  color: var(--blue); background: var(--blue-bg2);
  font-weight: 700;
}
.bp-hdr__lang img { display: none !important; }
.bp-hdr__lang ul { display: none !important; }

/* ═══ FOOTER — readable & clean ═══ */
.bp-ftr { padding: 56px 0 24px !important; background: #0B1120 !important; }
.bp-ftr__in {
  display: grid !important; grid-template-columns: 1.2fr 1fr 1fr 1.3fr;
  gap: 36px; margin-bottom: 36px; position: relative;
}
.bp-ftr__brand { max-width: none; }
.bp-ftr__brand p { font-size: .85rem !important; color: rgba(255,255,255,.45) !important; margin-top: 14px; line-height: 1.65; }
.bp-ftr__col h4 {
  font-family: var(--sans) !important; font-size: .68rem !important;
  font-weight: 700 !important; color: rgba(255,255,255,.55) !important;
  letter-spacing: 2px !important; margin-bottom: 16px !important;
}
.bp-ftr__col a {
  display: block !important; font-size: .85rem !important;
  color: rgba(255,255,255,.5) !important; padding: 4px 0 !important;
}
.bp-ftr__col a::before { content: '•'; margin-right: 8px; opacity: .4; }
.bp-ftr__col a:hover { color: rgba(255,255,255,.8) !important; }

/* Footer CTA card */
.bp-ftr__cta-col { display: flex; flex-direction: column; gap: 16px; }
.bp-ftr__cta-card {
  padding: 22px; border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px; background: rgba(255,255,255,.03);
}
.bp-ftr__cta-card p { font-size: .85rem; color: rgba(255,255,255,.5); line-height: 1.65; margin-bottom: 16px; }
.bp-ftr__cta-btn {
  display: block; text-align: center; padding: 11px 22px;
  background: var(--blue); color: #fff !important; text-decoration: none;
  font-size: .82rem; font-weight: 600; border-radius: var(--btn-radius);
  transition: background .2s;
}
.bp-ftr__cta-btn:hover { background: #2563EB; }
.bp-ftr__contacts a {
  display: block; font-size: .85rem; color: rgba(255,255,255,.5);
  text-decoration: none; padding: 3px 0;
}
.bp-ftr__contacts a:hover { color: rgba(255,255,255,.75); text-decoration: underline; }

/* Footer bottom */
.bp-ftr__bot { font-size: .72rem !important; color: rgba(255,255,255,.3) !important; display: flex; justify-content: space-between; align-items: center; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.06); }
.bp-ftr__bot a { color: rgba(255,255,255,.3) !important; }
.bp-ftr__bot a:hover { color: rgba(255,255,255,.5) !important; }

/* Footer mobile */
@media(max-width:768px) {
  .bp-ftr__in { grid-template-columns: 1fr !important; gap: 24px !important; }
  .bp-ftr__col a::before { display: none; }
}

/* Remove old footer link styles that conflict */
.bp-ftr__links { display: none !important; }

/* Form styles for contacts page and CF7 */
.sgs-contact-form input,
.sgs-contact-form textarea,
.sgs-contact-form select,
.bp-form input,
.bp-form textarea,
.bp-form select,
.bp-contact-form__box input,
.bp-contact-form__box textarea,
.bp-contact-form__box select {
  border-radius: var(--input-radius) !important;
  font-family: var(--sans) !important;
  font-size: .85rem !important;
  border: 1.5px solid var(--border) !important;
  padding: 10px 14px !important;
  transition: border-color .2s !important;
  background: var(--white) !important;
  color: var(--ink) !important;
  width: 100%;
  box-sizing: border-box;
}
.sgs-contact-form input:focus,
.sgs-contact-form textarea:focus,
.bp-form input:focus,
.bp-form textarea:focus,
.bp-contact-form__box input:focus,
.bp-contact-form__box textarea:focus {
  border-color: var(--blue) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(29,78,216,.08) !important;
}
.sgs-form-submit,
.bp-form button[type="submit"],
.bp-contact-form__box button[type="submit"] {
  border-radius: var(--btn-radius) !important;
  background: var(--blue) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  padding: 12px 24px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background .2s !important;
  width: 100%;
}
.sgs-form-submit:hover,
.bp-form button[type="submit"]:hover,
.bp-contact-form__box button[type="submit"]:hover {
  background: #1a46c0 !important;
}
/* CF7 form consistency — compact, placeholder-only */
.wpcf7 label { display: none !important; }
.wpcf7 p { margin: 0 0 8px !important; }
.wpcf7 .sgs-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.wpcf7 .sgs-row p { display: contents !important; }
.wpcf7 .sgs-row .wpcf7-form-control-wrap { display: block; min-width: 0; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100% !important; box-sizing: border-box !important;
  border-radius: var(--input-radius) !important;
  border: 1.5px solid var(--border) !important;
  padding: 10px 12px !important;
  font-family: var(--sans) !important;
  font-size: .85rem !important;
  background: var(--bg) !important;
  color: var(--ink) !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.wpcf7 input:focus, .wpcf7 textarea:focus {
  border-color: var(--blue) !important; outline: none !important;
  box-shadow: 0 0 0 3px rgba(29,78,216,.08) !important;
  background: var(--white) !important;
}
.wpcf7 textarea { resize: vertical !important; min-height: 60px !important; }
.wpcf7 input[type="submit"] {
  border-radius: var(--btn-radius) !important;
  background: var(--blue) !important;
  color: #fff !important;
  padding: 12px 24px !important;
  font-weight: 600 !important;
  font-family: var(--sans) !important;
  font-size: .85rem !important;
  border: none !important;
  cursor: pointer !important;
  width: 100%;
}
.wpcf7 input[type="submit"]:hover { background: #1a46c0 !important; }
.wpcf7 .wpcf7-response-output {
  font-size: .78rem; text-align: center; padding: 8px 12px;
  border-radius: var(--btn-radius); margin: 8px 0 0 !important;
}
.wpcf7 .wpcf7-not-valid-tip { font-size: .72rem; color: #dc2626; margin-top: 2px; }
@media(max-width:540px) {
  .wpcf7 .sgs-row { grid-template-columns: 1fr; }
}

/* Architecture explanation column */
.bp-arch-explain { padding-top: 56px; }
.bp-arch-explain h3 { font-size: 1.1rem; font-weight: 700; color: var(--ink); margin-bottom: 16px; }
.bp-arch-explain p { font-size: .88rem; color: var(--ink3); line-height: 1.75; margin-bottom: 12px; }

/* Mobile CTA in burger menu */
.bp-nav__mobile-cta { display: none; }
@media(max-width:768px) {
  .bp-nav.open .bp-nav__mobile-cta { display: block; padding: 20px 0 0; }
}


/* Architecture explain mobile */
@media(max-width:768px) {
  .bp-arch-explain { padding-top: 24px; }
  .bp-arch-explain h3 { font-size: 1rem; }
}

/* ═══ MOBILE MENU FIX ═══ */
@media(max-width:768px) {
  /* Header expands when menu is open (avoids backdrop-filter containment) */
  .bp-hdr.menu-open {
    height: 100vh;
    overflow-y: auto;
  }
  .bp-hdr.menu-open .bp-hdr__in {
    height: auto;
    flex-wrap: wrap;
  }
  .bp-nav.open {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    padding: 16px 0;
    order: 10;
  }
  .bp-nav.open .bp-nav__menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
  }
  .bp-nav.open .bp-nav__menu li { list-style: none !important; }
  .bp-nav.open .bp-nav__menu li a {
    padding: 16px 8px !important;
    font-size: 1rem !important;
    color: var(--ink) !important;
    border-bottom: 1px solid var(--border-l) !important;
    border-radius: 0 !important;
    display: block !important;
  }
  .bp-nav.open .bp-nav__menu li.current-menu-item a {
    color: var(--blue) !important;
    font-weight: 600 !important;
    background: rgba(29,78,216,.04) !important;
  }
  .bp-nav.open .bp-nav__menu li::after { display: none !important; }
  .bp-nav.open .bp-nav__mobile-cta { display: block !important; padding: 20px 0 0; }

  /* Blog: 1 column on mobile */
  .bp-blog-grid { grid-template-columns: 1fr !important; }
}

/* Blog: 2 columns on tablet only */
@media(min-width:769px) and (max-width:900px) {
  .bp-blog-grid { grid-template-columns: 1fr 1fr !important; }
}

/* ═══ FLOW 6-STEP GRID ═══ */
.bp-flow-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
  counter-reset: flow;
}
.bp-flow-card {
  padding: 24px 20px; border: 1.5px solid var(--border-l);
  background: var(--white); transition: all .25s var(--ease);
  position: relative;
}
.bp-flow-card:hover { border-color: var(--blue); transform: translateY(-2px); }
.bp-flow-card__num {
  font-size: .65rem; font-weight: 700; color: var(--blue);
  font-family: var(--mono); margin-bottom: 8px; opacity: .6;
}
.bp-flow-card i {
  font-size: 1.3rem; color: var(--blue); margin-bottom: 10px; display: block;
}
.bp-flow-card h3 {
  font-size: .88rem; font-weight: 700; color: var(--ink); margin-bottom: 4px;
}
.bp-flow-card p {
  font-size: .78rem; color: var(--ink3); line-height: 1.5; margin: 0;
}
@media(max-width:768px) {
  .bp-flow-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width:540px) {
  .bp-flow-grid { grid-template-columns: 1fr; }
}
