/* Self-hosted Poppins using the TTF files already present on the hosting account. */
@font-face { font-family: "Poppins"; src: url("/public/assets/fonts/Poppins-Light.ttf?v=20261020-poppins-fix1") format("truetype"); font-style: normal; font-weight: 300; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/public/assets/fonts/Poppins-Regular.ttf?v=20261020-poppins-fix1") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/public/assets/fonts/Poppins-Medium.ttf?v=20261020-poppins-fix1") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/public/assets/fonts/Poppins-SemiBold.ttf?v=20261020-poppins-fix1") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/public/assets/fonts/Poppins-Bold.ttf?v=20261020-poppins-fix1") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/public/assets/fonts/Poppins-ExtraBold.ttf?v=20261020-poppins-fix1") format("truetype"); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/public/assets/fonts/Poppins-Italic.ttf?v=20261020-poppins-fix1") format("truetype"); font-style: italic; font-weight: 400; font-display: swap; }

:root {
  --bg: #08090e;
  --bg-soft: #0d0f17;
  --surface: #11131d;
  --surface-2: #151826;
  --line: rgba(190, 198, 255, .12);
  --line-strong: rgba(190, 198, 255, .22);
  --text: #f1f3ff;
  --muted: #979cb6;
  --muted-2: #6d738d;
  --cyan: #67def2;
  --blue: #6ca8fa;
  --violet: #7160f4;
  --gradient: linear-gradient(105deg, #66dff0 0%, #6eaff9 48%, #765cf2 100%);
  --base: 11px;
  --radius: 18px;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: auto; scroll-padding-top: 94px; font-size: var(--base); background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--text); font-family: 'Poppins', sans-serif; font-size: 11px; line-height: 1.8; font-weight: 400; overflow-x: hidden; }
