/* ══════════════════════════════════════════════════════════════════════════
   LOOM FACTOR — BLOG STYLES  (loaded only on /blog pages)
   Reuses brand tokens + the .nv-* dropdown / .lf-btn / FAQ from components.css.
   Editorial article layout: 3-col meta strip, light hero, full-bleed cover,
   sticky share + contents side rails, serif pull-quotes.
   ══════════════════════════════════════════════════════════════════════════ */
:root{
  --gold:#eab63e; --gold-dk:#8a6410; --navy:#1d2856; --ink:#1a1c22; --muted:#5e636b;
  --line:rgba(29,40,86,.10);
  --font:'Google Sans','Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --serif:'Instrument Serif',ui-serif,Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);color:var(--ink);background:#f4f5ef;-webkit-font-smoothing:antialiased;line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

/* ── NAV: floating glass pill (same as the index). Shade + text ADAPT to the page —
      dark-hero pages = white-on-glass · light pages (body.bl-light) = gray-on-light-glass ── */
.nh-nav{ position:absolute; top:22px; left:50%; transform:translateX(-50%); z-index:50;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  width:calc(100% - 48px); max-width:2000px; padding:12px 14px 12px 26px; border-radius:60px;
  background:linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 55%, rgba(255,255,255,0) 100%);
  backdrop-filter:blur(10px) saturate(120%); -webkit-backdrop-filter:blur(10px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07); }
