/* BITFORCE About page — scoped to .about-page. */
.about-page { color: var(--text); background: var(--white); }
.about-page__breadcrumbs { padding: 15px 0; color: var(--muted); background: #f7fafc; border-bottom: 1px solid var(--border); font-size: 13px; }
.about-page__breadcrumbs .container { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.about-page__breadcrumbs a { color: var(--navy); text-decoration: none; }
.about-page__breadcrumbs a:hover, .about-page__breadcrumbs a:focus-visible { color: var(--teal); }

.about-page .about-page__hero { position: relative; isolation: isolate; overflow: hidden; padding: 0; background: linear-gradient(110deg, #fff 0%, #f8fcfd 48%, #edf8fb 100%); }
.about-page__hero::before { content: ""; position: absolute; z-index: 1; top: -28%; bottom: -28%; left: calc(43% + 18px); width: 270px; border: 34px solid rgba(190,231,242,.34); border-radius: 50%; box-shadow: 0 0 18px rgba(190,231,242,.2), inset 0 0 14px rgba(224,246,250,.24); filter: blur(1.5px); pointer-events: none; }
.about-page__hero-grid { display: grid; min-height: 620px; grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr); align-items: stretch; gap: 0; }
.about-page__hero-content { position: relative; z-index: 3; align-self: center; max-width: 650px; padding: 62px 56px 66px 0; }
.about-page__eyebrow, .about-page__kicker { margin: 0 0 13px; color: var(--teal); font-size: 13px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.about-page__eyebrow { display: flex; align-items: center; gap: 13px; }
.about-page__eyebrow::before { content: ""; width: 30px; height: 2px; background: currentColor; }
.about-page__hero h1 { max-width: 640px; margin: 0; color: var(--navy); font-size: clamp(3rem, 4.25vw, 4.3rem); line-height: .99; letter-spacing: -.052em; text-wrap: balance; }
.about-page__hero h1 span { display: block; color: var(--teal); }
.about-page__hero-content > p:not(.about-page__eyebrow) { max-width: 620px; margin: 20px 0 0; font-size: 17px; line-height: 1.65; }
.about-page__hero-content > p + p { margin-top: 12px; }
.about-page__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 30px; margin-top: 31px; }
.about-page__secondary-link { display: inline-flex; min-height: 48px; align-items: center; gap: 10px; padding: 7px 0 5px; color: var(--teal); border-bottom: 2px solid var(--teal); font-size: 16px; font-weight: 750; line-height: 1.2; text-decoration: none; transition: color .2s ease, border-color .2s ease, transform .2s ease; }
.about-page__secondary-link:hover { color: var(--navy); border-color: var(--navy); transform: translateY(-2px); }
.about-page__secondary-link:focus-visible { color: var(--navy); border-color: var(--navy); }
.about-page__hero-visual { position: relative; z-index: 0; min-width: 0; }
.about-page__image-frame { position: absolute; inset: 0; overflow: hidden; background: #eaf6fb; }
.about-page__image-frame::before { content: ""; position: absolute; z-index: 2; top: -14%; bottom: -14%; left: -155px; width: 300px; background: linear-gradient(90deg, rgba(248,252,253,.72) 18%, rgba(231,247,251,.58) 62%, rgba(231,247,251,0) 100%); border-radius: 50%; filter: blur(3px); pointer-events: none; }
.about-page__image-frame::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(248,252,253,.82) 0%, rgba(246,251,253,.66) 8%, rgba(242,250,252,.46) 17%, rgba(239,249,252,.28) 27%, rgba(238,249,252,.13) 37%, rgba(238,249,252,.04) 46%, rgba(238,249,252,0) 54%); pointer-events: none; }
.about-page__image-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 54% center; }

.about-page .about-page__section { padding: 92px 0; }
.about-page__two-column { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: clamp(48px, 8vw, 110px); }
.about-page__two-column h2, .about-page__section-header h2, .about-page__commitment h2, .about-page__contact h2 { margin: 0; color: var(--navy); font-size: clamp(2.15rem, 3.6vw, 3.5rem); line-height: 1.08; letter-spacing: -.04em; }
.about-page__prose { padding-left: 30px; border-left: 3px solid var(--teal-bright); }
.about-page__prose p { margin: 0; font-size: 17px; line-height: 1.75; }
.about-page__prose p + p { margin-top: 18px; }

.about-page__services { background: var(--light); }
.about-page__section-header { max-width: 780px; margin: 0 auto 48px; text-align: center; }
.about-page__section-header > p:last-child { margin: 17px auto 0; color: var(--muted); font-size: 17px; }
.about-page__service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.about-page__service-card { min-width: 0; padding: 29px; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: 0 8px 28px rgba(17,24,39,.045); }
.about-page__service-icon { display: grid; width: 56px; height: 56px; margin-bottom: 20px; place-items: center; color: var(--teal); background: var(--icon-bg); border-radius: 16px; }
.about-page__service-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.about-page__service-card h3 { margin: 0 0 10px; color: var(--navy); font-size: 19px; line-height: 1.3; }
.about-page__service-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }

.about-page__approach { color: rgba(255,255,255,.74); background: var(--navy); }
.about-page__section-header--light h2 { color: var(--white); }
.about-page__section-header--light > p:last-child { color: rgba(255,255,255,.68); }
.about-page__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.about-page__steps li { min-width: 0; padding: 29px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; }
.about-page__steps li > span { display: block; margin-bottom: 24px; color: var(--teal-bright); font-size: 13px; font-weight: 850; letter-spacing: .13em; }
.about-page__steps h3 { margin: 0 0 10px; color: var(--white); font-size: 19px; }
.about-page__steps p { margin: 0; font-size: 14px; line-height: 1.65; }

.about-page__commitment { background: var(--white); }
.about-page__commitment-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); align-items: center; gap: clamp(50px, 8vw, 110px); }
.about-page__commitment-grid > div > p:last-child { max-width: 730px; margin: 20px 0 0; font-size: 17px; line-height: 1.75; }
.about-page__commitment-list { display: grid; gap: 13px; margin: 0; padding: 28px; background: var(--light); border: 1px solid var(--border); border-radius: 22px; list-style: none; }
.about-page__commitment-list li { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 11px; color: var(--navy); font-size: 14px; font-weight: 700; }
.about-page__commitment-list span { display: grid; width: 32px; height: 32px; place-items: center; color: var(--teal); background: var(--icon-bg); border-radius: 9px; }

.about-page .about-page__contact { padding: 78px 0; color: rgba(255,255,255,.74); background: #0c1422; }
.about-page__contact-inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); align-items: center; gap: clamp(44px, 7vw, 90px); padding: 46px 50px; background: linear-gradient(135deg, rgba(8,181,197,.17), rgba(255,255,255,.045)); border: 1px solid rgba(255,255,255,.12); border-radius: 26px; }
.about-page__contact h2 { color: var(--white); }
.about-page__contact-copy > p:not(.about-page__kicker) { max-width: 760px; margin: 14px 0 25px; }
.about-page__contact-details { display: grid; gap: 11px; padding: 24px; font-style: normal; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.1); border-radius: 18px; }
.about-page__contact-details strong { color: var(--white); font-size: 14px; }
.about-page__contact-details a { color: rgba(255,255,255,.78); text-decoration: none; overflow-wrap: anywhere; }
.about-page__contact-details a:hover, .about-page__contact-details a:focus-visible { color: var(--teal-bright); }

@media (max-width: 980px) {
	.about-page .about-page__hero { padding: 58px 0 0; }
	.about-page__hero::before { display: none; }
	.about-page__hero-grid, .about-page__two-column, .about-page__commitment-grid, .about-page__contact-inner { grid-template-columns: 1fr; }
	.about-page__hero-grid { min-height: 0; gap: 42px; }
	.about-page__hero-content { max-width: 780px; }
	.about-page__hero-content { padding: 0; }
	.about-page__hero-visual { min-height: 430px; margin-inline: calc((100vw - 100%) / -2); }
	.about-page__image-frame::before { display: none; }
	.about-page__image-frame img { object-position: center; }
	.about-page__two-column, .about-page__commitment-grid, .about-page__contact-inner { gap: 34px; }
	.about-page__service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.about-page__contact-details { max-width: 620px; }
}

@media (max-width: 700px) {
	.about-page .about-page__hero { padding: 48px 0 0; }
	.about-page .about-page__section, .about-page .about-page__contact { padding: 62px 0; }
	.about-page__hero-grid { gap: 34px; }
	.about-page__hero h1 { max-width: 370px; font-size: clamp(2.6rem, 12vw, 3.35rem); line-height: 1; }
	.about-page__hero-content > p:not(.about-page__eyebrow) { font-size: 16px; }
	.about-page__actions { width: 100%; }
	.about-page__actions .btn, .about-page__secondary-link { width: 100%; justify-content: center; }
	.about-page__secondary-link { min-height: 52px; padding: 0 20px; border: 1px solid var(--teal); border-radius: 999px; }
	.about-page__hero-visual { min-height: 250px; }
	.about-page__image-frame img { object-position: 62% center; }
	.about-page__service-grid, .about-page__steps { grid-template-columns: 1fr; }
	.about-page__section-header { margin-bottom: 34px; }
	.about-page__service-card, .about-page__steps li { padding: 24px; }
	.about-page__prose { padding-left: 20px; }
	.about-page__commitment-list { padding: 22px; }
	.about-page__contact-inner { padding: 30px 24px; border-radius: 22px; }
	.about-page__contact-details { padding: 20px; }
}