button, input, textarea, select { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
::selection { background: rgba(105, 210, 245, .28); color: #fff; }
.site-shell { overflow: hidden; }
.section-wrap { width: min(1160px, calc(100% - 72px)); margin-inline: auto; }
.site-header { height: 84px; width: min(1300px, calc(100% - 72px)); margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 34px; position: relative; z-index: 50; border-bottom: 1px solid rgba(255,255,255,.06); }
.brand { display: flex; align-items: center; flex: 0 0 145px; overflow: hidden; }
.brand img { display: block; width: 145px; height: auto; mix-blend-mode: screen; }
.main-nav { display: flex; gap: clamp(18px, 3vw, 38px); align-items: center; margin-left: auto; }
.main-nav a, .header-cta { font-size: 10px; font-weight: 500; color: #c3c6d8; }
.main-nav a { position: relative; padding-block: 12px; }
.main-nav a::after { content: ''; position: absolute; left: 0; bottom: 6px; width: 0; height: 1px; background: var(--gradient); }
.main-nav a:hover::after, .main-nav a:focus-visible::after { width: 100%; }
.header-cta { border: 1px solid var(--line-strong); border-radius: 999px; padding: 10px 15px; color: var(--text); white-space: nowrap; }
.header-cta span { color: var(--cyan); margin-left: 8px; }
.menu-toggle { display: none; }
.hero { min-height: 658px; position: relative; display: grid; grid-template-columns: 1fr .92fr; align-items: center; padding-top: 40px; padding-bottom: 74px; }
.hero-grid-bg { position: absolute; inset: -30px -100px 10px 32%; pointer-events: none; opacity: .25; background-image: linear-gradient(rgba(137,148,202,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(137,148,202,.09) 1px, transparent 1px); background-size: 43px 43px; mask-image: radial-gradient(ellipse at 60% 48%, #000 0%, transparent 68%); }
.hero-copy { z-index: 2; position: relative; padding: 25px 0 0; }
.eyebrow, .section-kicker { color: var(--cyan); letter-spacing: .18em; font-size: 8px; font-weight: 600; line-height: 1.6; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 27px; }
.status-dot, .live-label b, .note-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; background: var(--cyan); box-shadow: 0 0 12px rgba(103,222,242,.75); }
.eyebrow-divider { color: #555b75; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 640px; font-size: clamp(43px, 6.1vw, 72px); letter-spacing: -.065em; line-height: 1.08; font-weight: 600; margin-bottom: 25px; }
.gradient-text { color: transparent; background: var(--gradient); background-clip: text; -webkit-background-clip: text; }
.hero-description { max-width: 465px; color: #a2a8c0; font-size: 12px; line-height: 2.05; margin-bottom: 28px; }
.hero-description strong { color: #edf0ff; font-weight: 600; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin-bottom: 42px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 43px; padding: 0 18px; border-radius: 7px; font-size: 10px; line-height: 1.4; font-weight: 600; border: 1px solid transparent; cursor: pointer; }
.button span { font-size: 14px; }
.button-primary { background: var(--gradient); color: #070910; box-shadow: 0 10px 30px rgba(90,113,245,.16); }
.button-primary:hover, .button-primary:focus-visible { filter: brightness(1.13); }
.button-outline { border-color: var(--line-strong); background: rgba(255,255,255,.015); }
.button-outline:hover, .button-outline:focus-visible { border-color: rgba(103,222,242,.65); }
.text-link, .card-link, .read-link { color: #d7daeb; font-size: 10px; font-weight: 500; }
.text-link span, .card-link span, .read-link span { color: var(--cyan); padding-left: 8px; font-size: 14px; }
.hero-proof { display: flex; align-items: center; gap: 13px; }
.proof-mark { width: 30px; display: flex; flex-direction: column; gap: 3px; }
.proof-line { height: 2px; width: 27px; background: var(--gradient); border-radius: 3px; }
.proof-line.short { width: 17px; }
.hero-proof p { color: #e8eaf6; font-size: 10px; line-height: 1.6; margin: 0; font-weight: 500; }
.hero-proof p span { color: #757b96; font-weight: 400; }
.hero-visual { min-height: 470px; position: relative; display: flex; align-items: center; justify-content: center; margin-left: -15px; }
.visual-glow { position: absolute; width: 330px; height: 330px; border-radius: 50%; background: radial-gradient(circle, rgba(90,113,245,.18), rgba(71,193,235,.07) 42%, transparent 70%); filter: blur(10px); }
.visual-orbit { position: absolute; border: 1px solid rgba(136,153,255,.14); border-radius: 50%; transform: rotate(-25deg); }
.orbit-one { width: 450px; height: 260px; }
.orbit-two { width: 390px; height: 335px; transform: rotate(35deg); border-color: rgba(105,218,240,.12); }
.visual-card-main { width: min(395px, 93%); min-height: 278px; position: relative; z-index: 2; border: 1px solid rgba(174,191,255,.24); background: linear-gradient(145deg, rgba(24,28,47,.97), rgba(12,14,24,.96)); border-radius: 15px; padding: 18px 21px 15px; box-shadow: 0 30px 90px rgba(0,0,0,.35), inset 0 1px rgba(255,255,255,.04); transform: rotate(-2deg); }
.visual-card-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 19px; border-bottom: 1px solid rgba(255,255,255,.07); }
.window-dots { display: flex; gap: 4px; }
.window-dots i { height: 5px; width: 5px; display: block; border-radius: 50%; background: #41465e; }
.window-dots i:first-child { background: #68d8eb; }
.tiny-label, .live-label, .visual-metric-label, .visual-card-footer { font-size: 7px; letter-spacing: .12em; font-weight: 600; color: #747b9c; }
.live-label { display: flex; align-items: center; gap: 5px; color: #a3eddf; letter-spacing: .08em; }
.live-label b { width: 4px; height: 4px; background: #5be5bd; }
.visual-metric-label { margin-top: 19px; }
.visual-metric { font-size: 30px; font-weight: 500; line-height: 1.2; letter-spacing: -.04em; margin-top: 3px; }
.visual-metric span { font-size: 11px; color: #848ba9; letter-spacing: 0; font-weight: 400; }
.chart-area { position: relative; height: 100px; margin-top: 7px; overflow: hidden; }
.chart-area svg { position: relative; width: 100%; height: 100%; z-index: 2; }
.chart-gridline { position: absolute; left: 0; right: 0; border-top: 1px dashed rgba(160,169,224,.12); }
.line-a { top: 20%; }.line-b { top: 50%; }.line-c { top: 80%; }
.visual-card-footer { display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.07); padding-top: 12px; font-size: 6px; }
.footer-gradient { color: #90dff7; }
.floating-tag { position: absolute; z-index: 3; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(179,192,255,.22); border-radius: 10px; background: rgba(18,21,36,.93); box-shadow: 0 15px 42px rgba(0,0,0,.3); padding: 11px 13px; }
.floating-tag strong { display: block; font-weight: 600; font-size: 9px; line-height: 1.4; }
.floating-tag small { display: block; color: #7f86a1; font-size: 7px; margin-top: 2px; }
.tag-automation { top: 76px; left: 2px; }
.tag-performance { bottom: 75px; right: -1px; }
.tag-icon { width: 26px; height: 26px; background: rgba(105,222,242,.12); color: var(--cyan); display: grid; place-items: center; font-size: 18px; border-radius: 7px; }
.speed-ring { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid rgba(118,97,245,.7); color: #aaa0ff; border-radius: 50%; }
.visual-cross { position: absolute; color: #7376d8; font-size: 17px; }
.cross-one { top: 54px; right: 55px; }.cross-two { bottom: 70px; left: 20px; color: #67d8e8; }
.scroll-cue { position: absolute; bottom: 26px; left: 0; display: flex; align-items: center; gap: 10px; color: #656b84; letter-spacing: .16em; font-size: 7px; font-weight: 600; }
.scroll-cue-line { display: inline-block; width: 28px; height: 1px; background: var(--gradient); }
.trust-strip { border-block: 1px solid rgba(255,255,255,.07); background: #0b0c12; }
.trust-strip-inner { width: min(1160px, calc(100% - 72px)); margin: auto; min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 22px; color: #8a90a9; font-size: 8px; letter-spacing: .12em; font-weight: 600; }
.trust-strip-inner span:first-child { color: #555b74; }.trust-strip-inner i { height: 3px; width: 3px; border-radius: 50%; background: #5f62a4; flex: 0 0 auto; }
.section-block { padding-top: 112px; padding-bottom: 112px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 46px; }
.section-heading h2, .about-copy h2, .contact-copy h2 { font-size: clamp(30px, 4.2vw, 47px); line-height: 1.18; letter-spacing: -.055em; font-weight: 500; margin: 14px 0 0; }
.section-heading > p { max-width: 320px; color: var(--muted); font-size: 11px; line-height: 1.95; margin: 0 0 5px; }
.services-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card { min-height: 315px; display: flex; flex-direction: column; padding: 23px 20px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; background: linear-gradient(150deg, rgba(255,255,255,.014), transparent 70%); }
.service-card:hover { background: linear-gradient(150deg, rgba(105,222,242,.055), rgba(118,92,242,.025) 75%); }
.service-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 27px; }
.service-number { font-size: 8px; color: #6c7390; letter-spacing: .12em; }
.service-icon { width: 37px; height: 37px; display: grid; place-items: center; color: var(--cyan); border: 1px solid rgba(103,222,242,.22); background: rgba(103,222,242,.07); border-radius: 10px; font-size: 20px; line-height: 1; }
.icon-flow { color: #a8a0ff; border-color: rgba(118,92,242,.3); background: rgba(118,92,242,.09); }.icon-code { color: #9ec5ff; }.icon-speed { color: #b1a0ff; }
.service-card h3 { font-size: 17px; line-height: 1.38; letter-spacing: -.03em; font-weight: 500; margin-bottom: 13px; }
.service-card p, .project-info > p { color: #9197b1; line-height: 1.85; font-size: 10px; margin-bottom: 17px; }
.tag-list { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 17px; }
.tag-list span { border: 1px solid rgba(176,185,230,.13); background: rgba(255,255,255,.025); color: #8f96b3; border-radius: 4px; font-size: 7px; line-height: 1.5; padding: 4px 7px; }
.card-link { display: inline-flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.07); }
.work-section { background: var(--bg-soft); border-block: 1px solid rgba(255,255,255,.045); }
.projects-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 19px; }
.project-card { border: 1px solid var(--line); background: #0d0f17; border-radius: 13px; overflow: hidden; }
.project-wide { grid-column: span 2; display: grid; grid-template-columns: 1.08fr 1fr; }
.project-art { min-height: 255px; position: relative; overflow: hidden; background: #0d1120; }
.project-wide .project-art { min-height: 333px; }
.automation-art { background: radial-gradient(circle at 46% 48%, rgba(90,104,242,.17), transparent 50%), linear-gradient(135deg, #0b0e18, #101428); }
.automation-art::before, .performance-art::before, .security-art::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(154,165,228,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(154,165,228,.055) 1px, transparent 1px); background-size: 24px 24px; }
.flow-node { z-index: 2; position: absolute; display: flex; align-items: center; gap: 7px; color: #c7cbe0; border: 1px solid rgba(146,163,244,.24); background: rgba(19,24,46,.95); border-radius: 7px; padding: 10px 12px; font-size: 9px; box-shadow: 0 8px 30px rgba(0,0,0,.2); }
.node-symbol { color: var(--cyan); font-size: 14px; }.node-trigger { top: 28%; left: 9%; }.node-router { top: 28%; left: 43%; border-color: rgba(119,100,247,.5); }.node-crm { top: 67%; left: 16%; }.node-alert { top: 67%; right: 12%; }
.flow-connector { position: absolute; height: 1px; background: linear-gradient(90deg, #65deee, #7770f5); top: 37%; }.connector-one { left: 31%; width: 12%; }.connector-two { left: 67%; width: 16%; }
.flow-branch { position: absolute; top: 41%; height: 48px; width: 1px; background: linear-gradient(#7770f5, #65deee); }.branch-left { left: 31%; }.branch-right { right: 25%; }
.art-caption { position: absolute; bottom: 19px; left: 22px; color: #636b8b; letter-spacing: .14em; font-size: 7px; font-weight: 600; }.art-caption span { color: var(--cyan); padding-inline: 8px; }
.project-info { padding: 25px 26px 23px; display: flex; flex-direction: column; align-items: stretch; }
.project-meta { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; color: #68d8eb; font-size: 7px; letter-spacing: .13em; font-weight: 600; margin-bottom: 18px; }
.concept-label { color: #7e84a0; border: 1px solid rgba(164,173,228,.15); padding: 2px 5px; border-radius: 3px; font-size: 6px; }
.project-info h3 { font-size: 19px; line-height: 1.35; letter-spacing: -.035em; font-weight: 500; margin-bottom: 12px; }
.project-info > p { font-size: 10px; }
.project-info .tag-list { margin-top: 2px; }
.project-info .card-link { margin-top: auto; }
.performance-art { display: grid; place-items: center; background: radial-gradient(ellipse at 60% 50%, rgba(91,114,245,.15), transparent 55%), #0b0e17; }
.speed-score { z-index: 2; width: 180px; text-align: center; position: relative; border: 1px solid rgba(125,150,255,.22); background: rgba(17,21,38,.9); padding: 19px 18px; border-radius: 9px; box-shadow: 0 20px 50px rgba(0,0,0,.27); }
.speed-score > span { display: block; font-size: 6px; color: #858cae; letter-spacing: .12em; }.speed-score strong { display: block; font-size: 56px; letter-spacing: -.08em; line-height: 1.2; font-weight: 500; color: #94e7f2; }.speed-score small { font-size: 7px; color: #767d9b; }
.score-track { margin-top: 12px; height: 3px; background: #252a41; border-radius: 99px; overflow: hidden; }.score-track i { display: block; width: 89%; height: 100%; background: var(--gradient); }
.speed-bars { position: absolute; bottom: 0; left: 14px; right: 14px; height: 38px; display: flex; align-items: end; gap: 6px; opacity: .6; }.speed-bars i { flex: 1; background: linear-gradient(#7770f5, #4a6eab); height: 22%; border-radius: 2px 2px 0 0; }.speed-bars i:nth-child(3n) { height: 43%; }.speed-bars i:nth-child(4n) { height: 68%; }.speed-bars i:nth-child(5n) { height: 34%; }.speed-bars i:nth-child(7n) { height: 85%; }
.perf-orbit { position: absolute; width: 225px; height: 225px; border: 1px solid rgba(112,126,246,.13); border-radius: 50%; }
.security-art { display: grid; place-items: center; background: radial-gradient(circle at center, rgba(80,203,204,.09), transparent 57%), #0c1119; }
.security-window { width: 82%; z-index: 1; background: rgba(13,20,28,.95); border: 1px solid rgba(99,212,212,.2); border-radius: 8px; overflow: hidden; box-shadow: 0 15px 45px rgba(0,0,0,.3); }.security-window-bar { display: flex; align-items: center; gap: 4px; height: 27px; padding: 0 9px; border-bottom: 1px solid rgba(255,255,255,.07); }.security-window-bar i { width: 4px; height: 4px; background: #526a78; border-radius: 50%; }.security-window-bar span { color: #6e8b97; font-size: 6px; margin-left: 7px; }.security-content { display: flex; gap: 14px; padding: 17px 16px; }.security-shield { flex: 0 0 42px; height: 42px; display: grid; place-items: center; border-radius: 12px 12px 15px 15px; background: rgba(94,214,205,.11); color: #79e7d3; font-size: 25px; }.security-content strong { font-size: 9px; display: block; margin: 1px 0 8px; font-weight: 500; }.security-content span { display: block; color: #8794a3; font-size: 7px; margin-top: 4px; }.security-content span::before { content: '✓'; color: #70dbc4; margin-right: 7px; }.security-status { display: flex; gap: 6px; align-items: center; color: #68d5bd; letter-spacing: .1em; font-size: 6px; border-top: 1px solid rgba(255,255,255,.07); padding: 10px 15px; }.security-status b { width: 4px; height: 4px; border-radius: 50%; background: #68d5bd; }
.about-section { background: #0a0b12; border-bottom: 1px solid rgba(255,255,255,.05); }
.about-grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 95px; }
.about-visual { position: relative; min-height: 390px; display: flex; align-items: center; justify-content: center; }
.about-frame { position: relative; width: 290px; height: 340px; border: 1px solid rgba(130,143,246,.22); background: radial-gradient(circle at 52% 33%, rgba(101,210,241,.14), transparent 35%), linear-gradient(145deg, #15192a, #0d0f18 75%); border-radius: 150px 150px 12px 12px; overflow: hidden; box-shadow: 0 25px 60px rgba(0,0,0,.25); }
.about-frame::before { content: ''; position: absolute; inset: 16px; border: 1px solid rgba(134,148,248,.16); border-radius: 140px 140px 7px 7px; }
.about-frame::after { content: ''; position: absolute; width: 240px; height: 240px; border: 1px solid rgba(103,222,242,.09); border-radius: 50%; left: 25px; top: 38px; }
.about-monogram { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 75px; line-height: 1; letter-spacing: -.13em; font-weight: 600; color: rgba(107,221,242,.92); text-shadow: 0 0 32px rgba(107,221,242,.16); }.about-monogram span { color: #7670f2; }
.about-frame-bottom { position: absolute; z-index: 2; bottom: 18px; left: 25px; right: 25px; display: flex; justify-content: space-between; color: #747b98; font-size: 6px; letter-spacing: .13em; }
.about-note { position: absolute; z-index: 3; display: flex; align-items: center; gap: 8px; font-size: 8px; padding: 11px 14px; border: 1px solid rgba(171,181,240,.18); border-radius: 8px; background: rgba(18,21,34,.94); box-shadow: 0 14px 30px rgba(0,0,0,.3); }.note-top { top: 53px; right: -1px; }.note-bottom { bottom: 34px; left: -8px; }.note-spark { color: #a59dff; font-size: 15px; }
.about-copy h2 { margin-bottom: 24px; }.about-copy p { color: #969cb5; font-size: 10px; line-height: 2; margin-bottom: 17px; }.about-copy .about-lead { color: #c0c4d8; font-size: 12px; line-height: 1.95; }
.about-values { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; margin: 28px 0 30px; padding-top: 20px; border-top: 1px solid var(--line); }.about-values > div { display: flex; flex-direction: column; gap: 6px; }.value-index { color: var(--cyan); font-size: 7px; letter-spacing: .12em; }.about-values strong { font-size: 9px; font-weight: 500; }.about-values small { color: #7c829d; font-size: 8px; line-height: 1.6; }
.process-line { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; position: relative; }.process-line::before { content: ''; position: absolute; top: 17px; left: 6%; right: 6%; height: 1px; background: linear-gradient(90deg, rgba(103,222,242,.35), rgba(118,92,242,.4)); }.process-step { position: relative; z-index: 1; padding-top: 0; }.process-number { width: 34px; height: 34px; display: grid; place-items: center; background: #111521; border: 1px solid rgba(112,160,242,.32); border-radius: 50%; font-size: 8px; color: var(--cyan); margin-bottom: 27px; }.process-icon { color: #8d91ff; font-size: 24px; line-height: 1; margin-bottom: 14px; }.process-step h3 { font-size: 14px; font-weight: 500; margin-bottom: 8px; }.process-step p { color: #9096af; font-size: 10px; line-height: 1.9; max-width: 210px; margin-bottom: 0; }
.blog-section { background: #0c0e16; border-block: 1px solid rgba(255,255,255,.05); }.blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 19px; }.blog-card { border: 1px solid var(--line); background: #10121c; border-radius: 11px; overflow: hidden; }.blog-visual { height: 180px; position: relative; overflow: hidden; background-color: #111627; }.blog-visual::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(154,165,228,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(154,165,228,.06) 1px, transparent 1px); background-size: 23px 23px; }.blog-visual-security { background: radial-gradient(circle at 50% 50%, rgba(74,202,208,.14), transparent 52%), #0e131c; }.blog-visual-flow { background: radial-gradient(circle at 50% 50%, rgba(115,96,244,.18), transparent 52%), #101225; }.blog-visual-speed { background: radial-gradient(circle at 50% 50%, rgba(96,147,245,.16), transparent 52%), #101420; }.blog-category { position: absolute; z-index: 1; top: 14px; left: 15px; font-size: 6px; letter-spacing: .13em; color: #a2e8eb; padding: 5px 7px; border: 1px solid rgba(108,219,230,.25); background: rgba(9,16,24,.65); border-radius: 3px; }.blog-big-symbol { position: absolute; font-size: 90px; line-height: 1; color: rgba(109,221,224,.8); top: 37px; left: calc(50% - 31px); text-shadow: 0 0 40px rgba(90,205,213,.2); }.blog-visual-lines { position: absolute; bottom: 15px; left: 16px; right: 16px; display: flex; gap: 5px; }.blog-visual-lines i { display: block; height: 2px; background: rgba(140,152,196,.27); flex: 1; }.blog-visual-lines i:first-child { background: var(--gradient); }.mini-flow { position: absolute; z-index: 1; top: 68px; left: 20px; right: 20px; display: flex; align-items: center; justify-content: center; gap: 9px; }.mini-flow i { font-style: normal; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(133,123,251,.55); background: rgba(112,93,245,.11); color: #b3a8ff; border-radius: 7px; }.mini-flow b { width: 20px; height: 1px; background: var(--gradient); }.speed-type { z-index: 1; position: absolute; top: 55px; left: 25px; font-weight: 700; letter-spacing: -.07em; font-size: 45px; color: #e9edff; }.speed-type span { color: #7b75ff; }.blog-details { padding: 21px 20px 20px; }.blog-meta { display: flex; justify-content: space-between; gap: 10px; color: #717994; font-size: 6px; letter-spacing: .11em; margin-bottom: 14px; }.blog-meta span:first-child { color: #7cd8e9; }.blog-details h3 { font-weight: 500; font-size: 14px; line-height: 1.5; letter-spacing: -.02em; margin-bottom: 11px; }.blog-details p { color: #8d94ad; font-size: 10px; line-height: 1.9; margin-bottom: 18px; }.read-link { background: none; padding: 0; border: 0; cursor: pointer; }.read-link:hover, .read-link:focus-visible { color: var(--cyan); }
.reviews-section .section-heading { margin-bottom: 40px; }.review-grid { display: grid; grid-template-columns: 1fr 1fr .78fr; gap: 15px; }.review-card { border: 1px solid var(--line); border-radius: 11px; padding: 21px; background: rgba(255,255,255,.015); }.review-stars { color: #a29bff; letter-spacing: .2em; font-size: 10px; margin-bottom: 12px; }.review-placeholder-label { font-size: 6px; color: #717891; letter-spacing: .14em; }.review-card blockquote { margin: 15px 0 24px; color: #aeb3c9; font-size: 10px; line-height: 1.95; }.review-author { display: flex; align-items: center; gap: 9px; border-top: 1px solid var(--line); padding-top: 15px; }.review-avatar { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; font-size: 8px; color: var(--cyan); background: rgba(103,222,242,.09); border: 1px solid rgba(103,222,242,.2); }.review-author strong, .review-author small { display: block; }.review-author strong { font-size: 9px; font-weight: 500; }.review-author small { color: #757c98; font-size: 7px; }.review-edit { margin-left: auto; font-size: 6px; color: #7e77ee; letter-spacing: .1em; }.review-invite { display: flex; flex-direction: column; justify-content: center; background: radial-gradient(circle at 100% 0%, rgba(115,95,243,.12), transparent 48%), #10121c; }.review-invite-icon { width: 35px; height: 35px; border-radius: 9px; display: grid; place-items: center; font-size: 19px; color: var(--cyan); border: 1px solid rgba(103,222,242,.2); margin-bottom: 18px; }.review-invite h3 { font-size: 14px; font-weight: 500; margin-bottom: 8px; }.review-invite p { font-size: 10px; color: #8f96b0; line-height: 1.9; margin-bottom: 18px; }
.contact-section { position: relative; background: #0a0c14; border-top: 1px solid rgba(255,255,255,.06); overflow: hidden; }.contact-glow { position: absolute; top: 0; right: -10%; width: 70%; height: 100%; pointer-events: none; background: radial-gradient(ellipse at 60% 50%, rgba(103,116,245,.1), transparent 65%); }.contact-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 95px; position: relative; z-index: 1; align-items: start; }.contact-copy h2 { margin-bottom: 20px; }.contact-copy > p { color: #969cb5; font-size: 11px; line-height: 2; max-width: 410px; margin-bottom: 36px; }.contact-direct { display: flex; gap: 13px; align-items: center; margin-top: 22px; }.contact-direct-icon { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; border: 1px solid rgba(103,222,242,.2); color: var(--cyan); background: rgba(103,222,242,.06); font-size: 17px; }.contact-direct small, .contact-direct strong, .contact-direct div > span { display: block; }.contact-direct small { color: #727a96; font-size: 6px; letter-spacing: .14em; margin-bottom: 2px; }.contact-direct strong { font-size: 10px; font-weight: 500; }.contact-direct div > span { font-size: 8px; color: #8188a2; margin-top: 2px; }
.contact-form { border: 1px solid rgba(173,184,245,.19); border-radius: 12px; background: linear-gradient(145deg, rgba(21,24,39,.9), rgba(14,16,26,.97)); padding: 27px; box-shadow: 0 20px 65px rgba(0,0,0,.22); }.form-heading { display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); padding-bottom: 18px; margin-bottom: 20px; font-size: 8px; letter-spacing: .12em; font-weight: 600; }.form-heading span:first-child { color: var(--cyan); }.form-step { color: #6f7690; font-size: 7px; }.contact-form label { display: block; color: #c5c9dc; font-size: 9px; margin-bottom: 6px; }.contact-form input, .contact-form select, .contact-form textarea { width: 100%; display: block; padding: 11px 12px; margin-bottom: 16px; border-radius: 6px; border: 1px solid rgba(175,184,233,.14); background: rgba(5,7,13,.54); color: #f0f2ff; outline: none; font-size: 10px; }.contact-form input::placeholder, .contact-form textarea::placeholder { color: #616883; }.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: rgba(103,222,242,.6); }.contact-form select { color: #aeb4ca; }.contact-form select option { background: #10121c; }.contact-form textarea { resize: vertical; min-height: 100px; }.form-submit { width: 100%; justify-content: space-between; }.form-note { color: #717893; font-size: 8px; margin: 12px 0 0; line-height: 1.7; }
.site-footer { background: #07080c; border-top: 1px solid rgba(255,255,255,.06); }.footer-main { display: flex; justify-content: space-between; gap: 60px; padding-top: 54px; padding-bottom: 45px; }.footer-brand img { display: block; width: 142px; height: auto; mix-blend-mode: screen; }.footer-brand p { color: #777d96; font-size: 9px; line-height: 1.9; margin: 13px 0 0; }.footer-links { display: grid; grid-template-columns: repeat(3, minmax(95px, 1fr)); gap: 45px; }.footer-links > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }.footer-links span { color: #59617d; font-size: 7px; letter-spacing: .13em; margin-bottom: 5px; }.footer-links a { color: #a0a6bd; font-size: 9px; }.footer-links a:hover { color: var(--cyan); }.footer-links small { color: #636a84; font-size: 8px; line-height: 1.8; margin-top: 2px; }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.06); padding-block: 17px; color: #5e657f; font-size: 7px; letter-spacing: .1em; }.footer-bottom b { color: #8c83ff; padding-left: 6px; }.footer-bottom a { color: #969cb5; }
.article-dialog { width: min(620px, calc(100% - 32px)); max-height: min(86vh, 820px); overflow: auto; border: 1px solid rgba(153,168,255,.24); border-radius: 15px; background: #0d101a; color: var(--text); padding: 0; box-shadow: 0 35px 100px rgba(0,0,0,.65); }.article-dialog::backdrop { background: rgba(3,4,9,.78); }.dialog-top { position: sticky; top: 0; display: flex; justify-content: space-between; align-items: center; padding: 17px 23px; background: rgba(13,16,26,.96); border-bottom: 1px solid var(--line); z-index: 1; }.dialog-close { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; background: transparent; font-size: 21px; cursor: pointer; }.dialog-content { padding: 25px 30px 32px; }.article-category { color: var(--cyan); font-size: 7px; letter-spacing: .15em; }.dialog-content h2 { font-size: 28px; line-height: 1.28; letter-spacing: -.045em; font-weight: 500; margin: 13px 0 14px; }.article-intro { font-size: 12px; line-height: 1.9; color: #b9bfd5; margin-bottom: 21px; }.article-body h3 { font-size: 13px; font-weight: 500; margin: 20px 0 7px; }.article-body p, .article-body li { font-size: 10px; line-height: 1.95; color: #979eb8; }.article-body ul { padding-left: 18px; }.dialog-content .button { margin-top: 15px; }
.toast { position: fixed; z-index: 80; bottom: 24px; left: 50%; transform: translateX(-50%); padding: 11px 16px; border: 1px solid rgba(103,222,242,.25); border-radius: 8px; background: #111522; color: #e5eaff; font-size: 9px; box-shadow: 0 12px 40px rgba(0,0,0,.35); opacity: 0; pointer-events: none; }
.js .hero-item { opacity: 0; transform: translateY(20px); }
.js .reveal { opacity: 0; transform: translateY(24px); }
.js .article-dialog { opacity: 0; transform: translateY(12px) scale(.985); }
.js .toast { opacity: 0; }
@media (min-width: 1300px) { .hero { min-height: 710px; } }
@media (max-width: 980px) {
  .section-wrap, .trust-strip-inner { width: min(100% - 48px, 780px); }
  .site-header { width: calc(100% - 48px); gap: 18px; }.brand { flex-basis: 118px; }.brand img { width: 118px; }.main-nav { gap: 17px; }.main-nav a { font-size: 9px; }
  .hero { grid-template-columns: 1fr .85fr; min-height: 590px; }.hero-visual { transform: scale(.86); margin-left: -40px; width: 120%; }.hero-description { font-size: 11px; }.hero h1 { font-size: clamp(43px, 6vw, 61px); }
  .service-card { padding-inline: 15px; }.service-card h3 { font-size: 15px; }.service-card p { font-size: 9px; }
  .about-grid { gap: 50px; }.about-frame { transform: scale(.9); }.contact-grid { gap: 48px; }.footer-links { gap: 24px; }
}
@media (max-width: 720px) {
  html { scroll-padding-top: 76px; }
  .section-wrap, .trust-strip-inner { width: calc(100% - 36px); }
  .site-header { height: 72px; width: calc(100% - 36px); }.brand { flex: 0 0 118px; }.brand img { width: 118px; }.menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; margin-left: auto; width: 36px; height: 36px; padding: 8px; background: transparent; border: 1px solid var(--line-strong); border-radius: 7px; cursor: pointer; }.menu-toggle span { width: 100%; height: 1px; background: #e6e9ff; display: block; }.header-cta { font-size: 9px; padding: 9px 10px; }.header-cta span { margin-left: 4px; }
  .main-nav { display: flex; flex-direction: column; align-items: stretch; gap: 0; position: absolute; top: 62px; left: 0; right: 0; padding: 8px 13px; background: rgba(12,14,23,.98); border: 1px solid var(--line-strong); border-radius: 10px; opacity: 0; pointer-events: none; transform: translateY(-7px); }.main-nav a { padding: 11px 3px; font-size: 10px; border-bottom: 1px solid rgba(255,255,255,.05); }.main-nav a:last-child { border-bottom: 0; }.main-nav a::after { display: none; }.main-nav.is-open { pointer-events: auto; }
  .hero { display: flex; flex-direction: column; align-items: stretch; padding-top: 53px; padding-bottom: 65px; min-height: unset; }.hero-copy { padding-top: 0; }.eyebrow { font-size: 7px; gap: 7px; margin-bottom: 23px; }h1 { font-size: clamp(44px, 12vw, 62px); margin-bottom: 20px; }.hero-description { max-width: 540px; font-size: 11px; }.hero-actions { margin-bottom: 28px; gap: 19px; }.hero-visual { min-height: 370px; width: 100%; margin: 3px 0 -2px; transform: none; }.visual-card-main { width: min(380px, 88%); transform: rotate(-1deg); }.orbit-one { width: min(420px, 106%); }.orbit-two { width: min(360px, 98%); }.tag-automation { left: 0; top: 38px; }.tag-performance { right: 0; bottom: 39px; }.scroll-cue { bottom: 18px; }
  .trust-strip-inner { min-height: 59px; flex-wrap: wrap; justify-content: center; column-gap: 12px; row-gap: 6px; padding-block: 12px; font-size: 7px; }.trust-strip-inner span:first-child { display: none; }.trust-strip-inner i:first-of-type { display: none; }
  .section-block { padding-block: 78px; }.section-heading { display: block; margin-bottom: 32px; }.section-heading h2, .about-copy h2, .contact-copy h2 { font-size: clamp(30px, 8vw, 41px); }.section-heading > p { margin-top: 17px; max-width: 480px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }.service-card { min-height: 290px; padding: 17px 14px; }.service-top { margin-bottom: 22px; }.service-icon { width: 32px; height: 32px; }.service-card h3 { font-size: 15px; }.service-card p { font-size: 9px; }.tag-list { gap: 4px; }.tag-list span { font-size: 6px; padding: 4px 5px; }.card-link { font-size: 9px; }
  .projects-grid { grid-template-columns: 1fr; gap: 14px; }.project-wide { grid-column: auto; display: flex; flex-direction: column; }.project-wide .project-art { min-height: 270px; }.project-art { min-height: 240px; }.project-info { padding: 20px; }.project-info h3 { font-size: 17px; }
  .about-grid { grid-template-columns: 1fr; gap: 27px; }.about-visual { min-height: 350px; }.about-frame { width: 265px; height: 315px; transform: none; }.note-top { right: calc(50% - 160px); }.note-bottom { left: calc(50% - 160px); }.about-copy h2 { margin-bottom: 19px; }.about-copy p { font-size: 10px; }.about-values { gap: 10px; }
  .process-line { grid-template-columns: repeat(2,1fr); gap: 32px 20px; }.process-line::before { display: none; }.process-number { margin-bottom: 17px; }.process-step p { max-width: 260px; }
  .blog-grid { grid-template-columns: 1fr; gap: 15px; }.blog-card { display: grid; grid-template-columns: .85fr 1fr; }.blog-visual { height: 100%; min-height: 220px; }.blog-big-symbol { top: 64px; font-size: 70px; }.mini-flow { top: 75px; gap: 4px; }.mini-flow i { width: 26px; height: 28px; }.mini-flow b { width: 10px; }.speed-type { top: 76px; left: 14px; font-size: 34px; }.blog-details { padding: 16px 14px; }.blog-details h3 { font-size: 12px; }.blog-details p { font-size: 9px; }.blog-meta { font-size: 5px; flex-wrap: wrap; }.read-link { font-size: 9px; }
  .review-grid { grid-template-columns: 1fr 1fr; }.review-card { padding: 17px; }.review-invite { grid-column: span 2; min-height: 170px; }.review-card blockquote { font-size: 9px; }
  .contact-grid { grid-template-columns: 1fr; gap: 35px; }.contact-copy > p { font-size: 10px; }.contact-form { padding: 20px; }.form-heading { font-size: 7px; }.footer-main { flex-direction: column; gap: 35px; padding-top: 42px; padding-bottom: 35px; }.footer-links { width: 100%; gap: 18px; }.footer-bottom { flex-wrap: wrap; font-size: 6px; }.footer-bottom > span:nth-child(2) { display: none; }
}
@media (max-width: 420px) {
  .section-wrap, .trust-strip-inner { width: calc(100% - 30px); }.site-header { width: calc(100% - 30px); gap: 9px; }.brand, .brand img { width: 102px; flex-basis: 102px; }.header-cta { padding: 8px 8px; }.hero-visual { min-height: 320px; }.visual-card-main { min-height: 250px; padding-inline: 15px; }.visual-metric { font-size: 26px; }.chart-area { height: 80px; }.floating-tag { padding: 8px 9px; }.tag-automation { top: 25px; }.tag-performance { bottom: 30px; }.floating-tag strong { font-size: 8px; }.floating-tag small { font-size: 6px; }.services-grid { grid-template-columns: 1fr; }.service-card { min-height: unset; padding: 18px; }.service-top { margin-bottom: 16px; }.service-card h3 br { display: none; }.service-card h3 { font-size: 16px; }.service-card .card-link { margin-top: 10px; }.project-wide .project-art { min-height: 238px; }.flow-node { padding: 8px; font-size: 7px; gap: 4px; }.node-trigger { left: 3%; }.node-router { left: 39%; }.node-crm { left: 4%; }.node-alert { right: 4%; }.connector-one { left: 28%; width: 11%; }.connector-two { left: 63%; width: 17%; }.branch-left { left: 27%; }.branch-right { right: 21%; }.about-values { grid-template-columns: 1fr; gap: 13px; }.about-values > div { display: grid; grid-template-columns: 25px 1fr; column-gap: 8px; }.about-values small { grid-column: 2; }.process-line { gap: 26px 14px; }.blog-card { grid-template-columns: 1fr; }.blog-visual { min-height: 160px; }.blog-big-symbol { top: 22px; }.mini-flow { top: 55px; }.speed-type { top: 39px; }.blog-details { padding: 18px; }.review-grid { grid-template-columns: 1fr; }.review-invite { grid-column: auto; }.footer-links { grid-template-columns: repeat(2,1fr); }.footer-links > div:last-child { grid-column: span 2; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }


/* Readability update: increase meaningful text sizes while preserving the original visual system. */
:root { --base: 16px; }
html { font-size: 16px; }
body { font-size: 16px; line-height: 1.8; }
.main-nav a, .header-cta { font-size: 14px; }
.eyebrow, .section-kicker { font-size: 11px; }
.hero-description, .section-heading > p, .service-card p, .project-info > p,
.about-copy p, .about-copy .about-lead, .process-step p, .blog-details p,
.review-card blockquote, .review-invite p, .contact-copy > p,
.contact-direct div > span, .footer-brand p { font-size: 15px; }
.button, .text-link, .card-link, .read-link { font-size: 14px; }
.hero-proof p { font-size: 14px; }
.service-number, .project-meta, .concept-label, .blog-meta, .review-placeholder-label,
.review-edit, .footer-links span, .footer-bottom, .scroll-cue { font-size: 11px; }
.service-card h3 { font-size: 20px; }
.service-card { min-height: 355px; }
.tag-list span { font-size: 11px; padding: 5px 8px; }
.project-info h3 { font-size: 22px; }
.project-info { padding: 27px; }
.project-art { min-height: 310px; }
.project-wide .project-art { min-height: 310px; }
.flow-node { font-size: 12px; }
.project-meta { letter-spacing: .08em; }
.about-copy p { line-height: 1.9; }
.about-copy .about-lead { font-size: 17px; }
.value-index, .about-values strong, .about-values small { font-size: 13px; }
.process-step h3 { font-size: 19px; }
.process-number { font-size: 12px; }
.blog-details h3 { font-size: 20px; }
.blog-meta { letter-spacing: .04em; }
.blog-category { font-size: 10px; }
.review-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.review-stars { font-size: 16px; }
.review-placeholder-label { display: inline-block; margin-top: 2px; }
.review-card blockquote { min-height: 105px; }
.review-avatar { width: 38px; height: 38px; font-size: 12px; flex: 0 0 auto; }
.review-author strong { font-size: 14px; }
.review-author small { font-size: 12px; }
.contact-direct small { font-size: 11px; }
.contact-direct strong { font-size: 15px; }
.contact-direct div > span { line-height: 1.7; }
.contact-direct a { color: #dfe3fa; overflow-wrap: anywhere; }
.contact-direct a:hover { color: var(--cyan); }
.form-heading { font-size: 12px; }
.form-step { font-size: 11px; }
.contact-form label { font-size: 14px; }
.contact-form input, .contact-form select, .contact-form textarea { font-size: 15px; padding: 13px 14px; }
.form-note { font-size: 12px; }
.footer-links span { font-size: 11px; }
.footer-links a { font-size: 14px; }
.footer-links small { font-size: 12px; }
.article-category { font-size: 11px; }
.article-intro { font-size: 16px; }
.article-body h3 { font-size: 19px; }
.article-body p, .article-body li { font-size: 15px; }
.toast { font-size: 14px; max-width: min(520px, calc(100% - 32px)); line-height: 1.5; }

/* Featured WordPress malware-cleanup section. */
.malware-feature { position: relative; overflow: hidden; background: radial-gradient(ellipse at 10% 50%, rgba(103,222,242,.075), transparent 44%), linear-gradient(120deg, #0c1019, #101020 68%, #0b0c13); border-block: 1px solid rgba(103,222,242,.12); }
.malware-grid { display: grid; grid-template-columns: 1fr .92fr; gap: clamp(38px, 6vw, 82px); align-items: center; }
.malware-copy h2 { margin: 15px 0 22px; font-size: clamp(32px, 4vw, 48px); line-height: 1.16; letter-spacing: -.05em; font-weight: 500; }
.malware-copy > p { color: #b1b7ce; font-size: 16px; line-height: 1.9; max-width: 620px; margin-bottom: 25px; }
.malware-checklist { display: grid; gap: 13px; padding: 0; margin: 0 0 28px; list-style: none; }
.malware-checklist li { display: flex; gap: 12px; align-items: flex-start; color: #e0e4f5; font-size: 14px; line-height: 1.7; }
.malware-checklist li span { flex: 0 0 22px; width: 22px; height: 22px; border: 1px solid rgba(103,222,242,.32); border-radius: 50%; display: grid; place-items: center; color: var(--cyan); font-size: 13px; line-height: 1; }
.malware-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.malware-note { font-size: 12px; color: #828aa7; max-width: 260px; line-height: 1.6; }
.malware-panel { padding: 25px; border: 1px solid rgba(157,174,255,.2); border-radius: 18px; background: linear-gradient(150deg, rgba(23,28,47,.96), rgba(11,14,25,.98)); box-shadow: 0 28px 75px rgba(0,0,0,.25); }
.malware-panel-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 19px; border-bottom: 1px solid rgba(255,255,255,.08); color: #7d86a6; font-size: 10px; letter-spacing: .09em; }
.malware-panel-top .window-dots { flex: 0 0 auto; }
.malware-status { display: flex; align-items: center; gap: 7px; color: #a7e9db; font-size: 10px; }
.malware-status b, .help-popup-kicker span { width: 7px; height: 7px; border-radius: 50%; display: inline-block; background: #66e2c2; box-shadow: 0 0 12px rgba(102,226,194,.4); }
.malware-shield { width: 58px; height: 58px; margin: 25px 0 16px; display: grid; place-items: center; border-radius: 18px; border: 1px solid rgba(103,222,242,.28); background: rgba(103,222,242,.09); color: var(--cyan); font-size: 32px; }
.malware-panel h3 { margin: 0 0 9px; font-size: 22px; line-height: 1.35; font-weight: 500; }
.malware-panel > p { color: #8f97b2; font-size: 14px; line-height: 1.7; margin-bottom: 22px; }
.malware-progress-list { display: grid; gap: 11px; }
.malware-progress-list > div { display: grid; grid-template-columns: 35px 1fr 20px; align-items: center; gap: 12px; padding: 12px; border: 1px solid rgba(171,184,245,.1); border-radius: 9px; background: rgba(255,255,255,.018); }
.malware-progress-icon { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 9px; color: #a8dff1; font-size: 12px; background: rgba(104,154,246,.11); }
.malware-progress-list strong, .malware-progress-list small { display: block; }
.malware-progress-list strong { color: #e6e9fa; font-size: 14px; font-weight: 500; }
.malware-progress-list small { color: #858da9; font-size: 12px; line-height: 1.6; margin-top: 2px; }
.malware-progress-list > div > b { color: var(--cyan); text-align: right; font-size: 17px; font-weight: 400; }
.malware-panel-foot { display: flex; justify-content: space-between; gap: 15px; padding-top: 17px; margin-top: 18px; border-top: 1px solid rgba(255,255,255,.07); color: #727b99; font-size: 10px; letter-spacing: .08em; }

/* Floating WhatsApp, back-to-top, and a dismissible Anime.js quick-help popup. */
.floating-actions { position: fixed; right: 22px; bottom: 22px; z-index: 70; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.whatsapp-float { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 17px; border-radius: 999px; border: 1px solid rgba(117,231,186,.35); background: #142c27; color: #ecfff7; font-size: 14px; font-weight: 600; box-shadow: 0 12px 35px rgba(0,0,0,.32); }
.whatsapp-float svg { width: 24px; height: 24px; flex: 0 0 auto; }
.whatsapp-float:hover { background: #1b3a32; }
.back-to-top { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(162,174,248,.28); background: #161a2a; color: #f4f5ff; font-size: 24px; cursor: pointer; box-shadow: 0 10px 30px rgba(0,0,0,.28); }
.back-to-top[hidden], .help-popup[hidden] { display: none !important; }
.back-to-top:hover { border-color: rgba(103,222,242,.6); color: var(--cyan); }
.help-popup { position: fixed; z-index: 75; left: 22px; bottom: 24px; width: min(375px, calc(100% - 44px)); padding: 23px; border: 1px solid rgba(103,222,242,.25); border-radius: 15px; background: linear-gradient(145deg, rgba(19,24,40,.98), rgba(10,12,21,.99)); box-shadow: 0 22px 70px rgba(0,0,0,.48); }
.help-popup-close { position: absolute; right: 12px; top: 10px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(175,184,233,.15); background: transparent; color: #b4bad0; font-size: 23px; line-height: 1; cursor: pointer; }
.help-popup-kicker { display: flex; align-items: center; gap: 8px; color: var(--cyan); font-size: 11px; font-weight: 600; letter-spacing: .12em; }
.help-popup-kicker span { background: var(--cyan); box-shadow: 0 0 12px rgba(103,222,242,.4); }
.help-popup h2 { margin: 13px 32px 8px 0; font-size: 21px; line-height: 1.35; font-weight: 500; }
.help-popup p { color: #a1a8c0; font-size: 14px; line-height: 1.75; margin-bottom: 15px; }
.help-popup > a { display: inline-flex; align-items: center; gap: 10px; color: #dce8ff; font-size: 14px; font-weight: 600; }
.help-popup > a span { color: var(--cyan); font-size: 18px; }
.js .help-popup { opacity: 0; transform: translateY(18px); }
@media (max-width: 980px) {
  .malware-grid { grid-template-columns: 1fr; gap: 34px; }
  .malware-copy > p { max-width: 720px; }
  .malware-panel { max-width: 680px; }
}
@media (max-width: 720px) {
  .section-wrap, .trust-strip-inner { width: calc(100% - 36px); }
  .service-card { min-height: 350px; }
  .service-card p, .project-info > p, .about-copy p, .process-step p, .blog-details p,
  .review-card blockquote, .contact-copy > p, .contact-direct div > span { font-size: 15px; }
  .service-card h3 { font-size: 19px; }
  .section-heading > p { font-size: 15px; }
  .blog-card { grid-template-columns: .8fr 1.2fr; }
  .blog-details h3 { font-size: 18px; }
  .blog-meta { font-size: 10px; }
  .review-grid-two { grid-template-columns: 1fr; }
  .review-card blockquote { min-height: auto; }
  .malware-copy h2 { font-size: clamp(32px, 8vw, 43px); }
  .malware-panel { padding: 19px; }
  .malware-panel h3 { font-size: 20px; }
  .help-popup { left: 12px; bottom: 12px; width: min(355px, calc(100% - 24px)); padding: 19px; }
  .floating-actions { right: 12px; bottom: 12px; gap: 9px; }
  .whatsapp-float { min-height: 48px; padding-inline: 13px; font-size: 13px; }
  .back-to-top { width: 42px; height: 42px; }
  .help-popup { bottom: 112px; }
  .footer-links { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 420px) {
  .service-card { min-height: auto; }
  .services-grid { grid-template-columns: 1fr; }
  .blog-card { grid-template-columns: 1fr; }
  .blog-visual { min-height: 170px; }
  .footer-links > div:last-child { grid-column: auto; }
  .malware-progress-list small { font-size: 11px; }
  .malware-panel-foot { font-size: 9px; }
}


/* Follow-the-line workflow animation: all motion is driven by Anime.js. */
.process-line { isolation: isolate; }
.process-line::before { z-index: -1; }
.process-flow-line { position: absolute; z-index: 0; top: 17px; left: 6%; width: 88%; height: 2px; border-radius: 99px; background: linear-gradient(90deg, #65def1, #7460f7); box-shadow: 0 0 12px rgba(103,222,242,.22); transform: scaleX(0); transform-origin: left center; pointer-events: none; }
.process-step { opacity: 0; transform: translateY(24px); }
.process-step .process-number { transition: box-shadow .25s ease, border-color .25s ease, background .25s ease; }
.process-step.is-flow-active .process-number { border-color: rgba(103,222,242,.8); background: linear-gradient(135deg, rgba(103,222,242,.16), rgba(118,92,242,.2)); box-shadow: 0 0 24px rgba(103,222,242,.2); }
.automation-art-v2 { background: radial-gradient(circle at 50% 48%, rgba(110,95,245,.2), transparent 56%), #0d111d; }
.automation-art-v2 .node-trigger { left: 4%; top: 32%; }
.automation-art-v2 .node-router { left: 39%; top: 28%; }
.automation-art-v2 .node-crm { left: 5%; top: 64%; }
.automation-art-v2 .node-alert { right: 4%; top: 64%; }
.automation-art-v2 .connector-one { left: 28%; top: 42%; width: 12%; }
.automation-art-v2 .connector-two { left: 62%; top: 42%; width: 15%; }
.automation-art-v2 .branch-left { left: 27%; top: 47%; height: 17%; }
.automation-art-v2 .branch-right { right: 20%; top: 47%; height: 17%; }
.automation-version-badge { position: absolute; top: 15px; right: 15px; color: #b9b2ff; background: rgba(110,95,245,.12); border: 1px solid rgba(139,127,255,.28); border-radius: 4px; padding: 6px 8px; font-size: 10px; letter-spacing: .08em; }
.footer-bottom { justify-content: center; align-items: center; text-align: center; padding-block: 23px; color: #a9b0cb; letter-spacing: .04em; font-size: 12px; }
.footer-bottom > span { display: block; width: 100%; text-align: center; }
.back-to-top { width: 52px; height: 52px; border: 1px solid rgba(103,222,242,.72); background: linear-gradient(135deg, #65def1 0%, #6e85f5 48%, #765cf2 100%); color: #080a13; font-weight: 800; box-shadow: 0 0 0 5px rgba(103,222,242,.08), 0 14px 40px rgba(84,91,236,.38); transition: transform .2s ease, box-shadow .2s ease; }
.back-to-top:hover { transform: translateY(-3px); color: #080a13; box-shadow: 0 0 0 7px rgba(103,222,242,.11), 0 18px 45px rgba(84,91,236,.48); }
.form-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; clip-path: inset(50%) !important; }
.form-honeypot input { position: absolute !important; left: -9999px !important; }
.contact-form:has(.form-submit[disabled]) .form-submit { opacity: .7; cursor: wait; }
.read-link { display: inline-flex; align-items: center; gap: 8px; color: #e7eafc; font-weight: 500; text-decoration: none; font-size: 14px; }
.read-link span { color: var(--cyan); }
@media (max-width: 720px) {
  .process-flow-line { display: none; }
  .process-step { opacity: 1; transform: none; }
  .footer-bottom { font-size: 11px; line-height: 1.7; }
  .automation-version-badge { top: 8px; right: 8px; font-size: 8px; }
}

/* Standalone blog page layout. */
.standalone-blog-main { background: radial-gradient(ellipse at 75% 7%, rgba(117,96,245,.09), transparent 35%), #08090e; }
.blog-page-hero { padding-top: clamp(76px, 10vw, 132px); padding-bottom: clamp(55px, 8vw, 95px); }
.blog-page-hero h1 { margin: 18px 0 22px; font-size: clamp(43px, 7vw, 78px); line-height: 1.08; letter-spacing: -.065em; font-weight: 600; }
.blog-page-hero > p { max-width: 800px; margin: 0 0 29px; color: #a3aac2; font-size: clamp(16px, 1.55vw, 19px); line-height: 1.9; }
.blog-articles-wrap { display: grid; gap: 28px; padding-top: 0; }
.blog-article-full { display: grid; grid-template-columns: minmax(205px, .68fr) minmax(0, 1.32fr); align-items: stretch; overflow: hidden; border: 1px solid rgba(164,176,235,.16); border-radius: 16px; background: linear-gradient(145deg, rgba(17,20,33,.98), rgba(11,13,22,.98)); box-shadow: 0 20px 50px rgba(0,0,0,.16); scroll-margin-top: 100px; }
.blog-article-visual { position: relative; min-height: 100%; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 24px; background: radial-gradient(circle at 50% 40%, rgba(103,222,242,.16), transparent 50%), #0e131c; }
.blog-article-visual::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(154,165,228,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(154,165,228,.07) 1px, transparent 1px); background-size: 22px 22px; pointer-events: none; }
.blog-article-visual > span, .blog-article-visual > strong { position: relative; z-index: 1; }
.blog-article-visual > span { color: #a8eaf1; border: 1px solid rgba(103,222,242,.25); background: rgba(7,11,18,.7); border-radius: 4px; padding: 7px 9px; font-size: 10px; letter-spacing: .12em; }
.blog-article-visual > strong { align-self: flex-end; color: rgba(168,178,255,.85); font-size: clamp(64px, 8vw, 110px); line-height: .95; letter-spacing: -.08em; text-shadow: 0 0 35px rgba(114,101,246,.15); }
.blog-article-visual-security { background: radial-gradient(circle at 60% 45%, rgba(103,222,242,.17), transparent 45%), #0d131c; }
.blog-article-visual-flow { background: radial-gradient(circle at 45% 45%, rgba(118,92,242,.24), transparent 50%), #101225; }
.blog-article-visual-speed { background: radial-gradient(circle at 50% 40%, rgba(96,147,245,.2), transparent 50%), #101420; }
.blog-article-content { padding: clamp(24px, 4vw, 44px); }
.blog-article-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 13px; color: #7a829f; font-size: 11px; letter-spacing: .1em; }
.blog-article-meta span:first-child { color: var(--cyan); }
.blog-article-content h2 { margin: 0 0 16px; color: #f0f2ff; font-size: clamp(25px, 3vw, 35px); line-height: 1.27; letter-spacing: -.04em; font-weight: 500; }
.blog-article-intro { margin-bottom: 28px; color: #bbc1d8; font-size: 17px; line-height: 1.85; }
.blog-article-content h3 { margin: 27px 0 9px; color: #e7eaff; font-size: 20px; line-height: 1.4; font-weight: 500; }
.blog-article-content p { color: #9da5c0; font-size: 15px; line-height: 1.95; margin-bottom: 14px; }
.blog-article-callout { margin: 26px 0; padding: 17px 19px; border-left: 3px solid var(--cyan); border-radius: 0 8px 8px 0; color: #b8c0d9; background: rgba(103,222,242,.055); font-size: 14px; line-height: 1.85; }
.blog-article-callout strong { color: #e4f9ff; }
.blog-article-content .card-link { display: inline-flex; margin-top: 19px; }
@media (max-width: 760px) {
  .blog-article-full { grid-template-columns: 1fr; }
  .blog-article-visual { min-height: 150px; flex-direction: row; align-items: flex-start; }
  .blog-article-visual > strong { align-self: center; font-size: 70px; }
  .blog-page-hero h1 { font-size: clamp(40px, 11vw, 60px); }
  .blog-article-content { padding: 24px 20px 28px; }
  .blog-article-content h2 { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .process-step { opacity: 1; transform: none; }
  .process-flow-line { transform: scaleX(1); }
}


/* SEO/accessibility resilience: essential page content stays readable if Anime.js or JavaScript fails. */
.js .hero-item, .js .reveal, .js .blog-page-reveal, .process-step { opacity: 1; transform: none; }
.about-frame-image { position: absolute; inset: 10px 10px 25px; z-index: 1; width: calc(100% - 20px); height: calc(100% - 35px); object-fit: contain; object-position: center; pointer-events: none; }
.about-monogram { z-index: 2; }
.about-frame-bottom { z-index: 3; }
.footer-bottom { justify-content: center; text-align: center; }
.footer-bottom > span { display: block; width: 100%; text-align: center; }


/* Production polish: three selected projects, responsive service cards, and branded actions. */
.header-cta {
  color: #080910;
  background: var(--gradient);
  border-color: transparent;
  font-weight: 700;
  box-shadow: 0 8px 24px rgba(103, 140, 245, .24);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
.header-cta span { color: #080910; }
.header-cta:hover, .header-cta:focus-visible {
  color: #080910;
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(103, 140, 245, .32);
}
.projects-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 22px; }
.project-card { min-width: 0; display: flex; flex-direction: column; height: 100%; }
.project-info { flex: 1; }
.project-art { min-height: 235px; }
.project-image-art { display: flex; align-items: center; justify-content: center; padding: 0; background: #101522; isolation: isolate; }
.project-preview-image { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.project-image-art::after { content: ''; position: absolute; z-index: 2; inset: 45% 0 0; background: linear-gradient(180deg, transparent, rgba(7, 9, 16, .86)); pointer-events: none; }
.project-image-label { position: absolute; z-index: 3; left: 15px; right: 15px; bottom: 13px; color: #f4f5ff; font-size: 10px; line-height: 1.4; letter-spacing: .11em; font-weight: 700; text-shadow: 0 2px 12px rgba(0,0,0,.8); }
.project-jmllc-art { background: radial-gradient(circle at 65% 25%, rgba(103,222,242,.18), transparent 42%), #111824; }
.project-parqlinks-art { background: radial-gradient(circle at 40% 30%, rgba(118,92,242,.2), transparent 48%), #101725; }
.project-image-art.project-art-fallback::before { content: ''; position: absolute; inset: 0; z-index: 0; background-image: linear-gradient(rgba(154,165,228,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(154,165,228,.055) 1px, transparent 1px); background-size: 24px 24px; }
.project-image-art.project-art-fallback .project-image-label { top: 50%; bottom: auto; transform: translateY(-50%); text-align: center; font-size: 14px; }
.automation-v2-feature { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: 30px; margin-top: 28px; padding: clamp(20px, 3vw, 32px); border: 1px solid rgba(120, 130, 220, .19); border-radius: 14px; background: radial-gradient(circle at 85% 18%, rgba(118,92,242,.1), transparent 42%), linear-gradient(130deg, rgba(103,222,242,.035), rgba(255,255,255,.012)); }
.automation-v2-copy .project-meta { display: block; margin-bottom: 12px; color: var(--cyan); }
.automation-v2-copy h3 { margin: 0 0 10px; font-size: clamp(21px, 2.4vw, 28px); line-height: 1.25; font-weight: 500; letter-spacing: -.035em; }
.automation-v2-copy p { color: #9da5c0; font-size: 14px; line-height: 1.8; margin-bottom: 15px; }
.automation-v2-copy .tag-list { margin-bottom: 0; }
.automation-v2-flow { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px; }
.automation-v2-node { display: flex; flex-direction: column; gap: 5px; min-width: 105px; flex: 1 1 105px; padding: 13px 12px; border: 1px solid rgba(146,163,244,.24); border-radius: 9px; background: rgba(16, 21, 39, .88); }
.automation-v2-node small { color: var(--cyan); font-size: 10px; letter-spacing: .1em; }
.automation-v2-node strong { color: #e9ecff; font-size: 12px; line-height: 1.45; font-weight: 500; }
.automation-v2-arrow { color: #8a83ff; font-size: 21px; font-weight: 300; }
.whatsapp-float { background: #25D366; border-color: #25D366; color: #fff; box-shadow: 0 12px 35px rgba(37, 211, 102, .22), 0 12px 35px rgba(0,0,0,.25); }
.whatsapp-float svg { color: #fff; width: 25px; height: 25px; }
.whatsapp-float:hover, .whatsapp-float:focus-visible { color: #fff; background: #1fbd5a; border-color: #1fbd5a; transform: translateY(-2px); }
.back-to-top { border: 1px solid rgba(255,255,255,.5); background: var(--gradient); color: #080910; box-shadow: 0 10px 28px rgba(105, 126, 245, .28); transition: transform .2s ease, box-shadow .2s ease; }
.back-to-top:hover, .back-to-top:focus-visible { color: #080910; transform: translateY(-2px); box-shadow: 0 14px 34px rgba(105,126,245,.4); }
.help-popup > a { padding: 9px 14px; border-radius: 999px; color: #080910; background: var(--gradient); }
.help-popup > a span { color: #080910; }
@media (max-width: 1050px) {
  .projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .automation-v2-feature { grid-template-columns: 1fr; }
  .automation-v2-flow { justify-content: flex-start; }
}
@media (max-width: 720px) {
  .projects-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .project-art { min-height: 250px; }
  .project-info { padding: 22px; }
  .service-card { min-height: 0; padding: 22px 20px; }
  .service-card p { font-size: 15px; }
  .service-card .tag-list { gap: 7px; }
  .service-card .tag-list span { font-size: 12px; }
  .services-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .automation-v2-feature { gap: 20px; padding: 22px; }
  .automation-v2-flow { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .automation-v2-arrow { display: none; }
  .automation-v2-node { min-width: 0; }
}
@media (max-width: 560px) {
  .services-grid { grid-template-columns: minmax(0,1fr); }
  .service-card { min-height: 0; padding: 22px; }
  .service-top { margin-bottom: 15px; }
  .service-card h3 { font-size: 21px; }
  .service-card .card-link { margin-top: 14px; }
  .project-art { min-height: 215px; }
  .automation-v2-flow { grid-template-columns: 1fr; }
  .automation-v2-node { padding: 14px; }
  .header-cta { padding: 9px 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .header-cta, .whatsapp-float, .back-to-top { transition: none; }
}


/* SEO-focused long-form heading and standalone article listing. */
.hero h1#hero-title { max-width: 730px; font-size: clamp(34px, 4.35vw, 56px); line-height: 1.1; letter-spacing: -.052em; text-wrap: balance; }
@media (max-width: 720px) { .hero h1#hero-title { font-size: clamp(34px, 8.7vw, 47px); line-height: 1.08; max-width: 100%; } }
.blog-listing { padding-top: 0; padding-bottom: clamp(60px, 8vw, 100px); }
.blog-list-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.blog-index-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid rgba(164,176,235,.16); border-radius: 16px; background: linear-gradient(145deg, rgba(17,20,33,.98), rgba(11,13,22,.98)); box-shadow: 0 20px 50px rgba(0,0,0,.16); }
.blog-index-card .blog-visual { min-height: 190px; flex-shrink: 0; }
.blog-index-card .blog-details { display: flex; flex-direction: column; flex: 1; }
.blog-index-card .blog-details h2 { margin: 0 0 12px; color: #f0f2ff; font-size: clamp(20px, 2vw, 25px); line-height: 1.35; letter-spacing: -.035em; font-weight: 500; }
.blog-index-card .blog-details h2 a:hover { color: var(--cyan); }
.blog-index-card .blog-details p { color: #9da5c0; font-size: 14px; line-height: 1.85; }
.blog-index-card .read-link { margin-top: auto; padding-top: 16px; }
.article-page-hero { padding-bottom: 35px; }
.article-page-hero h1 { margin: 14px 0 20px; max-width: 980px; font-size: clamp(36px, 5.5vw, 64px); line-height: 1.1; letter-spacing: -.055em; font-weight: 600; text-wrap: balance; }
.article-page-hero .article-page-eyebrow { margin: 15px 0 0; color: var(--cyan); font-size: 11px; letter-spacing: .14em; font-weight: 600; }
.article-page-hero > p:not(.article-page-eyebrow) { max-width: 840px; }
.article-breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; padding-top: 0; padding-bottom: 18px; color: #838ba8; font-size: 12px; }
.article-breadcrumbs a { color: #b5bdd6; }
.article-breadcrumbs a:hover { color: var(--cyan); }
.blog-article-content h1 { margin: 0 0 16px; color: #f0f2ff; font-size: clamp(27px, 3vw, 37px); line-height: 1.27; letter-spacing: -.04em; font-weight: 500; }
.article-footer-nav { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px; padding: 10px 0 80px; }
.article-footer-nav .button { display: inline-flex; align-items: center; gap: 10px; }
/* Site-wide circular WhatsApp control, also available on article pages. */
.floating-actions { position: fixed; right: 22px; bottom: 22px; z-index: 70; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.whatsapp-float { position: relative; isolation: isolate; display: grid !important; place-items: center; box-sizing: border-box; width: 60px; height: 60px; min-width: 60px; min-height: 60px; padding: 0 !important; border-radius: 50% !important; overflow: visible; flex: 0 0 60px; font-size: 0 !important; line-height: 1; color: #fff !important; background: #25D366 !important; border: 2px solid #25D366 !important; box-shadow: 0 8px 24px rgba(37,211,102,.3), 0 10px 28px rgba(0,0,0,.28); }
.whatsapp-float::before, .whatsapp-float::after { content: ""; position: absolute; inset: -3px; z-index: 0; border: 2px solid rgba(37,211,102,.85); border-radius: 50%; pointer-events: none; animation: whatsapp-ring-pulse 2.4s ease-out infinite; }
.whatsapp-float::after { animation-delay: 1.2s; }
.whatsapp-float svg { position: relative; z-index: 1; display: block; width: 29px !important; height: 29px !important; flex: 0 0 29px; color: #fff !important; }
@keyframes whatsapp-ring-pulse { 0% { transform: scale(.88); opacity: .75; } 75%,100% { transform: scale(1.58); opacity: 0; } }
.whatsapp-float:hover, .whatsapp-float:focus-visible { color: #fff !important; background: #20c763 !important; border-color: #20c763 !important; transform: scale(1.04); }
.back-to-top { border: 1px solid rgba(117,228,245,.35); border-radius: 16px; width: 54px; height: 54px; display: grid; place-items: center; color: #fff; background: var(--gradient); box-shadow: 0 12px 32px rgba(103,222,242,.18), 0 12px 32px rgba(0,0,0,.3); cursor: pointer; }
.back-to-top[hidden] { display: none !important; }
.back-to-top-emoji { display: inline-block; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 25px; line-height: 1; filter: drop-shadow(0 2px 3px rgba(8,10,19,.22)); }
@media (max-width: 900px) { .blog-list-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .blog-list-grid { grid-template-columns: minmax(0,1fr); } .blog-index-card .blog-visual { min-height: 165px; } .article-page-hero h1 { font-size: clamp(34px, 9vw, 48px); } .article-footer-nav { align-items: flex-start; flex-direction: column; } .floating-actions { right: 12px; bottom: 12px; gap: 9px; } .whatsapp-float { width: 56px; height: 56px; min-width: 56px; min-height: 56px; flex-basis: 56px; } .whatsapp-float svg { width: 27px !important; height: 27px !important; flex-basis: 27px; } }
@media (prefers-reduced-motion: reduce) { .whatsapp-float::before, .whatsapp-float::after { animation: none !important; display: none; } .whatsapp-float, .back-to-top { transition: none !important; } }


/* Compact reCAPTCHA attribution; the Google badge is hidden because the required attribution remains visible beside the form. */
.recaptcha-disclosure {
  max-width: 480px;
  margin: 9px 0 0;
  color: var(--muted-2);
  font-size: 10px;
  line-height: 1.5;
  font-weight: 400;
}
.recaptcha-disclosure a {
  color: #a9b7f3;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.recaptcha-disclosure a:hover,
.recaptcha-disclosure a:focus-visible { color: var(--cyan); }
.grecaptcha-badge { visibility: hidden !important; }
@media (max-width: 560px) {
  .recaptcha-disclosure { font-size: 10px; line-height: 1.45; }
}
