﻿:root {
    --cc-navy-950: #061b31;
    --cc-navy-900: #082b4c;
    --cc-navy-800: #0d3d69;
    --cc-blue: #1769aa;
    --cc-sky: #eaf5fc;
    --cc-gold: #d9a441;
    --cc-gold-light: #f5d995;
    --cc-green: #159267;
    --cc-red: #cf3d4f;
    --cc-ink: #172536;
    --cc-muted: #64748b;
    --cc-line: #e3eaf1;
    --cc-bg: #f5f8fb;
    --cc-card: #ffffff;
    --cc-radius-sm: 12px;
    --cc-radius: 20px;
    --cc-radius-lg: 28px;
    --cc-shadow-sm: 0 8px 24px rgba(8, 43, 76, .07);
    --cc-shadow: 0 18px 50px rgba(8, 43, 76, .11);
    --cc-container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.public-site {
    margin: 0;
    min-width: 320px;
    min-height: 100vh;
    background: var(--cc-bg);
    color: var(--cc-ink);
    font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.9;
    direction: rtl;
}
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, video { max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.public-container { width: min(calc(100% - 36px), var(--cc-container)); margin-inline: auto; }
.skip-link { position: fixed; top: -60px; right: 20px; z-index: 9999; padding: 10px 16px; border-radius: 0 0 10px 10px; background: #fff; color: var(--cc-navy-900); transition: top .2s; }
.skip-link:focus { top: 0; }

/* Top strip */
.top-strip { background: var(--cc-navy-950); color: rgba(255,255,255,.78); font-size: 12px; }
.top-strip-inner { min-height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.top-contact { display: flex; align-items: center; gap: 22px; }
.top-contact a, .top-contact span, .top-promise { display: inline-flex; align-items: center; gap: 7px; }
.top-contact i, .top-promise i { color: var(--cc-gold-light); }

/* Header */
.public-header { position: sticky; top: 0; z-index: 1100; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(227,234,241,.92); box-shadow: 0 4px 24px rgba(8,43,76,.045); backdrop-filter: blur(15px); }
.public-header.scrolled { box-shadow: 0 10px 35px rgba(8,43,76,.10); }
.header-inner { min-height: 102px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 34px; }
.public-brand, .footer-brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand-symbol { width: 53px; height: 53px; display: grid; place-items: center; border-radius: 17px; background: linear-gradient(145deg, var(--cc-navy-900), var(--cc-blue)); color: #fff; font-size: 26px; box-shadow: 0 10px 24px rgba(23,105,170,.22); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.35; }
.brand-copy strong { color: var(--cc-navy-900); font-size: 20px; font-weight: 900; letter-spacing: .3px; white-space: nowrap; }
.brand-copy small { color: var(--cc-muted); font-size: 10px; font-weight: 600; white-space: nowrap; }
.public-navigation { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; column-gap: 7px; row-gap: 8px; }
.public-navigation > a { min-height: 40px; padding: 8px 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 10px; color: #334155; font-size: 12.5px; font-weight: 700; white-space: nowrap; transition: .2s ease; }
.public-navigation > a:hover, .public-navigation > a.active { color: var(--cc-blue); background: #edf6fc; }
.public-navigation > a.active { box-shadow: inset 0 -2px 0 var(--cc-blue); }
.nav-divider { width: 1px; height: 27px; margin-inline: 4px; background: var(--cc-line); }
.public-navigation .nav-account { padding-inline: 12px; }
.public-navigation .nav-account.primary { color: #fff; background: linear-gradient(135deg, var(--cc-blue), var(--cc-navy-800)); box-shadow: 0 8px 20px rgba(23,105,170,.18); }
.public-navigation .nav-account.primary:hover { color: #fff; transform: translateY(-1px); background: linear-gradient(135deg, #1b77be, var(--cc-navy-800)); }
.public-navigation .nav-account.soft { color: var(--cc-navy-900); background: #edf4f9; }
.public-navigation .nav-account.danger { color: #a92f3e; background: #fff0f2; }
.mobile-nav-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--cc-line); border-radius: 13px; background: #fff; color: var(--cc-navy-900); font-size: 25px; }

/* Main and breadcrumb */
.public-main { min-height: 60vh; overflow: hidden; }
.breadcrumb-wrap { padding-top: 20px; }
.breadcrumb { display: flex; align-items: center; gap: 9px; color: var(--cc-muted); font-size: 12px; }
.breadcrumb a { color: var(--cc-blue); font-weight: 700; }
.breadcrumb i.bi-chevron-left { font-size: 9px; }
.site-alert { margin-top: 18px; padding: 13px 16px; display: flex; align-items: center; gap: 10px; border-radius: 13px; font-size: 13px; font-weight: 700; }
.site-alert.success { color: #0f6c49; border: 1px solid #cbeadf; background: #eaf8f3; }
.site-alert.danger { color: #9a2938; border: 1px solid #ffd3da; background: #fff0f2; }

/* Buttons */
.site-button, .btn-primary, .btn, button[type="submit"] { min-height: 46px; padding: 10px 19px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 13px; font-weight: 800; font-size: 13px; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.site-button:hover, .btn-primary:hover, .btn:hover, button[type="submit"]:hover { transform: translateY(-2px); }
.site-button.primary, .btn-primary, button[type="submit"] { color: #fff; background: linear-gradient(135deg, var(--cc-blue), var(--cc-navy-800)); box-shadow: 0 11px 24px rgba(23,105,170,.20); }
.site-button.glass { color: #fff; border: 1px solid rgba(255,255,255,.42); background: rgba(255,255,255,.12); backdrop-filter: blur(8px); }
.site-button.light { color: var(--cc-navy-900); background: #fff; }
.site-button.outline-light { color: #fff; border: 1px solid rgba(255,255,255,.45); background: transparent; }
.full-button { width: 100%; }
.link-button { min-height: auto !important; padding: 5px !important; color: var(--cc-blue) !important; background: transparent !important; box-shadow: none !important; }

/* Home hero */
.transport-ribbon { min-height: 105px; margin-top: -38px; position: relative; z-index: 5; padding: 18px 24px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(227,234,241,.9); border-radius: 24px; background: rgba(255,255,255,.97); box-shadow: var(--cc-shadow); }
.transport-ribbon > div { padding: 8px 18px; display: flex; align-items: center; justify-content: center; gap: 12px; border-left: 1px solid var(--cc-line); }
.transport-ribbon > div:last-child { border-left: 0; }
.transport-ribbon i { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: var(--cc-blue); background: var(--cc-sky); font-size: 23px; }
.transport-ribbon span { display: flex; flex-direction: column; line-height: 1.5; }
.transport-ribbon strong { color: var(--cc-navy-900); font-size: 14px; font-weight: 900; }
.transport-ribbon small { color: var(--cc-muted); font-size: 9px; letter-spacing: .5px; }

/* Sections */
.section { padding-top: 78px; padding-bottom: 78px; }
.section-heading { margin-bottom: 30px; }
.section-heading.centered { max-width: 700px; margin-inline: auto; text-align: center; }
.section-heading.compact { margin-bottom: 28px; }
.section-heading > span, .card-kicker, .form-heading > span { display: block; margin-bottom: 4px; color: var(--cc-gold); font-size: 12px; font-weight: 900; }
.section-heading h2, .form-heading h2 { margin: 0; color: var(--cc-navy-900); font-size: clamp(25px, 3vw, 37px); line-height: 1.45; font-weight: 900; }
.section-heading p, .form-heading p { max-width: 680px; margin: 9px auto 0; color: var(--cc-muted); font-size: 14px; }

.services-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.service-card { min-height: 255px; padding: 24px; position: relative; overflow: hidden; grid-column: span 2; display: flex; flex-direction: column; border: 1px solid var(--cc-line); border-radius: var(--cc-radius); background: #fff; box-shadow: var(--cc-shadow-sm); transition: .25s ease; }
.service-card.wide { grid-column: 3 / span 2; }
.service-card.featured { background: linear-gradient(150deg, var(--cc-navy-900), var(--cc-blue)); color: #fff; }
.service-card::after { content: ""; width: 120px; height: 120px; position: absolute; left: -55px; bottom: -55px; border-radius: 50%; background: rgba(23,105,170,.06); }
.service-card.featured::after { background: rgba(255,255,255,.08); }
.service-card:hover { transform: translateY(-7px); border-color: rgba(23,105,170,.35); box-shadow: var(--cc-shadow); }
.service-card > i { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; color: var(--cc-blue); background: var(--cc-sky); font-size: 24px; }
.service-card.featured > i { color: var(--cc-navy-900); background: var(--cc-gold-light); }
.service-number { position: absolute; top: 18px; left: 20px; color: rgba(8,43,76,.12); font-size: 33px; font-weight: 900; }
.service-card.featured .service-number { color: rgba(255,255,255,.14); }
.service-card h3 { margin: 17px 0 6px; color: var(--cc-navy-900); font-size: 18px; font-weight: 900; }
.service-card.featured h3 { color: #fff; }
.service-card p { margin: 0 0 16px; color: var(--cc-muted); font-size: 12.5px; }
.service-card.featured p { color: rgba(255,255,255,.75); }
.card-link { margin-top: auto; display: flex; align-items: center; gap: 7px; color: var(--cc-blue); font-size: 12px; font-weight: 900; }
.service-card.featured .card-link { color: var(--cc-gold-light); }

.why-section { padding: 86px 0; position: relative; overflow: hidden; background: linear-gradient(135deg, #f0f6fb, #fff); }
.why-section::before { content: ""; width: 420px; height: 420px; position: absolute; left: -200px; top: -160px; border-radius: 50%; background: rgba(23,105,170,.07); }
.why-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 65px; align-items: center; }
.why-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.why-list article { padding: 18px; display: flex; gap: 12px; border: 1px solid var(--cc-line); border-radius: 16px; background: #fff; box-shadow: var(--cc-shadow-sm); }
.why-list i { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 13px; color: var(--cc-blue); background: var(--cc-sky); font-size: 20px; }
.why-list h3 { margin: 0 0 2px; color: var(--cc-navy-900); font-size: 14px; font-weight: 900; }
.why-list p { margin: 0; color: var(--cc-muted); font-size: 11px; }
.why-visual { min-height: 410px; position: relative; display: grid; place-items: center; }
.visual-card.main { width: 300px; height: 300px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; color: #fff; background: radial-gradient(circle at 30% 25%, #2a82c2, var(--cc-navy-900)); box-shadow: 0 30px 70px rgba(8,43,76,.25); }
.visual-card.main i { font-size: 75px; color: var(--cc-gold-light); }
.visual-card.main strong { margin-top: 10px; font-size: 22px; font-weight: 900; }
.visual-card.main span { color: rgba(255,255,255,.70); }
.visual-card.floating { position: absolute; min-width: 135px; padding: 14px 18px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--cc-line); border-radius: 16px; background: #fff; box-shadow: var(--cc-shadow); }
.visual-card.floating.one { top: 42px; right: 5px; }
.visual-card.floating.two { bottom: 45px; left: -5px; }
.visual-card.floating strong { color: var(--cc-blue); font-size: 27px; font-weight: 900; }
.visual-card.floating i { color: var(--cc-green); font-size: 25px; }
.visual-card.floating span { color: var(--cc-navy-900); font-size: 12px; font-weight: 800; }

.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.process-grid article { min-height: 190px; padding: 22px; position: relative; text-align: center; border: 1px solid var(--cc-line); border-radius: 18px; background: #fff; box-shadow: var(--cc-shadow-sm); }
.process-grid article > span { position: absolute; top: 13px; left: 17px; color: rgba(8,43,76,.12); font-size: 28px; font-weight: 900; }
.process-grid i { width: 58px; height: 58px; margin: 3px auto 13px; display: grid; place-items: center; border-radius: 18px; color: var(--cc-blue); background: var(--cc-sky); font-size: 25px; }
.process-grid h3 { margin: 0; color: var(--cc-navy-900); font-size: 15px; font-weight: 900; }
.process-grid p { margin: 4px 0 0; color: var(--cc-muted); font-size: 11px; }

.home-cta { padding: 56px 0; color: #fff; background: linear-gradient(135deg, var(--cc-navy-950), var(--cc-blue)); }
.home-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.home-cta span { color: var(--cc-gold-light); font-size: 12px; font-weight: 900; }
.home-cta h2 { margin: 4px 0; font-size: 28px; font-weight: 900; }
.home-cta p { margin: 0; color: rgba(255,255,255,.72); }
.cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Inner pages */
.inner-hero { margin-top: 20px; position: relative; overflow: hidden; color: #fff; background: linear-gradient(135deg, var(--cc-navy-950), var(--cc-navy-800)); }
.inner-hero::before, .inner-hero::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,.06); }
.inner-hero::before { width: 330px; height: 330px; left: -120px; top: -180px; }
.inner-hero::after { width: 180px; height: 180px; right: 15%; bottom: -130px; }
.inner-hero-grid { min-height: 330px; padding-block: 56px; position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 35px; }
.inner-hero h1 { margin: 10px 0; font-size: clamp(32px, 4vw, 49px); font-weight: 900; }
.inner-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.76); font-size: 15px; }
.inner-hero-icon { width: 135px; height: 135px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 36px; background: rgba(255,255,255,.10); font-size: 65px; transform: rotate(-4deg); }
.hero-note { width: fit-content; margin: 20px 0 16px; padding: 10px 14px; display: flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; color: #fff; background: rgba(255,255,255,.09); font-size: 12px; font-weight: 700; }
.import-theme { background: linear-gradient(135deg, #0a385d, #1769aa); }
.export-theme { background: linear-gradient(135deg, #073d4a, #148a8e); }
.brand-theme { background: linear-gradient(135deg, #30204f, #6e4d9a); }
.contact-theme { background: linear-gradient(135deg, #08324e, #126a83); }
.corporate-theme { background: linear-gradient(135deg, #071f38, #38536c); }
.category-theme { background: linear-gradient(135deg, #0a3153, #1e6f9f); }

.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature-grid article { min-height: 235px; padding: 25px; position: relative; border: 1px solid var(--cc-line); border-radius: var(--cc-radius); background: #fff; box-shadow: var(--cc-shadow-sm); }
.feature-grid article > i { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 17px; color: var(--cc-blue); background: var(--cc-sky); font-size: 25px; }
.feature-grid h3 { margin: 17px 0 7px; color: var(--cc-navy-900); font-size: 17px; font-weight: 900; }
.feature-grid p { margin: 0; color: var(--cc-muted); font-size: 12.5px; }
.feature-step { position: absolute; top: 18px; left: 20px; color: rgba(8,43,76,.12); font-size: 31px; font-weight: 900; }
.values-grid { grid-template-columns: repeat(4, 1fr); }

.detail-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.detail-card { padding: 27px; border: 1px solid var(--cc-line); border-radius: var(--cc-radius); background: #fff; box-shadow: var(--cc-shadow-sm); }
.detail-card-title { margin-bottom: 15px; display: flex; align-items: center; gap: 12px; }
.detail-card-title i { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: var(--cc-blue); background: var(--cc-sky); font-size: 23px; }
.detail-card h2 { margin: 0; color: var(--cc-navy-900); font-size: 19px; font-weight: 900; }
.tick-list { margin: 0; padding: 0; list-style: none; }
.tick-list li { position: relative; margin-bottom: 10px; padding-right: 27px; color: #405065; font-size: 13px; }
.tick-list li::before { content: "\F26A"; position: absolute; right: 0; top: 1px; color: var(--cc-green); font-family: "bootstrap-icons"; font-weight: normal; }
.service-cta { margin-bottom: 75px; padding: 21px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #d8e7f3; border-radius: 18px; background: #edf6fc; }
.service-cta > div { display: flex; align-items: center; gap: 13px; }
.service-cta > div > i { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: var(--cc-blue); background: #fff; font-size: 22px; }
.service-cta span { display: flex; flex-direction: column; }
.service-cta strong { color: var(--cc-navy-900); font-size: 14px; }
.service-cta small { color: var(--cc-muted); }
.story-card { max-width: 900px; margin-inline: auto; padding: 42px; position: relative; overflow: hidden; border: 1px solid var(--cc-line); border-radius: var(--cc-radius-lg); background: #fff; box-shadow: var(--cc-shadow); text-align: center; }
.story-card .quote-icon { width: 68px; height: 68px; margin: 0 auto 15px; display: grid; place-items: center; border-radius: 20px; color: var(--cc-blue); background: var(--cc-sky); font-size: 31px; }
.story-card h2 { margin: 0 0 10px; color: var(--cc-navy-900); font-size: 27px; font-weight: 900; }
.story-card p { margin: 0; color: var(--cc-muted); font-size: 14px; }
.value-pills { margin-top: 24px; display: flex; justify-content: center; gap: 9px; flex-wrap: wrap; }
.value-pills span { padding: 7px 13px; border-radius: 999px; color: var(--cc-blue); background: var(--cc-sky); font-size: 11px; font-weight: 800; }

/* Contact */
.contact-grid { display: grid; grid-template-columns: 370px 1fr; gap: 24px; align-items: start; }
.contact-sidebar { display: grid; gap: 18px; }
.contact-card, .public-form-card { padding: 26px; border: 1px solid var(--cc-line); border-radius: var(--cc-radius); background: #fff; box-shadow: var(--cc-shadow-sm); }
.contact-card h2, .contact-card h3 { margin: 0 0 15px; color: var(--cc-navy-900); font-weight: 900; }
.contact-details { display: grid; gap: 13px; }
.contact-details > a, .contact-details > div { padding: 12px; display: flex; align-items: center; gap: 11px; border-radius: 13px; background: #f7fafc; }
.contact-details i { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 12px; color: var(--cc-blue); background: #fff; }
.contact-details span { display: flex; flex-direction: column; line-height: 1.55; }
.contact-details small { color: var(--cc-muted); font-size: 10px; }
.contact-details strong { color: var(--cc-navy-900); font-size: 12px; }
.form-heading { margin-bottom: 23px; }

/* Forms */
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.field { display: flex; flex-direction: column; }
.field.full { grid-column: 1 / -1; }
.field label { margin-bottom: 6px; color: var(--cc-navy-900); font-size: 12px; font-weight: 800; }
.field label.required::after { content: " *"; color: var(--cc-red); }
.field input, .field select, .field textarea, .public-form-card input, .public-form-card textarea, .auth-card input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #d8e1ea; border-radius: 12px; outline: none; color: var(--cc-ink); background: #fff; font-size: 13px; transition: .2s; }
.field textarea, .public-form-card textarea { min-height: 140px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus, .auth-card input:focus { border-color: var(--cc-blue); box-shadow: 0 0 0 4px rgba(23,105,170,.10); }
.field span, .field-validation-error { margin-top: 4px; color: var(--cc-red); font-size: 10px; font-weight: 700; }
.validation-summary { margin-bottom: 15px; padding: 12px 14px; border-radius: 12px; color: #982a38; background: #fff0f2; font-size: 12px; }
.validation-summary:empty { display: none; }
.validation-summary ul { margin: 0; padding-right: 18px; }
.submit-button { margin-top: 20px; }

/* Auth */
.auth-shell { min-height: 650px; padding-top: 48px; padding-bottom: 80px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 0; align-items: stretch; }
.auth-visual { padding: 50px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; border-radius: 0 var(--cc-radius-lg) var(--cc-radius-lg) 0; color: #fff; background: radial-gradient(circle at 15% 20%, rgba(217,164,65,.22), transparent 30%), linear-gradient(145deg, var(--cc-navy-950), var(--cc-blue)); }
.auth-visual::after { content: ""; width: 270px; height: 270px; position: absolute; left: -120px; bottom: -140px; border-radius: 50%; background: rgba(255,255,255,.07); }
.auth-visual h1 { margin: 14px 0 10px; font-size: 34px; line-height: 1.5; font-weight: 900; }
.auth-visual > p { margin: 0; color: rgba(255,255,255,.74); font-size: 14px; }
.auth-benefits { margin-top: 25px; display: grid; gap: 9px; }
.auth-benefits span { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.88); font-size: 12px; }
.auth-benefits i { color: var(--cc-gold-light); }
.auth-card { padding: 43px; display: flex; flex-direction: column; justify-content: center; border: 1px solid var(--cc-line); border-radius: var(--cc-radius-lg) 0 0 var(--cc-radius-lg); background: #fff; box-shadow: var(--cc-shadow); }
.auth-heading { margin-bottom: 23px; display: flex; align-items: center; gap: 12px; }
.auth-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; color: var(--cc-blue); background: var(--cc-sky); font-size: 24px; }
.auth-heading div { display: flex; flex-direction: column; }
.auth-heading small { color: var(--cc-gold); font-size: 10px; font-weight: 900; }
.auth-heading h2 { margin: 0; color: var(--cc-navy-900); font-size: 24px; font-weight: 900; }
.auth-card .field { margin-bottom: 15px; }
.input-with-icon { position: relative; }
.input-with-icon > i { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: #8aa0b4; }
.input-with-icon input { padding-right: 42px; }
.auth-links { margin-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--cc-muted); font-size: 11px; }
.auth-links a { color: var(--cc-blue); font-weight: 800; }
.centered-link { justify-content: center; }
.auth-steps { margin-top: 28px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.auth-steps div { text-align: center; }
.auth-steps span { width: 39px; height: 39px; margin: auto; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: var(--cc-navy-900); background: var(--cc-gold-light); font-weight: 900; }
.auth-steps p { margin: 5px 0 0; color: rgba(255,255,255,.75); font-size: 10px; }
.auth-description { margin: -5px 0 17px; color: var(--cc-muted); font-size: 12px; }
.otp-input { height: 58px !important; text-align: center; font-size: 24px !important; letter-spacing: 10px; font-weight: 900; }
.resend-form { margin-top: 12px; text-align: center; }
.compact-auth { max-width: 1000px; }

/* Media */
.media-section .media-heading { margin-top: 60px; }
.media-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.media-card { overflow: hidden; border: 1px solid var(--cc-line); border-radius: var(--cc-radius); background: #fff; box-shadow: var(--cc-shadow-sm); }
.media-image { height: 200px; overflow: hidden; background: #e9eff5; }
.media-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.media-card:hover .media-image img { transform: scale(1.05); }
.media-card video { width: 100%; min-height: 215px; display: block; background: #061522; }
.media-body { padding: 19px; }
.media-type { display: inline-flex; align-items: center; gap: 6px; color: var(--cc-blue); font-size: 10px; font-weight: 900; }
.media-body h3 { margin: 7px 0; color: var(--cc-navy-900); font-size: 16px; font-weight: 900; }
.media-body p { margin: 0; color: var(--cc-muted); font-size: 11.5px; }
.empty-state { padding: 48px 25px; text-align: center; border: 1px dashed #cad8e4; border-radius: var(--cc-radius); background: #fff; }
.empty-state i { color: #a9bdcd; font-size: 44px; }
.empty-state h3 { margin: 10px 0 2px; color: var(--cc-navy-900); }
.empty-state p { margin: 0; color: var(--cc-muted); font-size: 12px; }

/* Footer */
.public-footer { color: rgba(255,255,255,.75); background: var(--cc-navy-950); }
.footer-grid { padding-top: 58px; padding-bottom: 42px; display: grid; grid-template-columns: 1.45fr .8fr .8fr 1fr; gap: 42px; }
.footer-brand .brand-symbol { background: linear-gradient(145deg, var(--cc-gold), #f2cd75); color: var(--cc-navy-950); box-shadow: none; }
.footer-brand .brand-copy strong { color: #fff; }
.footer-brand .brand-copy small { color: rgba(255,255,255,.50); }
.footer-about p { max-width: 390px; color: rgba(255,255,255,.62); font-size: 12px; }
.footer-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.footer-badges span { padding: 6px 10px; display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; color: var(--cc-gold-light); background: rgba(255,255,255,.07); font-size: 10px; }
.footer-grid h3 { margin: 7px 0 16px; color: #fff; font-size: 14px; font-weight: 900; }
.footer-links, .footer-contact { display: grid; gap: 8px; }
.footer-links a { width: fit-content; color: rgba(255,255,255,.62); font-size: 11.5px; transition: .2s; }
.footer-links a:hover { color: var(--cc-gold-light); transform: translateX(-3px); }
.footer-contact > * { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.65); font-size: 11px; }
.footer-contact i { color: var(--cc-gold-light); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.08); }
.footer-bottom-inner { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.43); font-size: 10.5px; }
.scroll-top { width: 43px; height: 43px; position: fixed; left: 22px; bottom: 22px; z-index: 900; opacity: 0; pointer-events: none; border: 0; border-radius: 13px; color: #fff; background: var(--cc-blue); box-shadow: 0 10px 25px rgba(23,105,170,.25); transition: .2s; }
.scroll-top.visible { opacity: 1; pointer-events: auto; }

/* Responsive */
@media (max-width: 1180px) {
    .header-inner { grid-template-columns: 1fr auto; min-height: 82px; }
    .mobile-nav-toggle { display: grid; place-items: center; }
    .public-navigation { width: min(420px, 88vw); height: calc(100vh - 82px); padding: 20px; position: fixed; top: 82px; right: 0; z-index: 1200; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; flex-wrap: nowrap; gap: 5px; overflow-y: auto; background: #fff; box-shadow: -18px 20px 45px rgba(8,43,76,.18); transform: translateX(110%); transition: transform .25s ease; }
    .public-navigation.open { transform: translateX(0); }
    .public-navigation > a { justify-content: flex-start; padding: 10px 13px; font-size: 13px; }
    .nav-divider { width: 100%; height: 1px; margin-block: 7px; }
    body.nav-open::after { content: ""; position: fixed; inset: 121px 0 0; z-index: 1050; background: rgba(6,27,49,.58); }
    .services-grid { grid-template-columns: repeat(4, 1fr); }
    .service-card { grid-column: span 2; }
    .service-card.wide { grid-column: 2 / span 2; }
}

@media (max-width: 900px) {
    .top-promise { display: none; }
    .top-strip-inner { justify-content: center; }
    .transport-ribbon { grid-template-columns: repeat(2, 1fr); }
    .transport-ribbon > div:nth-child(2) { border-left: 0; }
    .transport-ribbon > div:nth-child(-n+2) { border-bottom: 1px solid var(--cc-line); }
    .why-grid, .contact-grid, .auth-shell { grid-template-columns: 1fr; }
    .why-visual { min-height: 360px; }
    .process-grid, .values-grid { grid-template-columns: repeat(2, 1fr); }
    .feature-grid, .media-grid { grid-template-columns: repeat(2, 1fr); }
    .auth-visual { border-radius: var(--cc-radius-lg) var(--cc-radius-lg) 0 0; }
    .auth-card { border-radius: 0 0 var(--cc-radius-lg) var(--cc-radius-lg); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
    body.public-site { font-size: 14px; }
    .public-container { width: min(calc(100% - 24px), var(--cc-container)); }
    .top-contact span { display: none; }
    .brand-symbol { width: 45px; height: 45px; border-radius: 14px; font-size: 22px; }
    .brand-copy strong { font-size: 17px; }
    .brand-copy small { max-width: 190px; overflow: hidden; text-overflow: ellipsis; }
    .header-inner { min-height: 72px; gap: 12px; }
    .public-navigation { top: 72px; height: calc(100vh - 72px); }
    body.nav-open::after { inset: 111px 0 0; }
    .transport-ribbon { margin-top: -22px; padding: 10px; border-radius: 18px; }
    .transport-ribbon > div { padding: 10px 5px; gap: 8px; }
    .transport-ribbon i { width: 39px; height: 39px; font-size: 19px; }
    .transport-ribbon strong { font-size: 11px; }
    .transport-ribbon small { font-size: 8px; }
    .section { padding-top: 55px; padding-bottom: 55px; }
    .services-grid, .feature-grid, .detail-card-grid, .media-grid, .process-grid, .values-grid { grid-template-columns: 1fr; }
    .service-card, .service-card.wide { grid-column: auto; }
    .why-grid { gap: 30px; }
    .why-list { grid-template-columns: 1fr; }
    .why-visual { display: none; }
    .home-cta-inner, .service-cta { flex-direction: column; align-items: stretch; text-align: center; }
    .cta-actions { justify-content: center; }
    .inner-hero-grid { min-height: 285px; grid-template-columns: 1fr; text-align: center; }
    .inner-hero-icon { display: none; }
    .hero-note { margin-inline: auto; }
    .form-grid { grid-template-columns: 1fr; }
    .field.full { grid-column: auto; }
    .auth-shell { padding-top: 28px; padding-bottom: 55px; }
    .auth-visual, .auth-card { padding: 27px 20px; }
    .auth-visual h1 { font-size: 26px; }
    .auth-links { flex-direction: column; }
    .auth-steps { gap: 4px; }
    .footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .footer-bottom-inner { padding-block: 15px; flex-direction: column; justify-content: center; text-align: center; gap: 3px; }
    .breadcrumb { white-space: nowrap; overflow-x: auto; }
}

/* ===== لوگوی تصویری هدر و فوتر ===== */
.public-brand,
.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.public-brand-logo {
    width: 58px;
    height: 58px;
    display: block;
    flex: 0 0 58px;
    object-fit: contain;
    border-radius: 14px;
}

.footer-brand-logo {
    width: 62px;
    height: 62px;
    display: block;
    flex: 0 0 62px;
    object-fit: contain;
    border-radius: 15px;
}

.public-brand .brand-copy,
.footer-brand .brand-copy {
    direction: ltr;
    text-align: left;
}

.footer-brand .brand-copy strong { color: #fff; }
.footer-brand .brand-copy small { color: rgba(255,255,255,.63); }


/* =========================================================
   HOME HERO - FINAL
   متن وسط صفحه، سپس تصویر بزرگ و کامل
========================================================= */

.home-split-hero {
    position: relative;
    padding: 46px 0 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 5%, rgba(35, 126, 197, .18), transparent 34%),
        linear-gradient(135deg, #061b31 0%, #083663 54%, #075a9d 100%);
}

.home-split-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 34px;
}

.home-hero-content {
    width: min(860px, 100%);
    margin-inline: auto;
    color: #fff;
    text-align: center;
}

.home-hero-badge {
    width: fit-content;
    margin: 0 auto 16px;
    padding: 7px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 999px;
    color: var(--cc-gold-light);
    background: rgba(255,255,255,.08);
    font-size: 12px;
    font-weight: 800;
    backdrop-filter: blur(8px);
}

.home-hero-content h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(31px, 3.8vw, 48px);
    line-height: 1.42;
    font-weight: 900;
    letter-spacing: -.45px;
}

.home-hero-content h1 span {
    display: block;
    color: var(--cc-gold-light);
}

.home-hero-tagline {
    margin: 13px 0 0;
    color: #fff;
    font-size: clamp(18px, 2vw, 24px);
    line-height: 1.7;
    font-weight: 800;
}

.home-hero-content > p {
    width: min(720px, 100%);
    margin: 13px auto 0;
    color: rgba(255,255,255,.82);
    font-size: 14px;
    line-height: 2;
}

.home-hero-actions {
    margin-top: 22px;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.hero-primary-button {
    color: #082b4c !important;
    background: linear-gradient(135deg, #f8d37f, #d9a441) !important;
    box-shadow: 0 12px 28px rgba(217,164,65,.24) !important;
}

.hero-primary-button:hover {
    color: #082b4c !important;
    box-shadow: 0 16px 34px rgba(217,164,65,.32) !important;
}

.hero-secondary-button {
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.40) !important;
    background: rgba(255,255,255,.09) !important;
    box-shadow: none !important;
}

.hero-secondary-button:hover {
    color: #fff !important;
    background: rgba(255,255,255,.16) !important;
}

.home-hero-features {
    margin-top: 19px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 22px;
    color: rgba(255,255,255,.82);
    font-size: 12px;
    font-weight: 800;
}

.home-hero-features span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.home-hero-features i {
    color: var(--cc-gold-light);
}

/* تصویر بزرگ: نسبت اصلی حفظ می‌شود و هیچ بخش آن بریده نمی‌شود */
.home-hero-visual {
    width: 100%;
    display: flex;
    justify-content: center;
}

.home-hero-visual img {
    width: min(1180px, 100%);
    height: auto;
    max-height: none;
    display: block;
    margin: 0 auto;
    object-fit: contain;
    object-position: center;
    border-radius: 24px;
    box-shadow: 0 28px 65px rgba(0, 12, 28, .34);
}

/* نوار چهار روش حمل */
.home-split-hero .transport-ribbon {
    margin-top: 34px;
    transform: translateY(34px);
}

.home-split-hero + .section {
    padding-top: 112px;
}


/* ===== Responsive Hero ===== */

@media (max-width: 900px) {
    .home-split-hero {
        padding-top: 34px;
    }

    .home-split-container {
        gap: 27px;
    }

    .home-hero-content {
        width: min(760px, 100%);
    }

    .home-hero-content h1 {
        font-size: clamp(29px, 5vw, 39px);
    }

    .home-hero-tagline {
        font-size: 19px;
    }

    .home-hero-visual img {
        width: min(100%, 820px);
        border-radius: 19px;
    }

    .home-split-hero .transport-ribbon {
        margin-top: 28px;
    }
}

@media (max-width: 680px) {
    .public-brand-logo {
        width: 45px;
        height: 45px;
        flex-basis: 45px;
        border-radius: 12px;
    }

    .public-brand .brand-copy small {
        display: none;
    }

    .home-split-hero {
        padding-top: 27px;
    }

    .home-split-container {
        gap: 22px;
    }

    .home-hero-badge {
        margin-bottom: 12px;
        padding: 6px 11px;
        font-size: 10.5px;
    }

    .home-hero-content h1 {
        font-size: 28px;
        line-height: 1.5;
    }

    .home-hero-tagline {
        margin-top: 9px;
        font-size: 17px;
        line-height: 1.65;
    }

    .home-hero-content > p {
        margin-top: 10px;
        padding-inline: 5px;
        font-size: 12.5px;
        line-height: 1.9;
    }

    .home-hero-actions {
        margin-top: 17px;
        flex-direction: column;
        align-items: stretch;
    }

    .home-hero-actions .site-button {
        width: 100%;
    }

    .home-hero-features {
        margin-top: 15px;
        gap: 8px 14px;
        font-size: 10.5px;
    }

    .home-hero-visual img {
        width: 100%;
        border-radius: 14px;
        box-shadow: 0 18px 40px rgba(0,12,28,.30);
    }

    .footer-brand-logo {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
    }
}


/* Multilingual selector: isolated addition so the existing visual system remains unchanged. */
.language-switcher{display:flex;align-items:center;gap:4px;margin-inline-start:10px;white-space:nowrap}
.language-switcher a{display:inline-flex;align-items:center;padding:5px 8px;border-radius:7px;text-decoration:none;font-size:.78rem;font-weight:600;opacity:.72}
.language-switcher a.active{opacity:1;font-weight:800}
@media(max-width:900px){.language-switcher{margin-inline-start:auto;margin-inline-end:8px}.language-switcher a{padding:4px 5px;font-size:.72rem}}

/* Final multilingual/read-more patch: additive only; existing design unchanged. */
.media-readmore-row { display:block; width:100%; margin-top:10px; margin-bottom:4px; }
.media-readmore { display:inline-block; color:#0878d1 !important; font-weight:800; text-decoration:none; }
.media-readmore:hover { text-decoration:underline; }
.media-date { display:block; margin-top:2px; }
.media-detail-card { max-width:980px; margin:0 auto; }
.media-detail-image img { width:100%; height:auto; border-radius:18px; margin:18px 0; }
.media-detail-video { width:100%; border-radius:18px; margin:18px 0; }
.media-detail-summary { font-weight:600; line-height:2; }
.media-detail-text { line-height:2.1; white-space:normal; }
