/* Net4Courier "Learn More" product page (Views/Home/LearnMore.cshtml). Stand-alone: it loads no other
   stylesheet and no CDN. Colours follow the sign-in page (net4-auth.css). */
@font-face {
    font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap;
    src: url('../fonts/InterVariable.woff2') format('woff2');
}
@font-face {
    font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 200 800; font-display: swap;
    src: url('../fonts/PlusJakartaSans.woff2') format('woff2');
}

:root {
    --n4l-navy: #0a0e1f;
    --n4l-navy-2: #141b3a;
    --n4l-ink: #0f172a;
    --n4l-body: #475569;
    --n4l-line: #e2e8f0;
    --n4l-tint: #f5f7fb;
    --n4l-accent: #2563eb;
    --n4l-gold: #f6a821;
    --n4l-on-dark: #c3cce0;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; -webkit-text-size-adjust: 100%; }
body.n4l {
    margin: 0; background: #fff; color: var(--n4l-body);
    font: 16px/1.6 'Inter', -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
.n4l h1, .n4l h2, .n4l h3 {
    margin: 0; color: var(--n4l-ink); font-family: 'Plus Jakarta Sans', 'Inter', "Segoe UI", Arial, sans-serif;
    letter-spacing: -.02em; line-height: 1.15;
}
.n4l p { margin: 0; }
.n4l a { color: inherit; }
.n4l :focus-visible { outline: 3px solid var(--n4l-gold); outline-offset: 2px; border-radius: 4px; }
.n4l-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 32px; }

/* ---- Buttons ---- */
.n4l-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 46px; padding: 0 22px; border-radius: 10px; border: 1px solid transparent;
    font-size: 14.5px; font-weight: 650; text-decoration: none; white-space: nowrap;
    transition: background .15s, border-color .15s, color .15s;
}
.n4l-btn svg { width: 16px; height: 16px; }
.n4l .n4l-btn-gold { background: var(--n4l-gold); color: #1c1403; }
.n4l .n4l-btn-gold:hover { background: #ffb938; }
.n4l .n4l-btn-ghost { border-color: rgba(255,255,255,.32); color: #fff; }
.n4l .n4l-btn-ghost:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.55); }
.n4l .n4l-btn-line { min-height: 40px; padding: 0 16px; font-size: 13.5px; border-color: var(--n4l-line); color: var(--n4l-ink); }
.n4l .n4l-btn-line:hover { border-color: var(--n4l-accent); color: var(--n4l-accent); }
.n4l-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

/* ---- Top bar ---- */
.n4l-nav { position: sticky; top: 0; z-index: 10; background: #fff; border-bottom: 1px solid var(--n4l-line); }
.n4l-nav-in { display: flex; align-items: center; gap: 28px; height: 68px; }
.n4l-logo { display: inline-flex; margin-right: auto; }
.n4l-logo img { display: block; height: 40px; width: auto; }
.n4l-links { display: flex; gap: 26px; }
.n4l-links a { font-size: 14px; font-weight: 550; color: var(--n4l-body); text-decoration: none; }
.n4l-links a:hover { color: var(--n4l-accent); }

/* ---- Hero ---- */
.n4l-hero { background: var(--n4l-navy); background: linear-gradient(135deg, var(--n4l-navy), var(--n4l-navy-2)); color: var(--n4l-on-dark); }
.n4l-hero-in {
    display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 64px; align-items: center;
    padding-top: 72px; padding-bottom: 72px;
}
.n4l-eyebrow { color: var(--n4l-gold); font-size: 14px; font-weight: 700; letter-spacing: .02em; }
.n4l .n4l-hero h1 { margin-top: 14px; color: #fff; font-size: clamp(36px, 4.6vw, 56px); font-weight: 800; line-height: 1.08; }
.n4l-lead { margin-top: 20px !important; max-width: 36em; font-size: 18px; line-height: 1.6; }

.n4l-journey {
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); border-radius: 16px; padding: 28px 30px;
}
.n4l .n4l-journey h2 { color: #fff; font-size: 20px; font-weight: 700; }
.n4l-journey > p { margin-top: 4px; font-size: 14px; }
.n4l-journey ol { list-style: none; margin: 20px 0 0; padding: 0; }
.n4l-journey li { position: relative; padding: 0 0 15px 26px; }
.n4l-journey li:last-child { padding-bottom: 0; }
.n4l-journey li::before {
    content: ""; position: absolute; left: 0; top: 6px; width: 11px; height: 11px; border-radius: 50%;
    background: var(--n4l-gold);
}
.n4l-journey li:not(:last-child)::after {
    content: ""; position: absolute; left: 5px; top: 21px; bottom: -2px; width: 1px; background: rgba(255,255,255,.26);
}
.n4l-journey b { display: block; color: #fff; font-size: 14.5px; font-weight: 650; line-height: 1.4; }
.n4l-journey span { display: block; font-size: 13px; line-height: 1.45; }

/* ---- Facts band ---- */
.n4l-facts { border-bottom: 1px solid var(--n4l-line); }
.n4l-facts-in { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.n4l-facts-in > div { padding: 28px 24px; border-left: 1px solid var(--n4l-line); }
.n4l-facts-in > div:first-child { border-left: 0; padding-left: 0; }
.n4l-facts b { display: block; color: var(--n4l-ink); font: 800 32px/1.1 'Plus Jakarta Sans', 'Inter', Arial, sans-serif; letter-spacing: -.02em; }
.n4l-facts span { display: block; margin-top: 6px; font-size: 13.5px; line-height: 1.45; }

/* ---- Sections ---- */
.n4l-sec { padding: 84px 0; }
.n4l-sec-tint { background: var(--n4l-tint); }
.n4l-head { max-width: 680px; margin-bottom: 44px; }
.n4l-kicker { color: var(--n4l-accent); font-size: 13.5px; font-weight: 700; }
.n4l .n4l-head h2, .n4l .n4l-about h2 { margin-top: 8px; font-size: clamp(28px, 3.2vw, 38px); font-weight: 800; }
.n4l-head > h2 + p { margin-top: 14px; font-size: 17px; }

.n4l-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.n4l-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.n4l-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.n4l-card { background: #fff; border: 1px solid var(--n4l-line); border-radius: 14px; padding: 26px; }
.n4l-card-hi { background: #eff4ff; border-color: #bfdbfe; }
.n4l-card-hi .n4l-ic { background: #fff; }
.n4l-card-hi p { font-size: 15.5px; color: #334155; }
.n4l-ic {
    display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px;
    border-radius: 10px; background: #eaf0fe; color: var(--n4l-accent);
}
.n4l-ic svg { width: 22px; height: 22px; }
.n4l .n4l-card h3 { margin-top: 16px; font-size: 18px; font-weight: 700; letter-spacing: -.01em; line-height: 1.25; }
.n4l-card p { margin-top: 6px; font-size: 14.5px; line-height: 1.5; }
.n4l-card ul { list-style: none; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid #eef2f7; }
.n4l-card li { position: relative; padding-left: 22px; margin-top: 8px; font-size: 14px; line-height: 1.45; color: #334155; }
.n4l-card li:first-child { margin-top: 0; }
.n4l-card li::before {
    content: ""; position: absolute; left: 3px; top: 4px; width: 5px; height: 10px;
    border: solid var(--n4l-accent); border-width: 0 2px 2px 0; transform: rotate(40deg);
}

/* ---- Optional modules: sized after the reference cards (about 368 x 385 with a 320 x 210 photo).
        What each module includes sits under its card, so the card keeps that size. ---- */
.n4l-mods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 16px; }
.n4l-modcol { display: flex; flex-direction: column; min-width: 0; }
.n4l-mod { display: flex; flex-direction: column; min-height: 385px; padding: 24px; border-radius: 36px; color: var(--mod-ink); background: var(--mod-bg); }
.n4l .n4l-mod-label { margin: 0; color: inherit; }
.n4l .n4l-mod-label span { display: block; font-size: 12.5px; font-weight: 500; line-height: 1.3; }
.n4l .n4l-mod-label b {
    display: inline-block; margin-top: 6px; padding: 4px 10px; border-radius: 8px; background: #fff; color: var(--mod-accent);
    font: 800 21px/1.2 'Plus Jakarta Sans', 'Inter', Arial, sans-serif; letter-spacing: -.005em;
}
.n4l .n4l-mod h3 { margin-top: 12px; color: inherit; font-size: 18px; font-weight: 600; letter-spacing: -.01em; line-height: 1.25; }
.n4l-mod-photo { position: relative; flex: 1 1 210px; min-height: 190px; margin-top: 16px; overflow: hidden; border-radius: 24px; background: var(--mod-tint); }
.n4l-mod-photo img { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.n4l-mod-info { padding: 16px 10px 0; color: #334155; }
.n4l .n4l-mod-text { margin: 0; color: inherit; font-size: 14px; font-weight: 600; line-height: 1.45; }
.n4l-mod-info ul { list-style: none; margin: 10px 0 0; padding: 0; }
.n4l-mod-info li { position: relative; padding-left: 20px; font-size: 13.5px; line-height: 1.4; }
.n4l-mod-info li + li { margin-top: 7px; }
.n4l-mod-info li::before {
    content: ""; position: absolute; left: 2px; top: 3px; width: 5px; height: 10px;
    border: solid var(--mod-check, var(--mod-accent)); border-width: 0 2px 2px 0; transform: rotate(40deg);
}
@media (min-width: 1081px) {
    /* Headlines take the same height, so the three photos start level */
    .n4l .n4l-mod h3 { min-height: 2.5em; }
}
@media (min-width: 821px) {
    /* The E-commerce Portal is the wide panel across the top: same height, its details inside */
    .n4l-modcol.n4l-m-navy {
        grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto 1fr;
        column-gap: 28px; min-height: 385px; padding: 24px 24px 24px 32px; border-radius: 36px; color: var(--mod-ink); background: var(--mod-bg);
    }
    .n4l-m-navy .n4l-mod { display: contents; }
    .n4l-m-navy .n4l-mod-label, .n4l-m-navy .n4l-mod h3, .n4l-m-navy .n4l-mod-info { grid-column: 1; }
    .n4l-m-navy .n4l-mod-photo { grid-column: 2; grid-row: 1 / span 3; margin-top: 0; }
    .n4l .n4l-m-navy .n4l-mod-label b { font-size: 28px; }
    .n4l .n4l-m-navy .n4l-mod h3 { min-height: 0; font-size: 21px; }
    .n4l-m-navy .n4l-mod-info { padding: 14px 0 0; color: #fff; --mod-check: #a5b4fc; }
    .n4l-m-navy .n4l-mod-info ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
    .n4l-m-navy .n4l-mod-info li + li { margin-top: 0; }
}
.n4l-m-navy   { --mod-ink: #fff;    --mod-accent: #4338ca; --mod-tint: #eef2ff; --mod-bg: linear-gradient(180deg, #1c1160, #080329); }
.n4l-m-green  { --mod-ink: #06281a; --mod-accent: #047857; --mod-tint: #ecfdf5; --mod-bg: linear-gradient(180deg, #57de7d, #dbeafe); }
.n4l-m-yellow { --mod-ink: #2a2500; --mod-accent: #a16207; --mod-tint: #fefce8; --mod-bg: linear-gradient(180deg, #f7e717, #dfe9dc); }
.n4l-m-violet { --mod-ink: #1d1147; --mod-accent: #6d28d9; --mod-tint: #f5f3ff; --mod-bg: linear-gradient(180deg, #b9a6ff, #e6e9ff); }
.n4l .n4l-m-teal { background: linear-gradient(90deg, #5eead4, #e0f2fe); border: 0; border-radius: 28px; color: #042f2e; }
.n4l .n4l-m-teal h3, .n4l .n4l-m-teal p { color: inherit; }
.n4l .n4l-m-teal .n4l-ic { background: #fff; color: #0f766e; }
.n4l .n4l-head .n4l-note {
    display: inline-block; margin-top: 14px; padding: 5px 12px; border-radius: 16px;
    background: #fff7e6; border: 1px solid #f6c56a; color: #7c4a03; font-size: 13.5px; font-weight: 650; line-height: 1.4;
}

/* ---- DTD variant, under the modules ---- */
.n4l-variant {
    display: flex; align-items: flex-start; gap: 18px; margin-top: 20px; padding: 24px 26px;
    background: #fff; border: 1px solid #bfdbfe; border-radius: 14px;
}
.n4l-variant .n4l-ic { flex: none; }
.n4l .n4l-variant h3 { font-size: 18px; font-weight: 700; letter-spacing: -.01em; line-height: 1.25; }
.n4l-variant p { margin-top: 6px; font-size: 15px; line-height: 1.5; }

/* ---- Customers ---- */
.n4l-clients { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.n4l-clients li {
    display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; max-width: 100%;
    padding: 10px 18px; background: #eff4ff; border: 1px solid #bfdbfe; border-radius: 22px;
}
.n4l-clients b { color: var(--n4l-ink); font-size: 15px; font-weight: 700; line-height: 1.35; }
.n4l-clients span { font-size: 13.5px; line-height: 1.35; color: #475569; }

/* ---- About ---- */
.n4l-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.n4l-about p + p { margin-top: 14px; }
.n4l-about > div:last-child p { font-size: 17px; }

/* ---- Call to action ---- */
.n4l-cta { background: var(--n4l-navy); background: linear-gradient(135deg, var(--n4l-navy), var(--n4l-navy-2)); color: var(--n4l-on-dark); }
.n4l-cta-in {
    display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 64px; align-items: center;
    padding-top: 72px; padding-bottom: 72px;
}
.n4l .n4l-cta h2 { color: #fff; font-size: clamp(28px, 3.2vw, 38px); font-weight: 800; }
.n4l-cta-in > div > p { margin-top: 12px; font-size: 17px; }
.n4l-contact { margin: 0; }
.n4l-contact > div {
    display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 12px 0;
    border-top: 1px solid rgba(255,255,255,.14);
}
.n4l-contact > div:last-child { border-bottom: 1px solid rgba(255,255,255,.14); }
.n4l-contact dt { font-size: 14px; }
.n4l-contact dd { margin: 0; font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.n4l .n4l-contact a { color: #fff; text-decoration: none; }
.n4l .n4l-contact a:hover { color: var(--n4l-gold); text-decoration: underline; }

/* ---- Footer ---- */
.n4l-foot { background: var(--n4l-navy); border-top: 1px solid rgba(255,255,255,.1); color: #94a3b8; font-size: 13px; }
.n4l-foot-in { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-top: 20px; padding-bottom: 20px; }
.n4l .n4l-foot a { color: #e2e8f0; }

/* ---- Tablet ---- */
@media (max-width: 1080px) {
    .n4l-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .n4l-hero-in, .n4l-cta-in, .n4l-about { grid-template-columns: minmax(0, 1fr); gap: 40px; }
    .n4l-about { gap: 16px; }
    .n4l-hero-in, .n4l-cta-in { padding-top: 56px; padding-bottom: 56px; }
}
@media (max-width: 820px) {
    .n4l-links { display: none; }
    .n4l-mods { grid-template-columns: minmax(0, 1fr); }
    .n4l-facts-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .n4l-facts-in > div { padding: 22px 18px; border-left: 0; }
    .n4l-facts-in > div:nth-child(odd) { padding-left: 0; }
    .n4l-facts-in > div:nth-child(even) { border-left: 1px solid var(--n4l-line); }
    .n4l-facts-in > div:nth-child(n+3) { border-top: 1px solid var(--n4l-line); }
    .n4l-sec { padding: 60px 0; }
}

/* ---- Phone ---- */
@media (max-width: 600px) {
    .n4l-wrap { padding: 0 16px; }
    .n4l-nav-in { height: 60px; gap: 12px; }
    .n4l-logo img { height: 32px; }
    .n4l .n4l-btn-line { padding: 0 12px; font-size: 13px; }
    .n4l-grid { grid-template-columns: minmax(0, 1fr); }
    .n4l-variant { padding: 20px; gap: 14px; }
    .n4l-lead { font-size: 16.5px; }
    .n4l-journey { padding: 22px 20px; }
    .n4l-actions .n4l-btn { flex: 1 1 100%; }
    .n4l-card { padding: 22px; }
    .n4l-head { margin-bottom: 30px; }
    html { scroll-padding-top: 72px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .n4l-btn { transition: none; }
}

/* ---- Printing the page as a brochure ---- */
@media print {
    .n4l-nav, .n4l-actions, .n4l-foot a { display: none; }
    .n4l-sec { padding: 28px 0; }
    .n4l-card { break-inside: avoid; }
    .n4l-hero, .n4l-cta { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
