.nt-case-hero { position: relative; display: flex; align-items: center; box-sizing: border-box; height: 60vh; height: 60svh; padding: 36px 0; color: #fff; background: #102b43 url('../images/services/services-hero.webp') center / cover; }
.nt-case-hero::before { content: ''; position: absolute; inset: 0; background: rgb(5 20 33 / 57%); }
.nt-case-hero .container { position: relative; }
.nt-case-hero h1 { font-size: clamp(30px, 3.8vw, 56px); line-height: 1.15; letter-spacing: -1.2px; color: #fff; max-width: 1020px; margin: 22px 0; }
.nt-case-kicker { color: #c2d9eb; font-size: 11px; letter-spacing: 1.8px; text-transform: uppercase; }
.nt-case-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; color: #dce7ef; font-size: 12px; }
.nt-case-breadcrumb a { color: #fff; }
.nt-case-layout { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(260px, 1fr); gap: 56px; align-items: start; padding-block: 80px 90px; }
.nt-case-content { min-width: 0; }
.nt-case-photo { margin: 0 0 34px; }
.nt-case-photo img { display: block; width: 100%; height: auto; margin-inline: auto; }
.nt-case-content h2 { font-size: clamp(25px, 2.4vw, 34px); line-height: 1.25; letter-spacing: -.6px; margin: 0 0 22px; }
.nt-case-content p { font-size: 15px; line-height: 1.9; margin-bottom: 22px; }
.nt-case-content blockquote { margin: 34px 0; padding: 24px 28px; background: #f1f6fa; border-left: 3px solid var(--theme-color); color: #32516a; }
.nt-case-content blockquote p { margin: 0; font-size: 16px; line-height: 1.85; }
.nt-case-features { margin-block: 40px; padding-top: 30px; border-top: 1px solid #dce5ec; }
.nt-case-features ul { list-style: none; padding: 0; margin: 24px 0 0; }
.nt-case-features li { display: flex; align-items: baseline; gap: 16px; padding: 16px 0; border-bottom: 1px solid #e4ebf0; font-size: 14px; line-height: 1.7; }
.nt-case-features li span { font-size: 11px; color: var(--theme-color); font-weight: 700; flex: 0 0 20px; }
.nt-case-sidebar { display: grid; gap: 24px; }
.nt-case-facts { padding: 30px; border: 1px solid #dde6ed; border-top: 3px solid var(--theme-color); background: #f5f8fa; }
.nt-case-facts h2 { font-size: 21px; margin: 0 0 22px; }
.nt-case-facts > p { font-size: 13px; line-height: 1.8; }
.nt-case-facts dl { margin: 0; }
.nt-case-facts dl > div { border-top: 1px solid #dde5eb; padding: 18px 0; }
.nt-case-facts dl > div:last-child { padding-bottom: 0; }
.nt-case-facts dt { text-transform: uppercase; letter-spacing: 1.1px; font-size: 10px; color: #6b7f90; font-weight: 600; margin-bottom: 7px; }
.nt-case-facts dd { color: #153d5e; font-size: 15px; line-height: 1.6; font-weight: 600; margin: 0; }
.nt-case-enquiry { background: #0b3a65; color: #fff; padding: 30px; }
.nt-case-enquiry h2 { color: #fff; font-size: 27px; line-height: 1.2; margin: 0 0 16px; }
.nt-case-enquiry p { color: #cbdeec; font-size: 13px; line-height: 1.8; }
.nt-case-enquiry a { color: #fff; display: flex; justify-content: space-between; border-top: 1px solid #ffffff40; padding-top: 18px; font-size: 13px; }
.nt-case-related { padding: 24px 0; font-size: 13px; border-bottom: 1px solid #dce5ec; }
.nt-case-related span { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: #788997; margin-bottom: 10px; }
.nt-case-bottom-nav { border-block: 1px solid #dce5ec; padding: 30px 0; display: flex; justify-content: space-between; gap: 28px; margin-top: 44px; font-size: 13px; }
.nt-project-case-link { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #e4eaf0; margin-top: 22px; padding-top: 18px; font-size: 12px; font-weight: 600; }
.nt-case-page a:focus-visible { outline: 2px solid var(--theme-color); outline-offset: 5px; }
@media (min-width: 992px) { .nt-case-sidebar { position: sticky; top: 120px; max-height: calc(100dvh - 144px); overflow-y: auto; scrollbar-width: thin; } }
@media (max-width: 991px) { .nt-case-layout { grid-template-columns: 1fr; gap: 36px; padding-block: 56px; } .nt-case-sidebar { grid-template-columns: 1fr 1fr; } .nt-case-related { grid-column: 1 / -1; } }
@media (max-width: 575px) { .nt-case-sidebar { grid-template-columns: 1fr; } .nt-case-hero h1 { letter-spacing: -.6px; } .nt-case-content p { font-size: 14px; } .nt-case-bottom-nav { flex-direction: column; } }