.nh-logo{ display:inline-flex; align-items:center; gap:11px; }
.nh-logo img{ width:32px; height:32px; object-fit:contain; }
.nh-logo span{ font-size:21px; font-weight:700; color:#fff; letter-spacing:-.3px; }
.nh-logo b{ color:#fff; }
.nh-nav-links{ display:flex; align-items:center; gap:34px; }
.nh-nav-links a{ font-size:15.5px; font-weight:500; color:#c6ccda; transition:color .2s; }
.nh-nav-links a:hover, .nh-nav-links a.active{ color:#fff; }
.nh-nav-cta{ font-size:15px; font-weight:600; color:#23262b; background:var(--gold); padding:12px 24px;
  border-radius:50px; white-space:nowrap; transition:background .2s, transform .2s; }
.nh-nav-cta:hover{ background:#dca42e; transform:translateY(-1px); }

/* light-page variant: same pill, light-gray glass + gray font colour, fading to
   transparent at the bottom edge so it melts into the page */
.bl-light .nh-nav{ background:linear-gradient(180deg, rgba(245,246,249,.90) 0%, rgba(245,246,249,.55) 52%, rgba(245,246,249,0) 100%);
  border:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 18px 40px -24px rgba(29,40,86,.30); }
.bl-light .nh-logo span, .bl-light .nh-logo b{ color:#1d2856; }
.bl-light .nh-nav-links a, .bl-light .nv-drop-trigger{ color:#5e636b; }
.bl-light .nh-nav-links a:hover, .bl-light .nh-nav-links a.active,
.bl-light .nv-drop-trigger:hover, .bl-light .nv-drop[data-open="true"] .nv-drop-trigger{ color:#1d2856; }
.bl-light .nh-burger-box span{ background:#5e636b; }

/* fancy hamburger + full-screen mobile menu (mirrors the home page) */
.nh-burger{ display:none; }
.nh-mobile{ display:none; }
@media(max-width:960px){
  .nh-nav-links{ display:none; }
  .nh-nav-cta{ display:none; }
  .nh-burger{ display:inline-flex; align-items:center; justify-content:center; position:relative; z-index:51;
    width:46px; height:46px; flex-shrink:0; border-radius:50%; cursor:pointer; padding:0; border:none;
    background:transparent; transition:background .3s ease, opacity .2s ease; }
  .nh-burger:hover{ opacity:.65; }
  .nh-burger-box{ position:relative; width:24px; height:16px; display:block; }
  .nh-burger-box span{ position:absolute; left:0; width:100%; height:2px; border-radius:2px; background:#fff;
    transition:transform .3s ease, opacity .2s ease; }
  .nh-burger-box span:nth-child(1){ top:0; } .nh-burger-box span:nth-child(2){ top:7px; } .nh-burger-box span:nth-child(3){ top:14px; }
  .nh-mobile{ position:fixed; inset:0; z-index:49; display:flex; flex-direction:column; justify-content:space-between;
    padding:108px 32px 36px; background:linear-gradient(165deg,#0c1124 0%,#141a38 60%,#1d2856 100%);
    opacity:0; visibility:hidden; pointer-events:none; transition:opacity .4s ease, visibility .4s ease; }
  .nh-mobile::before{ content:''; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(620px circle at 88% 6%, rgba(234,182,62,.10), transparent 60%),
               radial-gradient(560px circle at 6% 98%, rgba(82,140,227,.12), transparent 62%); }
  .nh-m-links{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:2px;
    transform:translateY(16px); opacity:0; transition:transform .5s cubic-bezier(.2,.8,.2,1), opacity .4s ease; }
  .nh-ml{ font-size:38px; font-weight:600; color:#fff; letter-spacing:-1px; line-height:1.32; transition:color .2s, transform .25s; }
  .nh-ml:hover, .nh-ml.active{ color:#f5cc6a; transform:translateX(6px); }
  .nh-m-foot{ position:relative; opacity:0; transition:opacity .5s ease .08s; }
  .nh-m-addr{ font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#aab2c8; line-height:1.7; margin:0 0 18px; }
  .nh-m-email{ display:inline-block; font-size:15px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
    color:#fff; padding-bottom:5px; border-bottom:1.5px solid rgba(255,255,255,.5); transition:color .2s, border-color .2s; }
  .nh-m-email:hover{ color:#f5cc6a; border-color:#f5cc6a; }
  .nh-m-rule{ display:block; height:1px; background:rgba(255,255,255,.14); margin:28px 0 18px; }
  .nh-m-meta{ display:flex; justify-content:space-between; align-items:flex-end; gap:16px; }
  .nh-m-col{ display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#fff; }
  .nh-m-col--r{ text-align:right; } .nh-m-col .dim{ color:#7e87a0; font-weight:500; }
  .nh-m-col a{ color:#fff; } .nh-m-col a:hover{ color:#f5cc6a; }
  body.nav-open{ overflow:hidden; }
  body.nav-open .nh-mobile{ opacity:1; visibility:visible; pointer-events:auto; }
  body.nav-open .nh-m-links{ transform:none; opacity:1; }
  body.nav-open .nh-m-foot{ opacity:1; }
  body.nav-open .nh-burger{ background:#fff; }
  body.nav-open .nh-burger-box span{ background:#15161a; }
  body.nav-open .nh-burger-box span:nth-child(1){ opacity:0; }
  body.nav-open .nh-burger-box span:nth-child(2){ left:4px; width:16px; }
  body.nav-open .nh-burger-box span:nth-child(3){ opacity:0; }
}

/* ───────────────────────────── BLOG INDEX ───────────────────────────── */
.bl-hero{ background:#f4f5ef; color:var(--navy);
  padding:128px clamp(20px,5vw,40px) 18px; text-align:center; }
.bl-hero .eyebrow{ font-family:var(--serif); font-style:italic; font-size:34px; color:#a9760f; line-height:1; display:block; }
.bl-hero h1{ font-size:clamp(32px,4.6vw,52px); font-weight:700; letter-spacing:-1.2px; line-height:1.08; margin:8px 0 14px; color:var(--navy); }
.bl-hero p{ font-size:17px; color:var(--muted); max-width:560px; margin:0 auto; line-height:1.6; }
.bl-wrap{ max-width:2000px; margin:0 auto; padding:30px clamp(20px,5vw,40px) 30px; }
.bl-cats{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 0 38px; }
.bl-cat{ font-size:13.5px; font-weight:600; color:var(--navy); background:#fff; border:1px solid var(--line);
  padding:8px 16px; border-radius:50px; box-shadow:0 6px 18px -12px rgba(29,40,86,.4); }
/* featured (newest) post */
.bl-feat{ display:grid; grid-template-columns:1.2fr 1fr; background:#fff; border:1px solid var(--line);
  border-radius:26px; overflow:hidden; box-shadow:0 28px 64px -36px rgba(29,40,86,.55); margin:0 0 54px;
  transition:transform .25s ease, box-shadow .25s ease; }
.bl-feat:hover{ transform:translateY(-4px); box-shadow:0 38px 76px -36px rgba(29,40,86,.6); }
.bl-feat-img{ min-height:400px; background:#e9ebf2 center/cover no-repeat; }
.bl-feat-body{ padding:clamp(34px,4vw,60px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:16px; }
.bl-feat-tag{ font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-dk); }
.bl-feat-body h2{ font-size:clamp(27px,2.6vw,40px); font-weight:700; color:var(--navy); line-height:1.12; letter-spacing:-1px; }
.bl-feat-body p{ font-size:16.5px; color:var(--muted); line-height:1.65; }
.bl-feat-more{ display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:700; color:var(--gold-dk); margin-top:6px; }
.bl-feat-more svg{ width:16px; height:16px; transition:transform .2s ease; }
.bl-feat:hover .bl-feat-more svg{ transform:translateX(4px); }
.bl-sec-title{ font-size:22px; font-weight:700; color:var(--navy); letter-spacing:-.5px; margin:0 0 22px; }
@media(max-width:780px){ .bl-feat{ grid-template-columns:1fr; } .bl-feat-img{ min-height:0; aspect-ratio:16/9; } }

.bl-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:26px; }
.bl-card{ background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden; display:flex; flex-direction:column;
  box-shadow:0 18px 44px -28px rgba(29,40,86,.45); transition:transform .25s ease, box-shadow .25s ease; }
.bl-card:hover{ transform:translateY(-4px); box-shadow:0 28px 60px -28px rgba(29,40,86,.5); }
.bl-card-img{ aspect-ratio:16/9; background:#e9ebf2 center/cover no-repeat; }
.bl-card-body{ padding:22px 22px 24px; display:flex; flex-direction:column; gap:10px; flex:1; }
.bl-pill{ align-self:flex-start; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--gold-dk); background:rgba(234,182,62,.18); padding:4px 11px; border-radius:50px; }
.bl-card h2{ font-size:21px; font-weight:700; color:var(--navy); line-height:1.25; letter-spacing:-.4px; }
.bl-card p{ font-size:14.5px; color:var(--muted); line-height:1.6; flex:1; }
.bl-meta{ font-size:12.5px; color:#8a8f98; font-weight:500; display:flex; gap:8px; align-items:center; }
.bl-empty{ text-align:center; color:var(--muted); padding:60px 0; }

/* ════════════════════════════ ARTICLE (editorial) ════════════════════════════ */
.bp2{ background:#fff; }
.bp2-head{ max-width:840px; margin:0 auto; padding:124px clamp(20px,5vw,40px) 28px; }
.bp2-back{ display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600; color:var(--muted); margin-bottom:30px; }
.bp2-back:hover{ color:var(--gold-dk); }
.bp2-back svg{ width:15px; height:15px; }
.bp2-metabar{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:18px 0; margin-bottom:30px;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.bp2-mc{ display:flex; flex-direction:column; gap:6px; }
.bp2-mc .lbl{ font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:#9aa0aa; }
.bp2-mc .val{ font-size:15px; font-weight:600; color:var(--navy); }
.bp2-title{ font-size:clamp(34px,5.2vw,60px); font-weight:500; color:var(--navy); line-height:1.04; letter-spacing:-1.8px; margin:0 0 22px; }
.bp2-intro{ font-size:19px; line-height:1.62; color:#4a4f5a; max-width:680px; margin:0 0 30px; }
.bp2-byline{ display:flex; align-items:center; gap:13px; }
.bp2-avatar{ width:44px; height:44px; border-radius:50%; background:var(--navy); color:#fff; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; }
.bp2-by-tx{ display:flex; flex-direction:column; }
.bp2-by-tx b{ font-size:14.5px; font-weight:600; color:var(--ink); }
.bp2-by-tx i{ font-style:normal; font-size:13px; color:var(--muted); }

.bp2-cover{ max-width:1120px; margin:14px auto 0; padding:0 clamp(20px,5vw,40px); }
.bp2-cover img{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:22px; box-shadow:0 40px 80px -42px rgba(29,40,86,.5); }

.bp2-layout{ max-width:1160px; margin:0 auto; padding:50px clamp(20px,5vw,40px) 10px;
  display:grid; grid-template-columns:54px minmax(0,1fr) 230px; gap:46px; align-items:start; }

/* left share rail */
.bp2-share{ position:sticky; top:92px; display:flex; flex-direction:column; align-items:center; gap:11px; }
.bp2-share .bp2-rail-lbl{ font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#9aa0aa; margin-bottom:4px; }
.bp2-share a, .bp2-copy{ width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:#fff;
  color:var(--navy); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s; }
.bp2-share a:hover, .bp2-copy:hover{ background:var(--navy); color:#fff; border-color:var(--navy); transform:translateY(-2px); }
.bp2-share a svg, .bp2-copy svg{ width:16px; height:16px; }
.bp2-copy.done{ background:#1f7d39; color:#fff; border-color:#1f7d39; }

/* right contents rail (the agenda) */
.bp2-toc{ position:sticky; top:92px; }
.bp2-toc .bp2-rail-lbl{ display:block; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:#9aa0aa; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.bp2-toc-nav a{ display:block; font-size:14px; line-height:1.4; color:var(--muted); padding:7px 0 7px 14px;
  border-left:2px solid transparent; transition:color .2s, border-color .2s; }
.bp2-toc-nav a:hover{ color:var(--navy); }
.bp2-toc-nav a.active{ color:var(--navy); font-weight:600; border-left-color:var(--gold); }

/* body */
.bp2-body{ font-size:18px; line-height:1.85; color:#33373f; min-width:0; }
.bp2-body > *{ margin:0 0 1.3em; }
.bp2-body > p:first-of-type::first-letter{ float:left; font-family:var(--serif); font-size:4.4em; line-height:.76;
  font-weight:400; color:var(--navy); margin:8px 14px 0 0; }
.bp2-body h2{ font-size:clamp(25px,3vw,31px); font-weight:600; color:var(--navy); letter-spacing:-.7px; line-height:1.2; margin:1.85em 0 .55em; scroll-margin-top:92px; }
.bp2-body h3{ font-size:21px; font-weight:600; color:var(--navy); margin:1.6em 0 .5em; scroll-margin-top:92px; }
.bp2-body a{ color:#1c52b8; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.bp2-body a:hover{ color:#103a8c; }
.bp2-body strong{ font-weight:700; color:#1d2330; }
.bp2-body ul, .bp2-body ol{ padding-left:1.3em; }
.bp2-body li{ margin:0 0 .55em; padding-left:4px; }
.bp2-body ul li::marker{ color:var(--gold-dk); }
.bp2-body blockquote{ margin:1.9em 0; padding:2px 0 2px 30px; border-left:3px solid var(--gold);
  font-family:var(--serif); font-style:italic; font-size:27px; line-height:1.4; color:var(--navy); letter-spacing:-.2px; }
.bp2-body blockquote p{ margin:0; }
.bp2-body img{ width:100%; border-radius:16px; margin:1.8em 0; }
.bp2-body code{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.86em;
  background:#eef0f4; padding:2px 6px; border-radius:6px; color:#1d2330; }
.bp2-body pre{ background:#141d3a; color:#e7ebf5; border-radius:14px; padding:18px 20px; overflow:auto; font-size:14.5px; }
.bp2-body pre code{ background:none; padding:0; color:inherit; }
.bp2-body hr{ width:60px; height:3px; border:none; background:var(--gold); border-radius:3px; margin:2.4em 0; }
.bp2-body table{ width:100%; border-collapse:collapse; font-size:15.5px; }
.bp2-body th, .bp2-body td{ border:1px solid var(--line); padding:10px 12px; text-align:left; }
.bp2-body th{ background:#f0f2f7; font-weight:700; color:var(--navy); }
.bp2-tags{ display:flex; flex-wrap:wrap; gap:8px; margin:38px 0 0; padding-top:26px; border-top:1px solid var(--line); }
.bp-tag{ font-size:12.5px; font-weight:600; color:var(--muted); background:#fff; border:1px solid var(--line); padding:6px 13px; border-radius:50px; }

@media(max-width:1024px){
  .bp2-layout{ grid-template-columns:1fr; gap:0; max-width:760px; }
  .bp2-toc{ position:static; order:1; margin:0 0 32px; padding:18px 22px; background:#f7f8fa; border:1px solid var(--line); border-radius:16px; }
  .bp2-body{ order:2; }
  .bp2-share{ position:static; order:3; flex-direction:row; justify-content:center; gap:12px; margin:34px 0 0; padding-top:26px; border-top:1px solid var(--line); }
  .bp2-share .bp2-rail-lbl{ align-self:center; margin:0 6px 0 0; }
}

/* end CTA box → service page (inside the reading column, left-aligned to the text) */
.bp2-cta{ margin:40px 0 0; }
.bp2-body .bp-cta-in h3{ color:#fff; }
.bp2-body .bp-cta-in p{ color:#c6ccda; }
.bp2-body .bp-cta-btn{ color:#23262b; text-decoration:none; }
.bp2-body .bp-cta-btn:hover{ color:#23262b; }

/* author box (E-E-A-T) */
.bp2-author{ display:flex; gap:18px; align-items:flex-start; margin:42px 0 0; padding:26px 28px; background:#fff;
  border:1px solid var(--line); border-radius:18px; box-shadow:0 18px 44px -30px rgba(29,40,86,.4); }
.bp2-author-av{ width:56px; height:56px; flex-shrink:0; border-radius:50%; background:var(--navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:17px; font-weight:700; }
.bp2-author-tx{ display:flex; flex-direction:column; min-width:0; }
.bp2-author-lbl{ font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-dk); margin-bottom:5px; }
.bp2-author-tx > b{ font-size:18px; font-weight:700; color:var(--navy); }
.bp2-author-role{ font-size:13.5px; color:var(--muted); margin-bottom:10px; }
.bp2-author-tx p{ font-size:15px; line-height:1.65; color:#3a3f4a; margin:0 0 12px; }
.bp2-author-li{ display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:600; color:#0a66c2; }
.bp2-author-li:hover{ color:#084a8f; }
.bp-cta-in{ background:linear-gradient(135deg,#1b2a55,#21407e); color:#fff; border-radius:20px; padding:30px 32px;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; }
.bp-cta-in h3{ font-size:22px; font-weight:700; letter-spacing:-.4px; margin:0 0 4px; }
.bp-cta-in p{ font-size:14.5px; color:#c6ccda; margin:0; }
.bp-cta-btn{ font-size:15px; font-weight:700; color:#23262b; background:var(--gold); padding:13px 26px; border-radius:50px; white-space:nowrap; }
.bp-cta-btn:hover{ background:#dca42e; }

/* related posts */
.bp-related{ max-width:1180px; margin:0 auto; padding:30px clamp(20px,5vw,40px) 90px; }
.bp-related h2{ font-size:24px; font-weight:700; color:var(--navy); letter-spacing:-.5px; margin:0 0 22px; }
.bp-related .bl-grid{ grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }

/* ─────────── FOOTER: the landing-page "Get in Touch" contact section ─────────── */
#get-in-touch{ position:relative; overflow:hidden; padding:40px 24px 90px; background:#f4f5ef; display:flex; flex-direction:column; align-items:center; }
#get-in-touch::before{ content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(to bottom, #f4f5ef 0%, #f4f5ef 24%, rgba(244,245,239,.78) 40%, rgba(244,245,239,0) 64%),
    url('/_fuc/images/contact-bg.webp') center bottom / cover no-repeat; }
#get-in-touch > *{ position:relative; z-index:1; }
.contact-card{ max-width:720px; width:100%; background:rgba(235,236,237,.74); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:6px solid rgba(255,255,255,.85); border-radius:34px; box-shadow:0 16px 54px rgba(0,0,0,.16); overflow:hidden; }
.contact-body{ padding:48px 48px 44px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.contact-title{ font-size:clamp(26px,3.2vw,34px); font-weight:700; color:#1d2856; margin:0 0 12px; }
.contact-sub{ font-size:15px; color:#5e636b; line-height:1.6; margin:0 0 36px; }
.contact-form{ width:100%; max-width:500px; display:flex; flex-direction:column; gap:14px; }
.contact-form input, .contact-form textarea{ width:100%; background:#fff; border:none; border-radius:999px; padding:17px 26px;
  font-family:'Google Sans',sans-serif; font-size:15px; color:#1d2856; box-shadow:0 2px 10px rgba(0,0,0,.04); outline:none; transition:box-shadow .2s ease; }
.contact-form input::placeholder, .contact-form textarea::placeholder{ color:#5e636b; }
.contact-form textarea{ border-radius:24px; resize:vertical; min-height:118px; line-height:1.5; }
.contact-form input:focus, .contact-form textarea:focus{ box-shadow:0 2px 10px rgba(0,0,0,.04), 0 0 0 2px rgba(234,182,62,.45); }
.send-btn{ position:relative; overflow:hidden; width:100%; border:none; cursor:pointer; color:#fff;
  background:linear-gradient(199deg, rgb(50,50,50) 0%, rgb(20,20,20) 100%);
  font-family:'Google Sans',sans-serif; font-weight:600; font-size:16px; padding:18px; border-radius:999px;
  margin-top:4px; box-shadow:0 8px 26px rgba(0,0,0,.24); transition:transform .25s ease, box-shadow .25s ease; }
.send-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(0,0,0,.30); }
.send-btn:active{ transform:translateY(0); }
.send-label{ position:relative; z-index:1; }
.send-shard{ position:absolute; width:50px; height:200%; top:-123.214%; left:calc(-15.8974% - 25px);
  background:rgba(255,255,255,.22); filter:blur(6px); transform:rotate(45deg); transition:left .55s ease, top .55s ease; z-index:0; pointer-events:none; }
.send-btn:hover .send-shard{ top:-12.5%; left:calc(122.051% - 25px); }
.contact-connect{ font-size:14px; color:#5e636b; margin:40px 0 16px; }
.contact-wa{ font-size:17px; font-weight:600; color:#1d2856; margin-bottom:14px; transition:color .2s; }
.contact-wa:hover{ color:#eab63e; }
.contact-email{ font-size:clamp(24px,4vw,34px); font-weight:500; color:#1d2856; margin-bottom:34px; transition:color .2s; }
.contact-email:hover{ color:#eab63e; }
.contact-linkedin{ width:44px; height:44px; border-radius:12px; background:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 14px rgba(0,0,0,.07); color:#1d2856; transition:transform .2s ease, color .2s ease; }
.contact-linkedin:hover{ transform:translateY(-3px); color:#0a66c2; }
.contact-footer{ background:#fff; text-align:center; padding:22px; font-size:13px; color:#5e636b; }
@media(max-width:560px){ .contact-body{ padding:38px 24px 32px; } }

@media(max-width:620px){
  .bp2-body{ font-size:16.5px; }
  .bp2-body > p:first-of-type::first-letter{ font-size:3.4em; }
  .bp2-title{ letter-spacing:-1px; }
  .bp2-metabar{ gap:10px; }
  .bp2-mc .val{ font-size:13.5px; }
  .bp2-body blockquote{ font-size:23px; }
  .bp-cta-in{ flex-direction:column; align-items:flex-start; }
}
