/* Forge4Biz company presentation. Existing product and form styles remain shared. */
.company-hero { background: var(--brand-navy); color: #fff; position: relative; overflow: hidden; }
.company-hero::before { content: ''; position: absolute; width: 720px; height: 720px; right: -140px; top: -160px; border-radius: 50%; background: radial-gradient(circle, #36435555, transparent 67%); pointer-events: none; }
.company-hero-grid { display: grid; grid-template-columns: 1.04fr 1fr; align-items: center; gap: 48px; padding-top: 88px; padding-bottom: 88px; position: relative; }
.company-kicker { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: .6px; color: #d4dae2; }
.company-kicker > span { width: 7px; height: 7px; background: var(--brand-lime); border-radius: 50%; }
.company-hero h1 { font-size: clamp(40px, 4.6vw, 59px); line-height: 1.1; letter-spacing: -2.8px; font-weight: 800; margin: 24px 0; }
.company-hero h1 em { color: var(--brand-lime); font-style: normal; }
.company-tagline { font-size: 15px; line-height: 1.7; font-weight: 700; color: #e8ebef; margin-bottom: 20px; }
.company-lead { font-size: 16px; line-height: 1.85; max-width: 480px; color: #c4d5df; margin-bottom: 28px; }
.company-hero .hero-actions { gap: 12px; flex-wrap: wrap; }
.company-hero .button { font-size: 13px; padding: 14px 18px; }
.company-hero .button-light { background: transparent; border-color: #6c8598; color: #fff; }
.company-hero .button-light:hover { background: #ffffff12; }
.company-availability { color: #bdcfd9; font-size: 12px; line-height: 1.7; margin: 22px 0 0; max-width: 420px; }
.software-showcase { background: #ffffff; color: var(--brand-navy); padding: 23px; border: 1px solid #dbdfe4; border-radius: 22px; box-shadow: 0 30px 80px #020d1e55; min-width: 0; }
.showcase-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid var(--border-subtle); }
.showcase-wordmark { font-family: var(--font-heading); font-size: 13px; letter-spacing: -.5px; font-weight: 800; }
.showcase-wordmark > span { color: var(--brand-teal); }
.showcase-label { background: var(--surface-muted); border: 1px solid var(--border-subtle); color: #526777; border-radius: 6px; padding: 5px 8px; font-size: 10px; }
.showcase-heading { padding: 22px 0; }
.showcase-overline { font-size: 10px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1.4px; font-weight: 700; }
.showcase-heading h2 { font-size: 26px; line-height: 1.25; letter-spacing: -.9px; margin: 10px 0 0; }
.showcase-apps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.showcase-app { background: #f7f8fa; border: 1px solid #e3e6ea; border-radius: 12px; padding: 15px 12px 12px; display: flex; flex-direction: column; min-width: 0; transition: border-color .2s, background .2s; }
.showcase-app:hover { border-color: var(--brand-teal); background: #eff2f5; }
.showcase-app-head { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800; line-height: 1.4; }
.showcase-app-head > svg:first-child { width: 16px; height: 16px; flex-shrink: 0; color: var(--brand-teal); }
.showcase-app-head > svg:last-child { width: 12px; height: 12px; margin-left: auto; flex-shrink: 0; color: #526777; }
.showcase-purpose { font-size: 10px; color: var(--text-secondary); line-height: 1.6; margin-top: 8px; min-height: 32px; }
.concept-chart, .concept-workflow, .concept-project, .concept-fleet { height: 55px; display: flex; margin-top: 10px; align-items: center; }
.concept-chart { align-items: flex-end; gap: 7px; border-bottom: 1px solid #ced4db; padding: 0 7px; }
.concept-chart i { background: #91a3ba; border-radius: 3px 3px 0 0; flex: 1; height: 36%; }
.concept-chart i:nth-child(2) { height: 53%; }.concept-chart i:nth-child(3) { height: 45%; }.concept-chart i:nth-child(4) { height: 74%; }.concept-chart i:nth-child(5) { height: 61%; }.concept-chart i:nth-child(6) { height: 89%; }.concept-chart i:last-child { height: 100%; background: #323f51; }
.concept-workflow { justify-content: center; gap: 5px; }
.concept-workflow i { display: grid; place-items: center; border-radius: 8px; width: 31px; height: 31px; background: #e4e9f4; color: #506089; }
.concept-workflow svg { width: 15px; height: 15px; }.concept-workflow b { flex: 1; height: 2px; background: #cad5e4; max-width: 20px; }
.concept-project { flex-direction: column; justify-content: center; gap: 8px; align-items: stretch; }
.concept-project i { height: 8px; border-radius: 3px; background: #dcc7a8; width: 73%; }.concept-project i:nth-child(2) { background: #c1a27d; width: 54%; margin-left: 17%; }.concept-project i:last-child { width: 60%; margin-left: 30%; background: #9e7950; }
.concept-fleet { justify-content: space-around; color: #765c89; }.concept-fleet > svg { width: 32px; height: 32px; }.concept-fleet i { border-top: 2px dashed #cebfd8; flex: 1; margin: 0 12px; }
.showcase-caption { font-size: 10px; line-height: 1.7; color: var(--text-secondary); margin: 16px 0 0; }
.company-intro { border-bottom: 1px solid var(--border-subtle); background: #fff; }
.company-intro-inner { display: flex; align-items: center; gap: 40px; padding-top: 26px; padding-bottom: 26px; }
.company-intro-inner > p { font-size: 12px; line-height: 1.7; color: var(--text-secondary); margin: 0; flex-shrink: 0; padding-right: 36px; border-right: 1px solid var(--border-subtle); }.company-intro-inner strong { color: var(--brand-navy); }
.company-intro-inner > div { display: flex; flex: 1; justify-content: space-between; gap: 20px; flex-wrap: wrap; }.company-intro-inner span { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 600; color: var(--text-secondary); }.company-intro-inner svg { height: 18px; width: 18px; color: var(--brand-teal); }
.company-section-heading { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 60px; margin-bottom: 38px; }
.company-section-heading h2, .tailored-section h2, .company-faq h2, .company-contact h2 { font-size: clamp(29px, 3.25vw, 40px); line-height: 1.2; letter-spacing: -1.5px; margin: 16px 0 0; }
.company-section-heading > p { font-size: 15px; line-height: 1.85; color: var(--text-secondary); margin: 0; max-width: 420px; }
.challenge-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.challenge-grid article { border-top: 1px solid var(--border-subtle); padding-top: 24px; }
.challenge-icon { display: inline-flex; color: var(--brand-teal); margin-bottom: 16px; }.challenge-icon svg { width: 24px; height: 24px; }
.challenge-grid h3 { font-size: 18px; letter-spacing: -.45px; line-height: 1.4; margin-bottom: 12px; }.challenge-grid p { font-size: 14px; line-height: 1.8; color: var(--text-secondary); margin-bottom: 0; }
.company-products { background: var(--surface-muted); border-block: 1px solid var(--border-subtle); }
.company-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.company-product-card { display: flex; flex-direction: column; border: 1px solid var(--border-subtle); background: #fff; border-radius: 16px; padding: 30px; min-width: 0; }
.company-product-top { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 22px; }
.company-product-top .product-icon { flex-shrink: 0; margin: 0; }.company-product-top .product-badge { color: #405869; background: #f4f5f6; border: 1px solid #dadee3; font-size: 11px; font-weight: 600; text-align: center; }
.product-icon.build { background: #f5ebdc; color: #865e2f; }.company-product-top .product-icon.requests { background: #e8edf8; color: #526487; }.company-product-top .product-icon.fleet { background: #efe7f6; color: #795990; }
.product-category { color: var(--text-secondary); font-size: 12px; font-weight: 600; line-height: 1.5; }
.product-icon.list { background: #e6f1fc; color: #275e8a; }
.product-icon.care { background: #fbe8ec; color: #944356; }
.product-icon.people { background: #e8ebf0; color: #364456; }
.company-product-card h3 { font-size: 25px; line-height: 1.3; letter-spacing: -.8px; margin: 10px 0 14px; }
.company-product-card p { font-size: 15px; line-height: 1.8; color: var(--text-secondary); margin-bottom: 24px; max-width: 410px; }.company-product-card .icon-link { margin-top: auto; font-size: 13px; }
.product-range-note { color: var(--text-secondary); font-size: 12px; line-height: 1.8; max-width: 730px; margin: 24px 0 0; }
.product-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: auto; }
.product-card-actions .button { font-size: 14px; padding: 12px 16px; }
.product-card-actions .icon-link, .company-product-card .product-card-actions .icon-link { margin-top: 0; }
.preview-private { display: block; color: #405869; font-size: 14px; line-height: 1.6; }
.tailored-section { background: #fff; }.tailored-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center; }
.tailored-section h2 { margin-bottom: 24px; }.tailored-section p { color: var(--text-secondary); line-height: 1.85; font-size: 15px; }.tailored-section .button { margin-top: 14px; }
.tailored-ideas { border-radius: 18px; background: var(--brand-navy); color: #fff; padding: 32px; }
.tailored-note { display: block; color: var(--brand-lime); font-size: 12px; font-weight: 700; padding-bottom: 22px; }
.tailored-ideas > div { display: flex; gap: 18px; padding: 22px 0; border-top: 1px solid #405568; }.tailored-ideas > div:last-child { padding-bottom: 0; }.tailored-ideas > div > svg { width: 24px; height: 24px; color: var(--brand-lime); flex-shrink: 0; margin-top: 3px; }.tailored-ideas h3 { font-size: 17px; margin-bottom: 8px; }.tailored-ideas p { color: #c4d5df; font-size: 14px; margin: 0; line-height: 1.7; }
.company-approach { background: var(--surface-muted); }
.company-process { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.company-process li { position: relative; border-top: 1px solid #cbd0d7; padding-top: 22px; }.company-process li > span { display: inline-block; color: var(--brand-teal); font-size: 13px; font-weight: 800; letter-spacing: 1px; margin-bottom: 22px; }.company-process h3 { font-size: 19px; margin-bottom: 12px; }.company-process p { color: var(--text-secondary); font-size: 14px; line-height: 1.8; margin: 0; }
.founder-note { display: flex; align-items: center; gap: 18px; padding-top: 28px; margin-top: 36px; border-top: 1px solid var(--border-subtle); }.founder-note > svg { flex-shrink: 0; color: var(--brand-teal); width: 24px; height: 24px; }.founder-note p { flex: 1; margin: 0; color: var(--text-secondary); line-height: 1.75; font-size: 13px; }.founder-note strong { color: var(--brand-navy); }.founder-note .icon-link { font-size: 12px; }
.company-faq-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; }.company-faq .faq-list { max-width: none; margin: 0; }.company-faq details { border-radius: 0; border-width: 0 0 1px; background: transparent; padding: 0 0 20px; margin-bottom: 20px; }.company-faq summary { padding: 0 25px 0 0; font-size: 15px; }.company-faq details p { font-size: 14px; line-height: 1.85; }
.company-contact { padding-top: 0; }.company-contact-panel { background: var(--brand-navy); padding: 46px; border-radius: 20px; color: #fff; display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 48px; }.company-contact-panel .eyebrow { color: var(--brand-lime); }.company-contact-panel .eyebrow::before { background: var(--brand-lime); }.company-contact-panel p { color: #c4d5df; font-size: 15px; line-height: 1.8; max-width: 480px; margin: 20px 0 0; }.company-contact-actions { display: flex; flex-direction: column; align-items: center; gap: 18px; }.company-contact-actions > span { color: #c4d5df; font-size: 11px; text-align: center; line-height: 1.7; }.company-email { display: inline-flex; gap: 9px; align-items: center; font-size: 15px; color: #f0f3f6; text-decoration: underline; text-underline-offset: 4px; }.company-email svg { width: 17px; height: 17px; }.footer-email { color: var(--brand-lime); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
[id] { scroll-margin-top: 95px; }
@media (max-width: 1000px) {
  .company-hero-grid { gap: 28px; padding-block: 64px; }.company-hero h1 { font-size: 46px; }.software-showcase { padding: 18px; }.company-section-heading { gap: 40px; }.tailored-grid, .company-faq-grid { gap: 40px; }.showcase-app-head { font-size: 10px; }.showcase-app-head > svg:last-child { display: none; }.company-intro-inner { gap: 24px; }.company-intro-inner > p { padding-right: 24px; }.company-intro-inner > div { gap: 14px; }
}
@media (max-width: 780px) {
  .company-hero-grid { grid-template-columns: 1fr; gap: 36px; padding-block: 48px; }.company-hero h1 { font-size: clamp(40px, 7vw, 55px); }.company-lead { max-width: 580px; }.software-showcase { max-width: 570px; width: 100%; }.showcase-app-head { font-size: 12px; }.showcase-app-head > svg:last-child { display: block; }.company-intro-inner { flex-direction: column; align-items: stretch; gap: 20px; }.company-intro-inner > p { border: 0; padding: 0; }.company-intro-inner > p br { display: none; }.company-intro-inner > div { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.company-section-heading, .tailored-grid, .company-faq-grid, .company-contact-panel { grid-template-columns: 1fr; gap: 24px; }.company-section-heading > p { max-width: 580px; }.challenge-grid, .company-process { grid-template-columns: 1fr 1fr; gap: 30px; }.company-product-card { padding: 24px; }.company-contact-actions { align-items: flex-start; }.company-contact-panel { padding: 32px; }.founder-note { flex-wrap: wrap; }.founder-note .icon-link { margin-left: 42px; }
}
@media (max-width: 520px) {
  .company-hero h1 { font-size: 40px; letter-spacing: -1.9px; }.company-tagline { font-size: 13px; }.company-lead { font-size: 15px; }.company-hero .hero-actions { flex-direction: column; }.company-hero .button { width: 100%; }.software-showcase { padding: 18px 14px; border-radius: 16px; }.showcase-heading h2 { font-size: 24px; }.showcase-apps { gap: 8px; }.showcase-app { padding: 12px 9px; }.showcase-app-head { font-size: 10px; gap: 5px; }.showcase-app-head > svg:last-child { display: none; }.showcase-app-head > svg:first-child { width: 13px; height: 13px; }.showcase-purpose { font-size: 10px; min-height: 48px; }.concept-workflow { gap: 3px; }.concept-workflow i { width: 25px; height: 25px; }.concept-workflow b { min-width: 3px; }.company-product-grid { grid-template-columns: 1fr; }.company-section-heading { margin-bottom: 28px; }.company-section-heading h2, .tailored-section h2, .company-faq h2, .company-contact h2 { font-size: 30px; letter-spacing: -1.1px; }.challenge-grid, .company-process { gap: 26px 18px; }.challenge-grid h3 { font-size: 16px; }.challenge-grid p, .company-process p { font-size: 13px; }.company-product-card { padding: 24px; }.company-product-card h3 { font-size: 24px; }.company-product-top { gap: 12px; }.company-product-top .product-badge { font-size: 10px; }.tailored-ideas { padding: 26px; }.company-faq-grid { gap: 28px; }.company-contact-panel { padding: 28px 24px; }.company-contact-actions { align-items: stretch; }.company-email { justify-content: center; font-size: 14px; }.company-contact-actions > span { font-size: 10px; }.founder-note { align-items: flex-start; }.founder-note p { min-width: 180px; }
}
@media (max-width: 360px) {
  .company-hero h1 { font-size: 35px; }.showcase-apps { grid-template-columns: 1fr; }.showcase-purpose { min-height: 0; }.showcase-app-head { font-size: 12px; }.showcase-app-head > svg:last-child { display: block; }.concept-chart, .concept-workflow, .concept-project, .concept-fleet { height: 42px; }.challenge-grid, .company-process { grid-template-columns: 1fr; }.company-product-top { align-items: flex-start; }.company-product-top .product-badge { max-width: 140px; }.company-intro-inner span { font-size: 11px; }
}

/* Current development portfolio status, shared by every public route. */
.portfolio-banner{background:#ebeff3;color:#212a35;border-bottom:1px solid #bcc6d4;padding:16px 0;font-size:15px;line-height:1.65}.portfolio-banner .container{display:flex;align-items:baseline;gap:10px 24px}.portfolio-banner strong{flex:0 0 auto;font-size:16px}.portfolio-banner span{max-width:920px}@media(max-width:700px){.portfolio-banner .container{display:block}.portfolio-banner strong{display:block;margin-bottom:4px}}


/* The workplace questions from the Forge4Biz founder card, shown as text clouds. */
.challenge-bubbles{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 24px}
.challenge-bubbles article{position:relative;display:flex;align-items:center;justify-content:center;min-height:155px;text-align:center;padding:26px 24px;border:1px solid #d4e8ed;border-radius:40% 36% 43% 32% / 37% 44% 37% 41%;background:linear-gradient(145deg,#eef9ff,#e3f5fa);box-shadow:0 10px 26px rgba(16,37,59,.045)}
.challenge-bubbles article:nth-child(even){background:linear-gradient(145deg,#fff9ef,#ffeddc);border-color:#f6ddc0}
.challenge-bubbles article:nth-child(3n){background:linear-gradient(145deg,#f3f5f8,#e8ecf1);border-color:#d6dce4}
.challenge-bubbles article:after{content:"";position:absolute;bottom:-5px;left:25%;width:12px;height:12px;border-radius:50%;background:#deeff3;box-shadow:-13px 13px 0 -3px #e7f5f8}
.challenge-bubbles article:nth-child(even):after{background:#fae6cd;box-shadow:-13px 13px 0 -3px #fcf0e1}
.challenge-bubbles article:nth-child(3n):after{background:#dde3ea;box-shadow:-13px 13px 0 -3px #eceff3}
.challenge-bubbles h3{font-size:clamp(17px,1.6vw,21px);font-weight:800;line-height:1.35;letter-spacing:-.35px;color:var(--brand-navy);margin:0;max-width:27ch}
.challenge-foundation{margin-top:49px;padding:28px 30px;border:1px solid var(--border-subtle);border-radius:18px;background:var(--surface-muted)}
.challenge-foundation-title{font-family:var(--font-heading);font-size:19px;font-weight:800;line-height:1.35;color:var(--brand-navy);margin:0 0 18px}
.challenge-foundation-terms{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 19px}
.challenge-foundation-terms span{display:inline-flex;align-items:center;border:1px solid #ced6e0;background:#fff;padding:9px 14px;border-radius:100px;color:#2c3745;font-size:12px;font-weight:700}
.challenge-foundation-note{color:var(--text-secondary);font-size:13px;line-height:1.8;margin:0}
.challenge-foundation-note a{color:#2e3a49;font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.challenge-bubbles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.challenge-bubbles{grid-template-columns:1fr;gap:24px}.challenge-bubbles article{min-height:115px;border-radius:32px;padding:23px 26px}.challenge-bubbles h3{font-size:17px;max-width:34ch}.challenge-foundation{padding:22px 19px;margin-top:36px}}
@media(prefers-reduced-motion:reduce){.challenge-bubbles article{transition:none}}
