.specialty-page { overflow-x: clip; background: var(--background-color); color: var(--text-primary); }
.specialty-container { width: min(calc(100% - 2rem), var(--fm-container)); margin-inline: auto; }
.specialty-hero { position: relative; display: flex; min-height: min(820px, 100svh); align-items: flex-end; overflow: hidden; padding: clamp(9rem, 17vw, 13rem) 0 clamp(4rem, 7vw, 6rem); background: radial-gradient(circle at 82% 30%, rgba(7, 155, 215, .22), transparent 30%), linear-gradient(140deg, #07182b, #0b2747 62%, #0b4a8c); color: #fff; isolation: isolate; }
.specialty-hero__grid { position: absolute; inset: 0; z-index: -1; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, #000, transparent 92%); }
.specialty-hero__content { position: relative; }
.specialty-eyebrow { margin-bottom: 1rem; color: #f58a34; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.specialty-hero h1 { max-width: 12ch; margin: 0; font-size: clamp(3rem, 7vw, 6.6rem); font-weight: 600; letter-spacing: -.065em; line-height: .92; text-wrap: balance; }
.specialty-hero p { max-width: 680px; margin: 1.6rem 0 0; color: #c0cede; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.75; }
.specialty-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.specialty-button--ghost { border: 1px solid rgba(255,255,255,.32) !important; color: #fff !important; }
.specialty-hero__meta { position: absolute; right: clamp(1rem, 3vw, 3rem); bottom: 1.5rem; display: flex; gap: 2rem; color: #91a9c2; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.specialty-section { padding-block: var(--fm-section-space); }
.specialty-section--soft { background: var(--surface-color); }
.specialty-section--dark { background: var(--fm-navy-950); color: #fff; }
.specialty-overview,.specialty-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.specialty-heading { max-width: 760px; margin-bottom: clamp(2rem, 5vw, 4rem); }
.specialty-section h2,.specialty-cta h2 { max-width: 14ch; margin: 0; font-size: clamp(2.25rem, 5vw, 4.6rem); font-weight: 600; letter-spacing: -.055em; line-height: 1; }
.specialty-overview > p,.specialty-split > div > p { margin: 0; color: var(--text-secondary); font-size: 1.08rem; line-height: 1.85; }
.specialty-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.specialty-card { min-height: 260px; padding: clamp(1.4rem, 2.8vw, 2.25rem); border: 1px solid var(--border-color); border-radius: var(--fm-radius-md); background: #fff; transition: transform var(--fm-duration) var(--fm-ease), border-color var(--fm-duration), box-shadow var(--fm-duration); }
.specialty-card:hover { transform: translateY(-3px); border-color: rgba(244,122,22,.45); box-shadow: var(--fm-shadow-sm); }
.specialty-card > span { color: var(--fm-orange-600); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.specialty-card h3 { margin: 3rem 0 .75rem; font-size: clamp(1.35rem, 2.5vw, 2rem); letter-spacing: -.035em; }
.specialty-card p { margin: 0; color: var(--text-secondary); line-height: 1.7; }
.specialty-list { border-top: 1px solid rgba(255,255,255,.17); }
.specialty-list div { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid rgba(255,255,255,.17); }
.specialty-list span { color: #f58a34; font-size: .72rem; }
.specialty-list strong { font-size: 1rem; font-weight: 500; }
.specialty-chips { display: flex; flex-wrap: wrap; gap: .75rem; }
.specialty-chips span { padding: .8rem 1rem; border: 1px solid var(--border-color); border-radius: 999px; background: var(--surface-color); color: var(--primary-color); font-weight: 600; }
.specialty-cta { padding-block: clamp(5rem, 10vw, 9rem); background: #eaf5fb; text-align: center; }
.specialty-cta h2,.specialty-cta p { margin-inline: auto; }
.specialty-cta p { max-width: 620px; margin-top: 1.25rem; color: var(--text-secondary); }
.specialty-cta .btn { margin-top: 1.5rem; }
@media (max-width: 767px) { .specialty-hero { min-height: 620px; padding-block: 8rem 4rem; } .specialty-hero__meta { display: none; } .specialty-overview,.specialty-split,.specialty-grid { grid-template-columns: 1fr; } .specialty-section { padding-block: clamp(3.5rem, 14vw, 5rem); } .specialty-card { min-height: 0; } }
@media (prefers-reduced-motion: reduce) { .specialty-card { transition: none; } }
