/* NCR PAGE - save as assets/css/ncr.css */
.ncr-hero, .ncr-cities, .ncr-routes, .ncr-why, .ncr-quote, .ncr-faq {
    --ink: #0F1113; --paper: #F8F9FA; --line: #E5E7EB;
    --grad: linear-gradient(135deg, #FF8A00 0%, #FF5500 100%);
    font-family: Arial, Helvetica, sans-serif; line-height: 1.55; color: var(--ink);
    padding: clamp(56px, 7vw, 100px) clamp(18px, 5vw, 64px);
}
.ncr-hero *, .ncr-cities *, .ncr-routes *, .ncr-why *, .ncr-quote *, .ncr-faq * { box-sizing: border-box }
.ncr-in { max-width: 1200px; margin: 0 auto }
.ncr-hero h1, .ncr-hero h2, .ncr-hero p, .ncr-head h2, .ncr-head p, .ncr-card h3, .ncr-card p, .ncr-why h3, .ncr-why p { margin: 0 }

/* hero */
.ncr-hero { background: radial-gradient(700px 400px at 90% 0%, rgba(255,138,0,.28), transparent 70%), #0F1113; color: #fff; text-align: center; padding-top: clamp(80px, 9vw, 130px) }
.ncr-eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 700 13px 'Josefin Sans', Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #FF8A00; background: rgba(255,138,0,.1); border: 1px solid rgba(255,138,0,.35); border-radius: 999px; padding: 7px 16px; margin-bottom: 20px }
.ncr-eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: var(--grad) }
.ncr-hero h1 { font: 700 clamp(36px, 6vw, 70px)/1.05 'Josefin Sans', Arial, sans-serif; letter-spacing: -.025em }
.ncr-hero h1 span, .ncr-head h2 span { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent }
.ncr-hero p { max-width: 680px; margin: 18px auto 0; color: #D3D6DB; font-size: 17px }
.ncr-cta { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 28px }
.ncr-ghost { color: #fff; border: 1px solid #4a4f58; background: rgba(255,255,255,.04) }
.ncr-ghost:hover { border-color: #FF5500; color: #fff }
.ncr-stats { list-style: none; margin: 44px auto 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 800px }
.ncr-stats li { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: 18px 10px }
.ncr-stats b { display: block; font: 700 28px 'Josefin Sans', Arial, sans-serif; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent }
.ncr-stats span { font-size: 13.5px; color: #AEB3BB }

/* headings */
.ncr-head { text-align: center; max-width: 680px; margin: 0 auto 44px }
.ncr-head h2 { font: 700 clamp(30px, 4.4vw, 46px)/1.1 'Josefin Sans', Arial, sans-serif; letter-spacing: -.025em }
.ncr-head p { color: #5b616b; margin-top: 12px; font-size: 16.5px }

/* city cards */
.ncr-cities { background: var(--paper) }
.ncr-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px }
.ncr-card { display: flex; flex-direction: column; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 28px 24px; text-decoration: none; color: inherit; box-shadow: 0 4px 15px rgba(0,0,0,.04); transition: transform .35s, box-shadow .35s, border-color .35s }
.ncr-card:hover { transform: translateY(-8px); border-color: #FFB070; box-shadow: 0 24px 50px rgba(15,17,19,.12), 0 30px 60px rgba(255,85,0,.1) }
.ncr-ico { width: 56px; height: 56px; border-radius: 14px; display: grid; place-items: center; background: var(--grad); box-shadow: 0 10px 22px rgba(255,85,0,.35); margin-bottom: 6px }
.ncr-ico svg { width: 28px; height: 28px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round }
.ncr-card h3 { font: 700 20px/1.2 'Josefin Sans', Arial, sans-serif }
.ncr-card p { font-size: 14.5px; color: #4a5059 }
.ncr-more { margin-top: auto; padding-top: 10px; display: inline-flex; align-items: center; gap: 6px; font: 700 15px 'Josefin Sans', Arial, sans-serif; color: #FF5500 }
.ncr-more svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; transition: transform .3s }
.ncr-card:hover .ncr-more svg { transform: translateX(5px) }

/* routes */
.ncr-routes { background: #fff }
.ncr-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center }
.ncr-chips li { font-weight: 700; font-size: 14.5px; background: #FFF4EA; border: 1px solid #FFE0C4; border-radius: 999px; padding: 9px 18px; color: #3d434b }

/* why */
.ncr-why { background: #0F1113; color: #fff }
.ncr-why .ncr-head h2 { color: #fff }
.ncr-whygrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px }
.ncr-whygrid div { background: rgba(43,47,54,.4); border: 1px solid rgba(255,255,255,.07); border-radius: 16px; padding: 26px 22px }
.ncr-why h3 { font: 700 20px 'Josefin Sans', Arial, sans-serif; margin-bottom: 8px }
.ncr-why p { color: #AEB3BB; font-size: 15px }

/* quote */
.ncr-quote { background: var(--paper) }
.ncr-qbox { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: clamp(24px, 4vw, 48px); box-shadow: 0 20px 50px rgba(15,17,19,.08) }
.ncr-qbox h2 { font: 700 clamp(26px, 3.4vw, 38px)/1.1 'Josefin Sans', Arial, sans-serif; margin: 0 0 12px }
.ncr-qbox p { color: #5b616b; margin: 0 0 20px }
.ncr-wa { background: #2B2F36; color: #fff }
.ncr-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px }
.ncr-form input, .ncr-form select { width: 100%; font: 15px Arial, sans-serif; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff }
.ncr-form input:focus, .ncr-form select:focus { outline: 0; border-color: #FF5500; box-shadow: 0 0 0 3px rgba(255,85,0,.15) }
.ncr-form button { grid-column: 1/-1; border: 0; cursor: pointer }

/* faq */
.ncr-faq { background: #fff }
.ncr-faq .ncr-in { max-width: 860px }
.ncr-faq details { border: 1px solid var(--line); border-radius: 12px; margin-bottom: 12px; padding: 0 22px; background: #fff }
.ncr-faq details[open] { border-color: #FF8A00; box-shadow: 0 14px 34px rgba(255,85,0,.1) }
.ncr-faq summary { cursor: pointer; padding: 18px 0; font: 700 18px 'Josefin Sans', Arial, sans-serif }
.ncr-faq details p { padding: 0 0 18px; color: #4b5058 }

@media (max-width: 1000px) { .ncr-grid, .ncr-whygrid { grid-template-columns: repeat(2, 1fr) } .ncr-qbox { grid-template-columns: 1fr } }
@media (max-width: 560px) { .ncr-grid, .ncr-whygrid, .ncr-form { grid-template-columns: 1fr } .ncr-stats { grid-template-columns: repeat(2, 1fr) } }
