/* Busicus page families. Editorial content remains independent of presentation. */
:root { --bx-space-section:clamp(52px,6vw,88px); --bx-space-gap:clamp(28px,4vw,64px); --bx-surface:#f4f6fb; }
.bx-section,.bx-service-intro,.bx-service-needs,.bx-service-process,.bx-company-content,.bx-careers-content,.bx-legal-content,.bx-erp-introduction,.bx-erp-phases { padding-block:var(--bx-space-section); }
.bx-listing-hero,.bx-service-hero,.bx-company-hero,.bx-legal-hero,.bx-erp-hero,.bx-insights-hero { padding-block:clamp(52px,7vw,96px); }
.bx-listing-hero::after,.bx-insights-hero::after { opacity:.45; }
.bx-section-intro { margin-bottom:32px; }
.bx-layout-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:var(--bx-space-gap); align-items:start; }
.bx-layout-intro,.bx-layout-editorial { padding-block:var(--bx-space-section); }
.bx-layout-intro h2,.bx-sector-section h2,.bx-layout-close h2,.bx-approach-guide h2 { margin:0; font:600 clamp(30px,3.5vw,48px)/1.12 var(--bx-display); letter-spacing:-.055em; text-wrap:balance; }
.bx-layout-intro .bx-dynamic-copy > :first-child,.bx-layout-panel .bx-dynamic-copy > :first-child,.bx-sector-perspective .bx-dynamic-copy > :first-child,.bx-layout-close .bx-dynamic-copy > :first-child { margin-top:0; }
.bx-layout-intro .bx-dynamic-copy { font-size:16px; line-height:1.8; }
.bx-layout-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:27px; }
.bx-layout-actions .bx-button { gap:14px; white-space:normal; text-align:left; min-height:48px; }
.bx-button--outline { background:transparent; color:var(--bx-ink); border:1px solid #c1cbe0; }
.bx-button--outline:hover { background:#e9effe; color:var(--bx-blue); border-color:var(--bx-blue); }
.bx-layout-number { display:inline-flex; color:var(--bx-blue); font:700 13px/1.4 var(--bx-display); letter-spacing:.06em; }
.bx-layout-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.bx-layout-panel { min-width:0; padding:clamp(24px,3vw,42px); border:1px solid var(--bx-line); border-radius:18px; background:#fff; }
.bx-layout-panel:only-child { grid-column:1/-1; max-width:920px; width:100%; margin-inline:auto; }
.bx-layout-panel h2,.bx-sector-perspective h2,.bx-about-pillar h2 { margin:0 0 22px; font:600 clamp(25px,2.5vw,34px)/1.18 var(--bx-display); letter-spacing:-.045em; text-wrap:balance; }
.bx-layout-panel .bx-dynamic-copy,.bx-sector-perspective .bx-dynamic-copy { font-size:15px; line-height:1.8; }
.bx-layout-panel--solutions,.bx-layout-panel--questions { grid-column:1/-1; }
.bx-layout-panel--questions { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:var(--bx-space-gap); align-items:start; }
.bx-layout-panel--questions .bx-layout-questions { grid-column:2; }
.bx-layout-panel--questions h2 { grid-row:1; }
.bx-layout-final-actions { padding-bottom:var(--bx-space-section); }
.bx-layout-editorial { background:var(--bx-surface); }
.bx-layout-editorial + .bx-layout-final-actions { background:var(--bx-surface); }
.bx-dynamic-copy { overflow-wrap:anywhere; }
.bx-dynamic-copy > :last-child { margin-bottom:0; }

/* Industry: sector brief, scannable scope, questions, editorial perspectives. */
.bx-sector-hero { padding:40px 0 68px; background:#f0f3fb; border-bottom:1px solid #e0e6f2; }
.bx-sector-hero .bx-breadcrumb { margin-bottom:40px; }
.bx-sector-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(36px,6vw,90px); align-items:center; }
.bx-sector-hero h1 { margin:16px 0 24px; font:600 clamp(44px,5.4vw,76px)/1.03 var(--bx-display); letter-spacing:-.065em; text-wrap:balance; }
.bx-sector-description { max-width:59ch; color:var(--bx-slate); font-size:17px; line-height:1.75; }
.bx-sector-index { padding:24px 28px; border:1px solid #d5ddef; border-radius:18px; background:rgba(255,255,255,.8); box-shadow:0 15px 40px rgba(21,40,90,.035); }
.bx-sector-index > p { margin:0 0 16px; }
.bx-sector-index a { display:grid; grid-template-columns:22px 1fr 18px; align-items:center; gap:12px; padding:13px 0; border-top:1px solid #e0e6f2; color:#263552; font-size:13px; line-height:1.45; font-weight:650; transition:color .18s; }
.bx-sector-index a > span:first-child { color:var(--bx-blue); font-size:11px; }
.bx-sector-index a .bx-icon { width:16px; height:16px; }
.bx-sector-index a:hover { color:var(--bx-blue); }
.bx-sector-index a:hover .bx-icon { transform:translateX(3px); }
.bx-sector-section { padding-block:var(--bx-space-section); }
.bx-sector-section--solutions { background:#101b38; color:#fff; }
.bx-sector-section--solutions .bx-eyebrow { color:#a8bdff; }
.bx-sector-section--solutions h2 { max-width:680px; }
.bx-solution-tiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:32px 0 0; }
.bx-solution-tiles li { padding:25px; border:1px solid #d8e1f1; border-radius:12px; background:#f5f7fc; }
.bx-solution-tiles p { margin:16px 0 0; color:#263552; font-size:16px; line-height:1.65; }
.bx-sector-section--solutions .bx-solution-tiles li { background:#182544; border-color:#33415e; }
.bx-sector-section--solutions .bx-solution-tiles p { color:#e8efff; }
.bx-sector-section--solutions .bx-layout-number { color:#a8bdff; }
.bx-layout-questions { min-width:0; }
.bx-layout-question { border-top:1px solid #d3dced; }
.bx-layout-question:last-child { border-bottom:1px solid #d3dced; }
.bx-layout-question summary { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:22px 0; font:600 19px/1.4 var(--bx-display); cursor:pointer; list-style:none; }
.bx-layout-question summary::-webkit-details-marker { display:none; }
.bx-layout-question .bx-icon { width:18px; height:18px; flex-shrink:0; color:var(--bx-blue); transition:transform .2s; }
.bx-layout-question[open] .bx-icon { transform:rotate(45deg); }
.bx-layout-question > .bx-dynamic-copy { padding:0 22px 24px 0; font-size:15px; }
.bx-layout-question .bx-dynamic-copy > :first-child { margin-top:0; }
.bx-sector-perspectives { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding-block:0 var(--bx-space-section); }
.bx-sector-perspective { padding:32px; background:var(--bx-surface); border-radius:16px; border-top:3px solid var(--bx-blue); }
.bx-sector-perspective > .bx-layout-number { margin-bottom:25px; }
.bx-sector-perspective:only-child { grid-column:1/-1; }
.bx-layout-close { padding-block:var(--bx-space-section); border-top:1px solid var(--bx-line); background:#ecf1fe; }
.bx-layout-close-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--bx-space-gap); align-items:start; }
.bx-layout-close .bx-dynamic-copy { font-size:15px; }

/* Company and process are open editorial layouts, not repeated generic sections. */
.bx-about-pillars { padding-block:0 var(--bx-space-section); }
.bx-about-pillar { padding:38px; border:1px solid #dce4f3; border-radius:18px; background:#f1f5ff; }
.bx-about-pillar:nth-child(2) { background:#f6f7fa; }
.bx-about-pillar > .bx-layout-number { margin-bottom:24px; }
.bx-about-pillar .bx-dynamic-copy { font-size:15px; }
.bx-approach-roadmap { padding-block:var(--bx-space-section); background:var(--bx-surface); }
.bx-approach-guide { position:sticky; top:110px; }
.bx-approach-steps { margin:0; padding:0; list-style:none; }
.bx-approach-steps > li { display:grid; grid-template-columns:36px 1fr; gap:20px; padding:0 0 32px; margin-bottom:32px; border-bottom:1px solid #d6deed; }
.bx-approach-steps > li:last-child { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.bx-approach-steps .bx-layout-number { width:36px; height:36px; border-radius:50%; background:#e3ebff; align-items:center; justify-content:center; }
.bx-approach-steps h2 { margin:3px 0 20px; font:600 27px/1.2 var(--bx-display); letter-spacing:-.04em; }
.bx-approach-steps .bx-dynamic-copy { font-size:15px; }
.bx-approach-steps .bx-dynamic-copy > :first-child { margin-top:0; }

/* Service pages use actual delivery data in the hero; scope is the interactive detail. */
.bx-service-hero-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr); gap:clamp(35px,6vw,85px); }
.bx-service-brief { padding:30px; border:1px solid #35446c; border-radius:18px; background:#132144; }
.bx-service-brief-heading { display:flex; align-items:center; gap:18px; padding-bottom:22px; border-bottom:1px solid #35446c; }
.bx-service-brief-heading img { width:28px; height:43px; object-fit:contain; }
.bx-service-brief-heading p { margin:0; color:#d2ddfb; font-size:13px; font-weight:700; }
.bx-service-brief ol { list-style:none; margin:0; padding:0; }
.bx-service-brief li { display:grid; grid-template-columns:24px 1fr; gap:14px; padding:20px 0; border-bottom:1px solid #35446c; align-items:center; }
.bx-service-brief li > span { font-size:11px; color:#a9bbf4; }
.bx-service-brief li a { display:flex; justify-content:space-between; gap:14px; align-items:center; color:#fff; font-weight:650; font-size:16px; line-height:1.45; }
.bx-service-brief a .bx-icon { width:16px; height:16px; flex-shrink:0; }
.bx-service-brief a:hover { color:#b1c3ff; }
.bx-service-brief-link { display:flex; justify-content:space-between; gap:12px; margin-top:25px; color:#bccbfa; font-size:13px; line-height:1.6; }
.bx-service-intro-grid,.bx-faq-layout { gap:var(--bx-space-gap); }
.bx-service-overview { font-size:15px; }
.bx-deliverables { padding:26px; }
.bx-deliverables li h3 { font-size:14px; }
.bx-deliverables ul { gap:15px; }
.bx-scope-workspace-grid { grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr); gap:24px; }
.bx-scope-workspace fieldset { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bx-scope-option { padding:18px; gap:12px; }
.bx-scope-option strong { font-size:15px; }
.bx-scope-option span span { font-size:13px; }
.bx-service-needs .bx-section-intro { margin-bottom:24px; }
.bx-service-needs ol { margin-top:24px; }
.bx-page-guide .bx-shell { padding-block:12px; }

/* Reading, tool and legal pages retain their specialised controls and semantics. */
.bx-article-header { padding-block:clamp(45px,6vw,80px); }
.bx-article-prose { font-size:17px; line-height:1.85; }
.bx-article-prose h2 { margin-top:42px; }
.bx-article-prose h3 { margin-top:30px; }
.bx-article-toc { max-height:calc(100dvh - 140px); overflow:auto; scrollbar-width:thin; }
.bx-legal-nav { max-height:calc(100dvh - 140px); overflow:auto; scrollbar-width:thin; padding-right:12px; }
.bx-legal-nav nav a { padding-block:4px; }
.bx-document-tools:not([hidden]) { display:flex; flex-wrap:wrap; gap:8px; margin-block:4px 10px; }
.bx-document-tools button { min-height:40px; padding:8px 12px; border:1px solid #cbd6ee; border-radius:7px; background:#f3f6fd; color:#263b6a; font:600 12px/1.4 var(--bx-body); cursor:pointer; }
.bx-document-tools button:hover { background:#e6edff; border-color:var(--bx-blue); }
.bx-document-tools button:focus-visible { outline:3px solid #5479ff; outline-offset:3px; }
.bx-listing-group { scroll-margin-top:105px; }
.bx-legal-detail summary strong { font-size:23px; }
.bx-legal-detail-body { max-width:78ch; }
.bx-legal-detail-body .bx-dynamic-copy { line-height:1.85; }
.bx-planner-hero,.bx-seo-audit-hero { padding-block:clamp(52px,7vw,96px); }
.bx-industry-directory-grid { gap:20px; }
.bx-layout-panel:target,.bx-sector-section:target,.bx-sector-perspective:target,.bx-layout-close:target,.bx-layout-intro:target { scroll-margin-top:110px; }
.bx-layout-actions a:focus-visible,.bx-sector-index a:focus-visible,.bx-service-brief a:focus-visible,.bx-layout-question summary:focus-visible { outline:3px solid #5479ff; outline-offset:5px; border-radius:5px; }

@media(min-width:1500px) { .bx-sector-hero h1 { font-size:76px; } }
@media(max-width:1050px) { .bx-scope-workspace fieldset { grid-template-columns:1fr; } .bx-sector-hero-grid { gap:32px; } }
@media(max-width:900px) {
 .bx-sector-hero-grid,.bx-layout-split,.bx-layout-close-grid,.bx-service-hero-grid,.bx-layout-panel--questions { grid-template-columns:1fr; }
 .bx-layout-panel--questions .bx-layout-questions { grid-column:auto; }
 .bx-sector-hero { padding-bottom:48px; } .bx-sector-hero .bx-breadcrumb { margin-bottom:30px; }
 .bx-sector-index { padding:22px; } .bx-sector-index a { font-size:14px; }
 .bx-approach-guide { position:static; }
 .bx-scope-workspace-grid { grid-template-columns:1fr; }
 .bx-scope-workspace fieldset { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bx-sector-perspectives { gap:18px; }
 .bx-legal-nav,.bx-article-toc { max-height:none; }
}
@media(max-width:640px) {
 :root { --bx-space-section:48px; --bx-space-gap:26px; }
 .bx-layout-grid,.bx-sector-perspectives,.bx-solution-tiles,.bx-scope-workspace fieldset { grid-template-columns:1fr; }
 .bx-sector-hero { padding-top:28px; }
 .bx-sector-hero h1 { font-size:clamp(38px,10.6vw,54px); }
 .bx-sector-description { font-size:15px; }
 .bx-sector-index a { padding-block:14px; }
 .bx-sector-index { border-radius:12px; }
 .bx-layout-panel--questions { gap:8px; }
 .bx-layout-intro .bx-dynamic-copy { font-size:15px; }
 .bx-sector-perspective,.bx-about-pillar { padding:25px; }
 .bx-layout-actions { align-items:stretch; } .bx-layout-actions a { width:100%; justify-content:space-between; }
 .bx-solution-tiles li { padding:22px; } .bx-solution-tiles p { font-size:15px; }
 .bx-layout-question summary { font-size:18px; }
 .bx-approach-steps > li { grid-template-columns:28px 1fr; gap:14px; }
 .bx-approach-steps .bx-layout-number { width:28px; height:28px; font-size:11px; }
 .bx-approach-steps h2 { font-size:24px; }
 .bx-service-brief { padding:24px; } .bx-service-brief li { padding-block:17px; }
 .bx-article-prose { font-size:16px; line-height:1.8; }
 .bx-legal-detail summary strong { font-size:19px; }
 .bx-layout-panel:target,.bx-sector-section:target,.bx-sector-perspective:target,.bx-layout-close:target,.bx-layout-intro:target { scroll-margin-top:88px; }
}
@media(prefers-reduced-motion:reduce) { .bx-sector-index a,.bx-layout-question .bx-icon { transition:none; } .bx-sector-index a:hover .bx-icon { transform:none; } }
/* Busicus estimator: a focused decision, then a reviewable brief. */
.bx-calculator-hero { padding: 48px 0 30px; background: #f6f8ff; text-align: center; }
.bx-calculator-hero h1 { margin: 14px auto; font: 600 clamp(32px, 4vw, 54px)/1.12 var(--bx-display); letter-spacing: -.05em; }
.bx-calculator-hero .bx-shell > p:not(.bx-eyebrow) { max-width: 690px; margin: 0 auto; color: var(--bx-slate); font-size: 17px; }
.bx-calculator-promises { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; margin-top: 22px; color: #48597b; font-size: 12px; }
.bx-calculator-promises span::before { content: ''; display: inline-block; width: 6px; height: 6px; margin: 0 8px 2px 0; border-radius: 50%; background: var(--bx-blue); }
.bx-calculator-section.bx-section { padding: 12px 0 64px; background: #f6f8ff; }
.bx-calculator-section > .bx-shell { max-width: 1240px; }
.bx-calculator { padding: clamp(22px, 3.5vw, 48px); border-radius: 22px; scroll-margin-top: 115px; box-shadow: 0 16px 60px #10265209; }
.bx-calculator-top { display: flex; justify-content: space-between; gap: 20px; font-size: 11px; font-weight: 800; letter-spacing: .08em; color: #607091; margin-bottom: 22px; }
.bx-calculator .bx-planner-progress { grid-template-columns: repeat(6,minmax(0,1fr)); margin-bottom: 36px; gap: 12px; }
.bx-calculator .bx-planner-progress li { display: block; padding-top: 12px; border-top: 3px solid #e5e9f2; font-size: 12px; }
.bx-calculator .bx-planner-progress li.is-active, .bx-calculator .bx-planner-progress li.is-complete { border-color: var(--bx-blue); }
.bx-calculator .bx-planner-progress li::after, .bx-calculator .bx-planner-progress span { display: none; }
.bx-calculator .bx-step-heading h2 { font-size: clamp(26px,3vw,36px); letter-spacing: -.04em; line-height: 1.18; }
.bx-calculator .bx-step-heading { margin-bottom: 26px; }
.bx-calculator .bx-step-heading > p:not(.bx-eyebrow) { font-size: 15px; max-width: 760px; margin-top: 12px; }
.bx-calculator .bx-choice-card-body { min-height: 108px; align-items: center; padding: 24px; border-radius: 12px; background: #f7f9fd; }
.bx-calculator .bx-choice-card-body strong { font-size: 16px; font-weight: 600; }
.bx-calculator .bx-choice-grid { gap: 14px; }
.bx-calculator [data-planner-step="1"] .bx-choice-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.bx-calculator-hero .bx-eyebrow { justify-content: center; }
.bx-calculator .bx-choice-card > input:checked + .bx-choice-card-body { background: #edf2ff; box-shadow: inset 0 0 0 1px var(--bx-blue); }
.bx-calculator .bx-scope-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.bx-calculator .bx-scope-card { min-height: 112px; padding: 19px; }
.bx-calculator .bx-scope-card strong { font-size: 15px; }
.bx-calculator .bx-scope-card small { font-size: 12px; }
.bx-calculator .bx-scope-group > div:first-child > p:not(.bx-eyebrow) { display: none; }
.bx-calculator .bx-industry-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
.bx-calculator .bx-industry-options .bx-choice-card-body { min-height: 80px; padding: 17px; }
.bx-calculator .bx-industry-options strong { font-size: 14px; }
.bx-calculator .bx-planner-actions { flex-direction: row; flex-wrap: wrap; }
.bx-calculator .bx-planner-actions .bx-button { width: auto; }
.bx-calculator-help { margin-right: auto; font-size: 13px; color: var(--bx-blue); display: inline-flex; align-items: center; gap: 8px; }
.bx-calculator-review { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0,1fr); gap: 32px; align-items: start; }
.bx-calculator-review > div > h3 { margin: 0 0 20px; font: 600 23px/1.3 var(--bx-display); }
.bx-calculator .bx-planner-summary { position: static; border-radius: 16px; padding: 26px; box-shadow: none; background: #102048; }
.bx-calculator [data-planner-selected] { display: flex; flex-wrap: wrap; gap: 7px; margin: 15px 0; }
.bx-calculator .bx-planner-service-tag { font-size: 11px; }
.bx-calculator .bx-planner-disclaimer { font-size: 12px; color: #bdcae7; }
.bx-calculator .bx-estimate-line { display: grid; grid-template-columns: 1fr; gap: 6px; }
.bx-calculator .bx-estimate-line strong { font-size: 22px; overflow-wrap: anywhere; text-align: left; }
.bx-calculator-recap { margin-top: 20px; }
.bx-calculator-recap p { margin: 9px 0; color: #ccd6eb; font-size: 12px; line-height: 1.6; }
.bx-calculator-recap strong { color: #fff; }
.bx-calculator-note { color: var(--bx-slate); font-size: 13px; line-height: 1.7; margin: 12px 0 0; }
.bx-calculator [hidden] { display: none !important; }
.bx-calculator:not([data-planner-ready]) .bx-planner-step + .bx-planner-step { margin-top: 45px; }
.bx-calculator[data-planner-ready] .bx-planner-step.is-active { animation: bx-calculator-enter .2s ease-out; }
@keyframes bx-calculator-enter { from { opacity: .4; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media(max-width: 850px) {
  .bx-calculator [data-planner-step="1"] .bx-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bx-calculator-review { grid-template-columns: 1fr; }
  .bx-calculator .bx-scope-grid, .bx-calculator .bx-industry-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bx-calculator .bx-planner-progress strong { font-size: 10px; }
}
@media(max-width: 540px) {
  .bx-calculator [data-planner-step="1"] .bx-choice-grid { grid-template-columns: 1fr; }
  .bx-calculator-hero .bx-eyebrow { justify-content: flex-start; }
  .bx-calculator-hero { padding-top: 32px; text-align: left; }
  .bx-calculator-hero .bx-shell > p:not(.bx-eyebrow) { font-size: 15px; }
  .bx-calculator-promises { justify-content: flex-start; gap: 6px; }
  .bx-calculator-top { font-size: 9px; letter-spacing: 0; gap: 10px; }
  .bx-calculator .bx-planner-progress { gap: 5px; margin-bottom: 24px; }
  .bx-calculator .bx-planner-progress strong { display: none; }
  .bx-calculator .bx-planner-progress li { padding: 0; }
  .bx-calculator .bx-choice-grid, .bx-calculator .bx-scope-grid { grid-template-columns: 1fr; }
  .bx-calculator .bx-choice-card-body { min-height: 76px; padding: 18px; }
  .bx-calculator .bx-choice-card-body strong { font-size: 15px; }
  .bx-calculator-help { width: 100%; margin: 0 0 10px; }
  .bx-calculator .bx-planner-actions { gap: 10px; justify-content: space-between; }
  .bx-calculator .bx-planner-actions .bx-button { padding: 13px 16px; font-size: 13px; }
  .bx-calculator .bx-planner-summary { padding: 20px; }
  .bx-calculator .bx-form-grid { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion: reduce) { .bx-calculator[data-planner-ready] .bx-planner-step.is-active { animation: none; } }
/* Homepage brand promise: readable copy and useful service navigation. */
.bx-hero.bx-hero--brand { padding-block: clamp(44px,5vw,76px); background: #0b142b; }
.bx-hero--brand::after { display: none; }
.bx-hero--brand .bx-hero-layout { grid-template-columns: minmax(0,1.2fr) minmax(340px,.9fr); gap: clamp(40px,6vw,96px); }
.bx-hero--brand .bx-hero-copy { max-width: 720px; }
.bx-hero--brand h1 { margin-top: 22px; font-size: clamp(48px,4.6vw,72px); line-height: 1.08; letter-spacing: -.045em; text-wrap: balance; }
.bx-hero--brand h1 > span { display: block; }
.bx-hero--brand h1 > span:last-child { color: #b8caff; }
.bx-hero--brand .bx-hero-lead { max-width: 590px; margin-top: 24px; font-size: clamp(16px,1.2vw,18px); line-height: 1.7; color: #c4cde0; }
.bx-hero--brand .bx-hero-actions { margin-top: 28px; gap: 12px; }
.bx-hero--brand .bx-hero-actions .bx-button { min-height: 52px; }
.bx-hero--brand .bx-hero-caption { max-width: none; margin-top: 25px; padding-top: 0; border: 0; color: #a7b5d1; font-size: 12px; }
.bx-hero--brand .bx-eyebrow { font-size: 11px; letter-spacing: .12em; line-height: 1.6; }
.bx-brand-panel { position: relative; isolation: isolate; overflow: hidden; border: 1px solid #405caa; border-radius: 20px; padding: 26px; background: linear-gradient(145deg,#193c9d,#122960); }
.bx-brand-panel-image { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; opacity: .08; }
.bx-brand-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 3px 25px; }
.bx-brand-panel-heading span { font-size: 12px; font-weight: 800; letter-spacing: .17em; }
.bx-brand-panel-heading p { margin: 8px 0 0; font-size: 13px; color: #c4d3ff; }
.bx-brand-panel-heading img { width: 42px; height: 52px; object-fit: contain; }
.bx-brand-paths { display: grid; gap: 10px; }
.bx-brand-path { display: grid; grid-template-columns: 22px minmax(0,1fr) 20px; align-items: center; gap: 12px; min-height: 89px; padding: 18px 14px; color: #fff; background: #0a1d48a6; border: 1px solid #6075ad70; border-radius: 10px; transition: background .18s ease,border-color .18s ease; }
.bx-brand-path strong { display: block; font-size: 16px; font-weight: 650; line-height: 1.3; }
.bx-brand-path small { display: block; margin-top: 7px; font-size: 11px; line-height: 1.65; color: #beccec; }
.bx-brand-path-number { font-size: 11px; color: #a9c0ff; align-self: start; padding-top: 2px; }
.bx-brand-path .bx-icon { width: 18px; transition: transform .18s ease; }
.bx-brand-path:hover { color: #fff; background: #203e7a; border-color: #aec5ff; }
.bx-brand-path:hover .bx-icon { transform: translateX(3px); }
.bx-brand-path:focus-visible { outline: 3px solid #d4e0ff; outline-offset: 3px; }
.bx-brand-panel-note { margin: 18px 3px 0; color: #c4d1ee; font-size: 11px; line-height: 1.6; }
@media (max-width: 1050px) {
  .bx-hero--brand .bx-hero-layout { grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); gap: 30px; }
  .bx-hero--brand h1 { font-size: clamp(40px,4.8vw,50px); }
  .bx-brand-panel { padding: 20px; }
}
@media (max-width: 760px) {
  .bx-hero--brand .bx-hero-layout { grid-template-columns: 1fr; gap: 32px; }
  .bx-hero--brand .bx-hero-copy { max-width: 640px; }
  .bx-hero--brand h1 { font-size: clamp(34px,7.9vw,52px); }
  .bx-hero--brand .bx-hero-lead { max-width: 570px; }
  .bx-brand-panel { max-width: 640px; }
  .bx-brand-path { min-height: 76px; }
}
@media (max-width: 480px) {
  .bx-hero.bx-hero--brand { padding-block: 34px; }
  .bx-hero--brand .bx-eyebrow { font-size: 9px; letter-spacing: .08em; }
  .bx-hero--brand h1 { margin-top: 17px; font-size: clamp(32px,8.4vw,40px); letter-spacing: -.04em; }
  .bx-hero--brand .bx-hero-lead { margin-top: 19px; font-size: 16px; line-height: 1.65; }
  .bx-hero--brand .bx-hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 24px; }
  .bx-hero--brand .bx-hero-actions .bx-button { justify-content: center; min-height: 48px; }
  .bx-hero--brand .bx-hero-caption { margin-top: 19px; font-size: 11px; }
  .bx-brand-panel-heading { padding-bottom: 18px; }
  .bx-brand-panel-heading img { width: 30px; height: 38px; }
  .bx-brand-path { padding: 14px 12px; gap: 8px; grid-template-columns: 17px minmax(0,1fr) 16px; }
  .bx-brand-path strong { font-size: 14px; }
  .bx-brand-path small { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { .bx-brand-path,.bx-brand-path .bx-icon { transition: none; } }
/* Introduce the work first; client partnerships support it further down. */
.bx-build-intro { background: #fff; }
.bx-build-heading { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(260px,.8fr); align-items: end; gap: 60px; margin-bottom: 34px; }
.bx-build-heading h2 { max-width: 650px; margin: 13px 0 0; font: 600 clamp(30px,3.2vw,46px)/1.13 var(--bx-display); letter-spacing: -.045em; }
.bx-build-heading > p { max-width: 490px; margin: 0; font-size: 16px; line-height: 1.75; color: var(--bx-slate); }
.bx-build-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid #dbe2ef; border-radius: 16px; overflow: hidden; }
.bx-build-card { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(24px,2.5vw,36px); background: #f8faff; }
.bx-build-card + .bx-build-card { border-left: 1px solid #dbe2ef; }
.bx-build-number { color: #2851c5; font-size: 12px; font-weight: 750; }
.bx-build-card h3 { margin: 22px 0 14px; max-width: 280px; font: 600 clamp(22px,2vw,28px)/1.18 var(--bx-display); letter-spacing: -.035em; }
.bx-build-card > p { margin: 0 0 26px; color: #53627e; font-size: 15px; line-height: 1.75; }
.bx-build-card > a { margin-top: auto; font-size: 13px; padding-block: 8px; }
.bx-build-next { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 24px; padding: 22px 0 0; }
.bx-build-next > p { max-width: 700px; color: #53627e; margin: 0; font-size: 14px; line-height: 1.7; }
.bx-build-next > a { flex-shrink: 0; font-size: 13px; }
.bx-client-logos.bx-client-logos--portfolio { padding: 64px 0; background: #f6f8fc; }
.bx-client-logos--portfolio > .bx-shell { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1.8fr); gap: clamp(30px,5vw,72px); align-items: center; }
.bx-client-logos--portfolio .bx-client-logos-head { display: block; margin: 0; padding: 0; border: 0; }
.bx-client-logos--portfolio .bx-client-logos-head h2 { font-size: clamp(27px,2.5vw,35px); line-height: 1.18; letter-spacing: -.04em; }
.bx-client-logos--portfolio .bx-client-logos-head > p { margin-top: 18px; font-size: 14px; }
.bx-client-logos--portfolio .bx-eyebrow { font-size: 10px; }
.bx-client-logos--portfolio .bx-client-logo-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; background: #fff; border: 1px solid #e1e6f0; border-radius: 12px; overflow: hidden; }
.bx-client-logos--portfolio .bx-client-logo { min-height: 92px; padding: 17px; background: #fff; border: 0; border-radius: 0; box-shadow: none; transform: none; }
.bx-client-logos--portfolio .bx-client-logo::after { display: none; }
.bx-client-logos--portfolio .bx-client-logo img { height: 46px; max-width: 142px; opacity: 1; transform: none; }

/* Partner marks are presented as a single quiet gallery, with a focused response to the pointer. */
.bx-client-logos--portfolio .bx-client-logo-grid { gap: 1px; background: #dfe6f5; }
.bx-client-logos--portfolio .bx-client-logo { isolation: isolate; }
.bx-client-logos--portfolio .bx-client-logo::before { position: absolute; inset: 0; z-index: 0; content: ""; background: radial-gradient(150px circle at var(--bx-surface-x, 50%) var(--bx-surface-y, 50%), rgba(36,87,255,.14), transparent 78%); opacity: 0; transition: opacity .25s ease; pointer-events: none; }
.bx-client-logos--portfolio .bx-client-logo:is(:hover,:focus-within) { z-index: 1; background: #fff; box-shadow: inset 0 0 0 1px #9db3ff, 0 9px 24px rgba(16,44,129,.1); transform: none; }
.bx-client-logos--portfolio .bx-client-logo:is(:hover,:focus-within)::before { opacity: 1; }
.bx-client-logos--portfolio .bx-client-logo:is(:hover,:focus-within) img { transform: scale(1.075); }

/* The contact signature sits in the layout, never behind the contact links or form. */
.bx-contact-signature { --bx-surface-x: 50%; --bx-surface-y: 50%; --bx-mark-x: 0px; --bx-mark-y: 0px; position: relative; isolation: isolate; max-width: 420px; min-height: 180px; margin-top: 28px; padding: 19px 22px 18px; overflow: hidden; border: 1px solid rgba(177,195,255,.27); border-radius: 16px; background: radial-gradient(230px circle at var(--bx-surface-x) var(--bx-surface-y), rgba(86,125,255,.24), transparent 82%), linear-gradient(135deg, #1b2e67, #101c40 72%); box-shadow: inset 0 1px rgba(255,255,255,.08), 0 15px 35px rgba(0,0,0,.12); }
.bx-contact-signature::before { position: absolute; inset: 0; z-index: -1; content: ""; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(110deg, transparent 5%, #000 95%); pointer-events: none; }
.bx-contact-signature-top { display: flex; justify-content: space-between; gap: 10px; color: #cbd7ff; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.bx-contact-signature-top span:last-child { color: #96aeff; white-space: nowrap; }
.bx-contact-signature-body { display: flex; align-items: center; gap: 22px; margin-top: 19px; }
.bx-contact-signature-emblem { position: relative; display: grid; width: 76px; height: 76px; flex: 0 0 76px; place-items: center; border: 1px solid rgba(190,209,255,.46); border-radius: 50%; background: radial-gradient(circle at 35% 26%, rgba(255,255,255,.25), rgba(36,87,255,.28) 62%, rgba(11,25,83,.65)); box-shadow: 0 0 0 8px rgba(104,140,255,.09), inset 0 0 22px rgba(255,255,255,.13); }
.bx-contact-signature-emblem::after { position: absolute; inset: -10px; content: ""; border: 1px solid rgba(170,193,255,.2); border-radius: 50%; pointer-events: none; }
.bx-contact-signature-emblem img { display: block; width: 32px; height: 49px; object-fit: contain; transform: translate(var(--bx-mark-x), var(--bx-mark-y)); transition: transform .28s ease-out; }
.bx-contact-signature-body strong { display: block; font-family: var(--bx-display); font-size: clamp(17px, 1.45vw, 21px); font-weight: 600; line-height: 1.16; letter-spacing: -.04em; }
.bx-contact-signature-body p { margin: 8px 0 0; color: #b8c9ff; font-size: 10px; font-weight: 800; letter-spacing: .035em; }
.bx-contact-signature-rule { height: 1px; margin-top: 20px; background: rgba(186,204,255,.26); }
.bx-contact-signature-rule i { display: block; width: 31%; height: 1px; background: #aac1ff; transition: width .36s ease; }
.bx-contact-signature:hover .bx-contact-signature-rule i { width: 100%; }

.bx-service-visual > img { transform: translate(calc(-50% + var(--bx-mark-x, 0px)), calc(-50% + var(--bx-mark-y, 0px))); transition: transform .28s ease-out; }
.bx-service-visual::before { position: absolute; inset: 0; content: ""; background: radial-gradient(190px circle at var(--bx-surface-x, 50%) var(--bx-surface-y, 50%), rgba(255,255,255,.55), transparent 85%); pointer-events: none; }
.bx-service-visual-orb { transition: margin .28s ease-out; margin-left: var(--bx-orb-x, 0px); margin-top: var(--bx-orb-y, 0px); }
.bx-brand .bx-logo-image { transition: transform .24s ease, filter .24s ease; }
.bx-brand:is(:hover,:focus-visible) .bx-logo-image { transform: translateY(-2px); filter: drop-shadow(0 6px 10px rgba(36,87,255,.17)); }
.bx-marquee-mark img { transition: transform .25s ease; }
.bx-marquee:hover .bx-marquee-mark img { transform: scale(1.14); }
@media (max-width: 520px) {
  .bx-contact-signature { max-width: none; min-height: 158px; padding: 17px; }
  .bx-contact-signature-body { gap: 17px; }
  .bx-contact-signature-emblem { width: 65px; height: 65px; flex-basis: 65px; }
  .bx-contact-signature-emblem img { width: 27px; height: 43px; }
}
@media (prefers-reduced-motion: reduce) {
  .bx-contact-signature-emblem img, .bx-contact-signature-rule i, .bx-service-visual > img, .bx-service-visual-orb, .bx-brand .bx-logo-image, .bx-marquee-mark img { transition: none; }
}
@media(max-width:1000px) {
  .bx-client-logos--portfolio > .bx-shell { grid-template-columns: 1fr; gap: 30px; }
  .bx-client-logos--portfolio .bx-client-logos-head { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: end; }
}
@media(max-width:760px) {
  .bx-build-heading { grid-template-columns: 1fr; gap: 19px; }
  .bx-build-grid { grid-template-columns: 1fr; }
  .bx-build-card + .bx-build-card { border-left: 0; border-top: 1px solid #dbe2ef; }
  .bx-build-card h3 { max-width: none; margin-top: 14px; }
  .bx-build-next { align-items: flex-start; flex-direction: column; gap: 12px; }
  .bx-client-logos--portfolio .bx-client-logo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .bx-client-logos.bx-client-logos--portfolio { padding: 44px 0; }
  .bx-client-logos--portfolio .bx-client-logos-head { display: block; }
  .bx-client-logos--portfolio .bx-client-logo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bx-client-logos--portfolio .bx-client-logo { min-height: 78px; padding: 15px; }
  .bx-client-logos--portfolio .bx-client-logo img { height: 40px; }
}

/* Busicus motion: connected work, clear direction and immediate feedback. */
:root { --bx-motion-fast: 180ms; --bx-motion-enter: 520ms; --bx-motion-ease: cubic-bezier(.2,.75,.25,1); }
.bx-brand-signal { margin: -12px 3px 22px; }
.bx-brand-signal svg { display: block; width: 100%; height: auto; overflow: visible; }
.bx-signal-base { stroke: #728dcc; stroke-opacity: .4; stroke-width: 1; }
.bx-signal-trace { stroke: #a9c5ff; stroke-width: 2; stroke-dasharray: 32 400; stroke-linecap: round; animation: bx-signal-flow 7s linear infinite; }
.bx-signal-node { fill: #173376; stroke: #a9c5ff; stroke-width: 2; transition: fill var(--bx-motion-fast), stroke var(--bx-motion-fast); }
.bx-brand-signal > div { display: flex; justify-content: space-between; gap: 8px; color: #c4d3ff; font-size: 10px; letter-spacing: .035em; }
.bx-brand-panel:has(.bx-brand-path:nth-child(1):is(:hover,:focus-visible)) .bx-signal-node:nth-of-type(1),
.bx-brand-panel:has(.bx-brand-path:nth-child(2):is(:hover,:focus-visible)) .bx-signal-node:nth-of-type(2),
.bx-brand-panel:has(.bx-brand-path:nth-child(3):is(:hover,:focus-visible)) .bx-signal-node:nth-of-type(3) { fill: #fff; stroke: #fff; }
.bx-brand-panel:is(:hover,:focus-within) .bx-signal-trace { animation-play-state: paused; }
.bx-brand-path:focus-visible { background: #203e7a; border-color: #aec5ff; }
.bx-build-card { position: relative; transition: background var(--bx-motion-fast); }
.bx-build-card::after, .bx-process-step::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: var(--bx-blue); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--bx-motion-ease); pointer-events: none; }
.bx-build-card:focus-within { background: #eef3ff; }
.bx-build-card:focus-within::after { transform: scaleX(1); }
.bx-process-step { position: relative; }
.bx-process-step::before { background: #92a7ff; }
.bx-process-step.bx-arrived::before { transform: scaleX(1); }
.bx-button:active:not(:disabled), .bx-direct-contact a:active { transform: translateY(1px); }
.bx-button:focus-visible .bx-icon, .bx-text-link:focus-visible .bx-icon, .bx-direct-contact a:focus-visible .bx-icon { transform: translateX(3px); }
.bx-direct-contact .bx-icon { transition: transform var(--bx-motion-fast) var(--bx-motion-ease); }
.bx-field label { transition: color var(--bx-motion-fast); }
.bx-field:focus-within label { color: var(--bx-blue); }
.bx-footer-bottom { align-items: center; flex-wrap: wrap; }
.bx-marquee:hover .bx-marquee-track { animation-play-state: paused; }
@keyframes bx-signal-flow { from { stroke-dashoffset: 32; } to { stroke-dashoffset: -400; } }
@keyframes bx-menu-enter { from { opacity: .5; translate: 0 -6px; } to { opacity: 1; translate: 0 0; } }
@keyframes bx-drawer-enter { from { translate: 24px 0; opacity: .7; } to { translate: 0 0; opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .bx-mega:not([hidden]) { animation: bx-menu-enter 180ms var(--bx-motion-ease); }
  .bx-drawer:not([hidden]) { animation: bx-drawer-enter 220ms var(--bx-motion-ease); }
}
@media (hover:hover) and (pointer:fine) {
  .bx-build-card:hover { background: #eef3ff; }
  .bx-build-card:hover::after { transform: scaleX(1); }
  .bx-direct-contact a:hover .bx-icon { transform: translateX(3px); }
  .bx-layout-question, .bx-sector-perspective { transition: border-color var(--bx-motion-fast), background var(--bx-motion-fast); }
  .bx-layout-question:hover, .bx-sector-perspective:hover { border-color: #a2b5e5; }
  .bx-insight-card-media img { transition: transform .5s var(--bx-motion-ease); }
  .bx-insight-card:hover .bx-insight-card-media img { transform: scale(1.025); }
}
html[data-bx-motion="off"] *, html[data-bx-motion="off"] *::before, html[data-bx-motion="off"] *::after {
  animation-play-state: paused !important; transition-duration: 0s !important; scroll-behavior: auto !important;
}
html[data-bx-motion="off"] .bx-mega, html[data-bx-motion="off"] .bx-drawer, html[data-bx-motion="off"] .bx-planner-step,
html[data-bx-motion="off"] .bx-path-panel, html[data-bx-motion="off"] .bx-scope-note li, html[data-bx-motion="off"] .bx-delivery-step > div { animation: none !important; }
@media (prefers-reduced-motion: reduce) { .bx-signal-trace { animation: none; stroke-dasharray: none; opacity: .35; } }
@media print { .bx-brand-signal { display: none !important; } }

/* Website development: campaign visitors can scan scope and buying questions. */
.bx-website-service .bx-section, .bx-website-service .bx-service-intro { padding-block: clamp(52px, 5vw, 80px); }
.bx-website-service .bx-service-hero { padding-block: clamp(42px, 5vw, 72px); }
.bx-website-types { background: #f3f6fc; }
.bx-website-type-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.bx-website-type { padding: 26px; border: 1px solid #dce4f3; border-radius: 14px; background: #fff; }
.bx-website-type h3 { margin: 16px 0 12px; font: 600 clamp(20px,1.7vw,25px)/1.22 var(--bx-display); letter-spacing: -.035em; }
.bx-website-type > p { margin: 0; color: var(--bx-slate); font-size: 14px; line-height: 1.75; }
.bx-website-budget { background: #f3f6fc; }
.bx-website-budget-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(28px,6vw,90px); }
.bx-website-budget h2 { margin: 14px 0 24px; font: 600 clamp(30px,3.4vw,46px)/1.1 var(--bx-display); letter-spacing: -.05em; }
.bx-website-budget-grid > div > p:not(.bx-eyebrow) { margin: 0 0 20px; color: var(--bx-slate); font-size: 15px; line-height: 1.85; }
.bx-website-service .bx-scope-option { padding: 18px; }
.bx-website-service .bx-faq > p { line-height: 1.85; }
@media(max-width:1000px) { .bx-website-type-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .bx-website-type-grid, .bx-website-budget-grid { grid-template-columns: minmax(0,1fr); } .bx-website-type { padding: 22px; } }

/* Proof on the website-development page: real projects first, wider client base second. */
.bx-website-portfolio { background: #fff; }
.bx-website-portfolio .bx-section-intro { margin-bottom: clamp(24px,3.5vw,42px); }
.bx-website-project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.bx-website-project { display: flex; flex-direction: column; min-width: 0; min-height: 460px; padding: clamp(20px,2.1vw,28px); border: 1px solid #dce4f3; border-radius: 14px; background: #f9fbff; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.bx-website-project-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: #365598; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.bx-website-project-index { color: #8498c0; }
.bx-website-project-sector { text-align: right; }
.bx-website-project-preview { display: block; overflow: hidden; margin: 18px 0 20px; border: 1px solid #dce4f3; border-radius: 9px; background: #fff; text-decoration: none; }
.bx-website-preview-chrome { display: flex; align-items: center; justify-content: space-between; gap: 13px; height: 29px; padding: 0 11px; border-bottom: 1px solid #e6ebf5; color: #61718e; font-size: 10px; font-weight: 650; }
.bx-website-preview-chrome > span:nth-child(2) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bx-website-preview-dots { flex: 0 0 5px; width: 5px; height: 5px; margin-right: 18px; border-radius: 50%; background: #bbc8dc; box-shadow: 9px 0 #bbc8dc,18px 0 #bbc8dc; }
.bx-website-project-preview > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; transition: transform .35s ease; }
.bx-website-project-preview:focus-visible { outline: 3px solid #2457ff; outline-offset: 3px; }
.bx-website-project-logo { display: flex; align-items: center; justify-content: center; min-height: 100px; margin: 22px 0 18px; padding: 16px; border: 1px solid #e6ebf5; border-radius: 9px; background: #fff; }
.bx-website-project-logo img { display: block; width: auto; height: auto; max-width: min(100%,190px); max-height: 70px; object-fit: contain; }
.bx-website-project-wordmark { color: #1b2842; font: 700 clamp(19px,2vw,25px)/1.15 var(--bx-display); letter-spacing: -.035em; text-align: center; }
.bx-website-project-copy h3 { margin: 0 0 8px; color: #172338; font: 650 clamp(19px,1.65vw,23px)/1.2 var(--bx-display); letter-spacing: -.035em; }
.bx-website-project-copy p { margin: 0; color: #586783; font-size: 14px; line-height: 1.65; }
.bx-website-project-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 22px; color: #214bc5; font-size: 13px; font-weight: 750; text-decoration: none; overflow-wrap: anywhere; }
.bx-website-project-link > span:last-child { display: grid; place-items: center; flex: 0 0 31px; width: 31px; height: 31px; border: 1px solid #cbd8fb; border-radius: 50%; font-size: 18px; transition: background .2s ease, color .2s ease; }
.bx-website-project-link:hover > span:last-child, .bx-website-project-link:focus-visible > span:last-child { color: #fff; background: #2457ff; }
.bx-website-portfolio-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 20px; padding: 25px clamp(20px,2.1vw,28px); border: 1px solid #dce4f3; border-radius: 12px; background: #f3f6fc; }
.bx-website-portfolio-cta p { max-width: 610px; margin: 0; color: #334562; font-size: 15px; line-height: 1.6; }
.bx-website-portfolio-cta .bx-button { flex-shrink: 0; }
.bx-website-client-band { display: grid; grid-template-columns: minmax(180px,.55fr) minmax(0,1.45fr); align-items: start; gap: clamp(24px,4vw,56px); margin-top: clamp(42px,5vw,68px); padding-top: clamp(30px,3.5vw,44px); border-top: 1px solid #dce4f3; }
.bx-website-client-band h3 { margin: 11px 0 0; max-width: 220px; color: #172338; font: 600 clamp(23px,2.4vw,31px)/1.17 var(--bx-display); letter-spacing: -.04em; }
.bx-website-client-band ul { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.bx-website-client-band li { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 75px; padding: 12px; border: 1px solid #e6ebf5; border-radius: 8px; background: #fff; }
.bx-website-client-band img { display: block; width: auto; height: auto; max-width: 100%; max-height: 45px; object-fit: contain; }
@media (hover:hover) and (pointer:fine) { .bx-website-project:hover { transform: translateY(-3px); border-color: #b7c8ee; background: #f5f8ff; } .bx-website-project-preview:hover > img { transform: scale(1.02); } }
@media (max-width:1000px) { .bx-website-project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .bx-website-client-band { grid-template-columns: 1fr; } .bx-website-client-band h3 { max-width: none; } }
@media (max-width:640px) { .bx-website-project-grid { grid-template-columns: minmax(0,1fr); } .bx-website-project { min-height: 0; } .bx-website-portfolio-cta { flex-direction: column; align-items: flex-start; } .bx-website-client-band ul { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width:400px) { .bx-website-client-band ul { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (prefers-reduced-motion: reduce) { .bx-website-project, .bx-website-project-link > span:last-child, .bx-website-project-preview > img { transition: none; } }
