.projects-main { overflow: hidden; }
.projects-hero { padding: 218px 0 64px; border-bottom: 1px solid #233241; background: linear-gradient(140deg, #0b1924, #080b10 70%); }
.projects-hero h1 { font-family: Manrope, sans-serif; font-size: clamp(3.2rem, 7vw, 6rem); font-weight: 500; line-height: 1.04; letter-spacing: -0.055em; margin: 20px 0; }
.projects-hero p { max-width: 680px; color: #bfcbd9; font-size: 1.13rem; margin: 0; }
.projects-jump { height: auto; justify-content: flex-start; flex-wrap: wrap; gap: 12px 24px; margin-top: 27px; }
.projects-jump a { font-size: 0.84rem; text-transform: uppercase; letter-spacing: 0.055em; border-bottom: 1px solid #416175; padding-bottom: 5px; }
.projects-jump a:hover { color: #65c7ff; }
.work-section { padding: 76px 0 68px; border-bottom: 1px solid #22303f; scroll-margin-top: 20px; }
.work-section:nth-of-type(3) { background: #0b131d; }
.work-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 42px; margin-bottom: 34px; }
.work-section h2 { max-width: 660px; font-family: Manrope, sans-serif; font-size: clamp(1.9rem, 3.6vw, 3rem); line-height: 1.12; font-weight: 500; letter-spacing: -0.035em; margin: 12px 0 0; }
.work-section-heading p { color: #b6c3d2; max-width: 340px; margin: 0; font-size: 0.95rem; }
.work-track { position: relative; display: flex; align-items: stretch; gap: 18px; width: 100%; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; touch-action: pan-x pan-y; scrollbar-width: thin; scrollbar-color: #3b687f #0a1018; padding-bottom: 14px; scroll-behavior: auto; }
.work-card { display: flex; flex-direction: column; flex: 0 0 min(540px, calc(100% - 28px)); min-width: 0; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden; border: 1px solid #2b3a4a; border-radius: 18px; background: #111b28; }
.work-photo { flex: 0 0 auto; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #091019; }
.work-photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.work-card figcaption { flex: 1; min-height: 142px; padding: 19px 22px 22px; }
.work-card h3 { font-family: Manrope, sans-serif; font-size: 1.15rem; font-weight: 600; line-height: 1.3; margin: 0 0 8px; }
.work-card figcaption p { color: #bcc9d8; font-size: 0.91rem; line-height: 1.6; margin: 0; }
.work-navigation { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px; margin-top: 22px; }
.work-navigation[hidden] { display: none; }
.work-navigation > p { margin: 0; color: #a9bbca; font-size: 0.86rem; }
.work-buttons { display: flex; align-items: center; gap: 13px; }
.work-buttons button { border: 1px solid #396583; border-radius: 99px; background: #101d2b; color: #e5f3ff; padding: 9px 15px; min-height: 42px; cursor: pointer; }
.work-buttons button:hover:not(:disabled) { background: #173448; }
.work-buttons button:disabled { opacity: 0.38; cursor: default; }
.work-progress { color: #bdd2e5; min-width: 42px; text-align: center; font-size: 0.88rem; }
.projects-contact { padding: 78px 0; text-align: center; background: #070c13; }
.projects-contact h2 { font-family: Manrope, sans-serif; font-weight: 500; font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -0.04em; line-height: 1.1; margin: 0 0 14px; }
.projects-contact p { color: #bdcad8; margin: 0 0 24px; }
.projects-contact address { display: flex; flex-direction: column; align-items: center; gap: 5px; font-style: normal; margin-top: 25px; overflow-wrap: anywhere; }
.projects-contact address a:hover { color: #65c7ff; }
.projects-teaser .projects-head { margin-bottom: 25px; }
.projects-teaser .section-title { font-size: clamp(2.4rem, 4.2vw, 4rem); }
@media (max-width: 800px) {
 .work-section-heading { display: block; }
 .work-section-heading p { max-width: 600px; margin-top: 18px; }
}
@media (max-width: 540px) {
 .projects-hero { padding: 163px 0 42px; }
 .projects-hero p { font-size: 1rem; }
 .projects-jump { margin-top: 23px; gap: 12px 19px; }
 .projects-jump a { font-size: 0.74rem; }
 .work-section { padding: 48px 0; }
 .work-section-heading { margin-bottom: 25px; }
 .work-track { gap: 14px; }
 .work-card { border-radius: 15px; }
 .work-card figcaption { padding: 15px 17px 18px; }
 .work-card h3 { font-size: 1.03rem; }
 .work-card figcaption p { font-size: 0.88rem; }
 .work-navigation { gap: 13px; margin-top: 16px; }
 .work-buttons { justify-content: space-between; width: 100%; }
 .projects-contact { padding: 56px 0; }
}
@media (prefers-reduced-motion: reduce) { .work-track { scroll-behavior: auto; } }
