/* ============================================ */
/* ITRAGEC — Page d'accueil (CSS flat) */
/* ============================================ */

/* DARK theme (default) */
:root, [data-theme="dark"], .itragec-home[data-theme="dark"] {
    --ink: #0b0b0b; --ink-2: #131313; --ink-3: #1c1c1c;
    --line: #2a2a2a; --line-2: #3a3a3a;
    --bone: #f3ede2; --bone-2: #c8c2b6;
    --concrete: #8a8378; --concrete-2: #5a554d;
    --amber: #f5a623; --amber-2: #ffb733;
    --safety: #ffd400;
    --overlay-nav: rgba(11,11,11,0.85);
    --overlay-soft: rgba(11,11,11,0.4);
    --blueprint: rgba(255,255,255,0.04);
    color-scheme: dark;
}

/* LIGHT theme */
[data-theme="light"], .itragec-home[data-theme="light"] {
    --ink: #f5efe3; --ink-2: #ece5d3; --ink-3: #dfd6bf;
    --line: #d6cdb6; --line-2: #b9af96;
    --bone: #1a1a1a; --bone-2: #44423d;
    --concrete: #6a6359; --concrete-2: #8a8378;
    --amber: #c97a05; --amber-2: #b06a00;
    --safety: #d4a300;
    --overlay-nav: rgba(245,239,227,0.88);
    --overlay-soft: rgba(245,239,227,0.4);
    --blueprint: rgba(0,0,0,0.05);
    color-scheme: light;
}

.itragec-home, .itragec-home * { transition: background-color .3s ease, color .3s ease, border-color .3s ease; }

.itragec-home { background: var(--ink); color: var(--bone); font-family: 'Inter', system-ui, sans-serif; }
.itragec-home .container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
@media (max-width: 768px) { .itragec-home .container { padding: 0 18px; } }
.itragec-home .amber { color: var(--amber); }
.itragec-home .display, .itragec-home h1, .itragec-home h2, .itragec-home h3 {
    font-family: 'Archivo Black', 'Inter', sans-serif; font-weight: 900;
    letter-spacing: -0.02em; line-height: 0.95; text-transform: uppercase; color: var(--bone);
}
.itragec-home .mono { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; }
.itragec-home .h-hero { font-size: clamp(40px, 9vw, 120px); }
.itragec-home .h-page { font-size: clamp(26px, 3.8vw, 48px); }
.itragec-home .h-section { font-size: clamp(20px, 2.6vw, 32px); }
.itragec-home .h-sub { font-size: clamp(16px, 1.9vw, 24px); }
.itragec-home .h-card { font-size: clamp(15px, 1.3vw, 18px); }
.itragec-home .t-lead { font-size: clamp(13.5px, 0.95vw, 15px); line-height: 1.6; }

/* Section labels */
.itragec-home .section-label { display: flex; align-items: baseline; gap: 14px; border-top: 1px solid var(--line); padding-top: 14px; margin-bottom: 32px; }
.itragec-home .section-label .num { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; color: var(--amber); letter-spacing: 0.08em; }
.itragec-home .section-label .title { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bone); }
.itragec-home .section-label .meta { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; color: var(--concrete); margin-left: auto; }

/* Buttons */
.itragec-home .btn-itr { display: inline-flex; align-items: center; gap: 9px; padding: 11px 18px;
    font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase;
    font-weight: 500; border: 1px solid var(--bone); color: var(--bone); background: transparent;
    text-decoration: none; transition: all .25s ease; white-space: nowrap; cursor: pointer; }
.itragec-home .btn-itr:hover { background: var(--bone); color: var(--ink); }
.itragec-home .btn-itr .arrow { transition: transform .25s; }
.itragec-home .btn-itr:hover .arrow { transform: translateX(4px); }
.itragec-home .btn-amber { background: var(--amber); color: #fff; border-color: var(--amber); }
.itragec-home .btn-amber:hover { background: var(--amber-2); border-color: var(--amber-2); color: #fff; }
.itragec-home .btn-ghost { border-color: var(--line-2); background: transparent; }
.itragec-home .btn-ghost:hover { border-color: var(--amber); color: var(--amber); background: transparent; }

/* HERO */
.itragec-home .s_itr_hero { position: relative; min-height: 78vh; overflow: hidden; background: var(--ink); }
.itragec-home .s_itr_hero .hero-bg { position: absolute; inset: -10% 0 -10% 0; z-index: 0; }
.itragec-home .s_itr_hero .hero-img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.45) contrast(1.1) saturate(0.7); }
.itragec-home .s_itr_hero .hero-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.55) 60%, var(--ink) 100%); }
.itragec-home .s_itr_hero .hero-blueprint { position: absolute; inset: 0; opacity: 0.4;
    background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px); background-size: 48px 48px; }
.itragec-home .s_itr_hero .hero-content { position: relative; z-index: 2; padding-top: 130px; padding-bottom: 100px; }
.itragec-home .s_itr_hero .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--amber); margin-bottom: 24px; display: inline-flex; align-items: center; gap: 10px; }
.itragec-home .s_itr_hero .eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--amber); display: inline-block; }
.itragec-home .s_itr_hero .hero-title { margin-bottom: 20px; color: var(--bone); }
.itragec-home .s_itr_hero .hero-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 48px; align-items: end; }
@media (max-width: 768px) { .itragec-home .s_itr_hero .hero-bottom { grid-template-columns: 1fr; } }
.itragec-home .s_itr_hero .hero-sub { color: var(--bone-2); max-width: 540px; }
.itragec-home .s_itr_hero .hero-ctas { display: flex; gap: 12px; justify-content: flex-end; flex-wrap: wrap; }
@media (max-width: 768px) { .itragec-home .s_itr_hero .hero-ctas { justify-content: flex-start; } }
.itragec-home .s_itr_hero .hero-telemetry { position: absolute; bottom: 40px; left: 48px; right: 48px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line-2); padding-top: 24px; }
.itragec-home .s_itr_hero .hero-telemetry .coords { color: var(--concrete); }
.itragec-home .s_itr_hero .hero-telemetry .scroll-hint { color: var(--bone-2); display: flex; align-items: center; gap: 12px; }
.itragec-home .s_itr_hero .hero-telemetry .scroll-hint .dash { width: 24px; height: 1px; background: var(--bone-2); display: inline-block; }
.itragec-home .s_itr_hero .hero-telemetry .reg-no { color: var(--concrete); }
@media (max-width: 768px) { .itragec-home .s_itr_hero .hero-telemetry { display: none; } }

/* TICKER */
.itragec-home .s_itr_ticker { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; background: var(--ink-2); padding: 14px 0; }
.itragec-home .s_itr_ticker .ticker-track { display: flex; gap: 48px; animation: itr-ticker 50s linear infinite; width: max-content; align-items: center; }
.itragec-home .s_itr_ticker .ti { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bone); white-space: nowrap; }
.itragec-home .s_itr_ticker .dot { width: 6px; height: 6px; background: var(--amber); flex-shrink: 0; }
@keyframes itr-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* SERVICES */
.itragec-home .s_itr_services { padding: 56px 0; background: var(--ink); }
.itragec-home .s_itr_services .services-heading { margin-bottom: 36px; max-width: 900px; text-transform: none; letter-spacing: -0.02em; line-height: 1.05; }
.itragec-home .s_itr_services .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.itragec-home .s_itr_services .svc-card { display: block; text-decoration: none; background: var(--ink-2); border: 1px solid var(--line); position: relative; overflow: hidden; transition: border-color .3s, transform .4s; color: var(--bone); }
.itragec-home .s_itr_services .svc-card:hover { border-color: var(--amber); transform: translateY(-4px); }
.itragec-home .s_itr_services .svc-card:hover .svc-img img { filter: saturate(0.9); transform: scale(1.05); }
.itragec-home .s_itr_services .svc-card:hover .svc-overlay { background: linear-gradient(180deg, rgba(11,11,11,0) 30%, rgba(11,11,11,0.85) 100%); }
.itragec-home .s_itr_services .svc-card:hover .svc-arrow { background: var(--amber); color: var(--ink); }
.itragec-home .s_itr_services .svc-card:hover .svc-foot .mono { color: var(--amber); }
.itragec-home .s_itr_services .svc-img { aspect-ratio: 4/3; position: relative; overflow: hidden; }
.itragec-home .s_itr_services .svc-img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.5) brightness(0.6); transition: all .6s ease; }
.itragec-home .s_itr_services .svc-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,11,11,0.3) 0%, rgba(11,11,11,0.9) 100%); transition: background .4s; pointer-events: none; }
.itragec-home .s_itr_services .svc-tag { position: absolute; top: 20px; left: 20px; display: flex; align-items: center; gap: 10px; z-index: 2; }
.itragec-home .s_itr_services .svc-tag .num-chip { background: var(--amber); color: var(--ink); padding: 4px 8px; font-family: 'JetBrains Mono', monospace; font-size: 10.5px; font-weight: 700; }
.itragec-home .s_itr_services .svc-tag .mono { color: var(--bone-2); font-size: 10.5px; letter-spacing: 0.12em; }
.itragec-home .s_itr_services .svc-arrow { position: absolute; top: 20px; right: 20px; width: 36px; height: 36px; border: 1px solid var(--bone); background: transparent; color: var(--bone); display: flex; align-items: center; justify-content: center; transition: all .3s; z-index: 2; }
.itragec-home .s_itr_services .svc-body { padding: 24px 22px; }
.itragec-home .s_itr_services .svc-body h3 { margin-bottom: 10px; }
.itragec-home .s_itr_services .svc-body p { color: var(--bone-2); font-size: 13.5px; line-height: 1.6; min-height: 56px; margin: 0; }
.itragec-home .s_itr_services .svc-body .svc-foot { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
.itragec-home .s_itr_services .svc-body .svc-foot .mono { color: var(--concrete); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; transition: color .3s; }
.itragec-home .s_itr_services .svc-body .svc-foot .plus { width: 22px; height: 22px; border: 1px solid var(--line-2); display: flex; align-items: center; justify-content: center; color: var(--bone-2); font-family: 'JetBrains Mono', monospace; }

/* ABOUT */
.itragec-home .s_itr_about { padding: 56px 0; background: var(--ink-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.itragec-home .s_itr_about .about-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 36px; align-items: start; margin-bottom: 72px; }
@media (max-width: 768px) { .itragec-home .s_itr_about .about-grid { grid-template-columns: 1fr; } }
.itragec-home .s_itr_about .about-heading { text-transform: none; letter-spacing: -0.02em; line-height: 1.1; }
.itragec-home .s_itr_about .about-body { color: var(--bone-2); font-size: 15px; line-height: 1.7; margin-bottom: 28px; }
.itragec-home .s_itr_about .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
@media (max-width: 768px) { .itragec-home .s_itr_about .stats-grid { grid-template-columns: 1fr 1fr; } }
.itragec-home .s_itr_about .stat-cell { padding: 36px 28px; border-right: 1px solid var(--line); position: relative; }
.itragec-home .s_itr_about .stat-cell:last-child { border-right: none; }
.itragec-home .s_itr_about .stat-cell .mono { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; color: var(--amber); margin-bottom: 14px; }
.itragec-home .s_itr_about .stat-cell .stat-val { font-size: clamp(30px, 3.5vw, 46px); color: var(--bone); margin-bottom: 6px; line-height: 1; }
.itragec-home .s_itr_about .stat-cell .stat-label { color: var(--concrete); font-size: 12.5px; font-family: 'JetBrains Mono', monospace; text-transform: uppercase; letter-spacing: 0.08em; }

/* JOBS */
.itragec-home .s_itr_jobs { padding: 56px 0; background: var(--ink); position: relative; }
.itragec-home .s_itr_jobs .jobs-bg { position: absolute; inset: 0; opacity: 0.5; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px); background-size: 48px 48px; }
.itragec-home .s_itr_jobs .jobs-content { position: relative; z-index: 1; }
.itragec-home .s_itr_jobs .jobs-head { display: grid; grid-template-columns: 1.1fr 1fr; gap: 36px; margin-bottom: 36px; align-items: end; }
@media (max-width: 768px) { .itragec-home .s_itr_jobs .jobs-head { grid-template-columns: 1fr; } }
.itragec-home .s_itr_jobs .jobs-sub { color: var(--bone-2); font-size: 15px; line-height: 1.6; }
.itragec-home .s_itr_jobs .jobs-list { border: 1px solid var(--line); background: var(--ink-2); }
.itragec-home .s_itr_jobs .job-row { display: grid; grid-template-columns: 110px 1.4fr 1fr 1fr 60px; align-items: center; padding: 22px 28px; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--bone); transition: background .25s; position: relative; }
.itragec-home .s_itr_jobs .job-row:last-child { border-bottom: none; }
.itragec-home .s_itr_jobs .job-row:hover { background: var(--ink-3); }
.itragec-home .s_itr_jobs .job-row:hover::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--amber); }
.itragec-home .s_itr_jobs .job-row:hover .job-title { color: var(--amber); }
.itragec-home .s_itr_jobs .job-row:hover .job-arrow { color: var(--amber); }
.itragec-home .s_itr_jobs .job-row .job-code { color: var(--concrete); }
.itragec-home .s_itr_jobs .job-row .job-title { font-family: 'Archivo Black', sans-serif; font-size: 16px; color: var(--bone); transition: color .25s; text-transform: uppercase; }
.itragec-home .s_itr_jobs .job-row .job-type { color: var(--bone-2); }
.itragec-home .s_itr_jobs .job-row .job-loc { color: var(--concrete); }
.itragec-home .s_itr_jobs .job-row .job-arrow { text-align: right; color: var(--bone); font-size: 18px; }
.itragec-home .s_itr_jobs .job-row .mono { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; }
@media (max-width: 768px) { .itragec-home .s_itr_jobs .job-row { grid-template-columns: 1fr; gap: 4px; } }
.itragec-home .s_itr_jobs .jobs-cta { margin-top: 40px; display: flex; justify-content: center; }

/* REFERENCES */
.itragec-home .s_itr_refs_preview { padding: 56px 0; background: var(--ink-2); border-top: 1px solid var(--line); }
.itragec-home .s_itr_refs_preview .refs-head { display: grid; grid-template-columns: 1.1fr 1fr; gap: 36px; margin-bottom: 36px; align-items: end; }
@media (max-width: 768px) { .itragec-home .s_itr_refs_preview .refs-head { grid-template-columns: 1fr; } }
.itragec-home .s_itr_refs_preview .refs-sub { color: var(--bone-2); font-size: 15px; }
.itragec-home .s_itr_refs_preview .refs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 4px; }
.itragec-home .s_itr_refs_preview .ref-card { position: relative; display: block; text-decoration: none; background: var(--ink-3); overflow: hidden; aspect-ratio: 4/5; color: var(--bone); }
.itragec-home .s_itr_refs_preview .ref-card:hover img { transform: scale(1.08); filter: saturate(0.95) contrast(1.05); }
.itragec-home .s_itr_refs_preview .ref-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.6) brightness(0.7); transition: all .6s ease; }
.itragec-home .s_itr_refs_preview .ref-card .ref-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,11,11,0) 30%, rgba(11,11,11,0.95) 100%); pointer-events: none; }
.itragec-home .s_itr_refs_preview .ref-card .ref-top { position: absolute; top: 20px; left: 20px; right: 20px; display: flex; justify-content: space-between; z-index: 2; }
.itragec-home .s_itr_refs_preview .ref-card .ref-top .ref-cat { background: rgba(11,11,11,0.85); color: var(--amber); padding: 4px 8px; border: 1px solid var(--amber); }
.itragec-home .s_itr_refs_preview .ref-card .ref-top .ref-year { color: var(--bone); }
.itragec-home .s_itr_refs_preview .ref-card .ref-bottom { position: absolute; bottom: 0; left: 0; right: 0; padding: 22px; z-index: 2; }
.itragec-home .s_itr_refs_preview .ref-card .ref-bottom .ref-loc { color: var(--concrete); margin-bottom: 6px; }
.itragec-home .s_itr_refs_preview .ref-card .ref-bottom .ref-title { font-size: 18px; color: var(--bone); }
.itragec-home .s_itr_refs_preview .ref-card .mono { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; }
.itragec-home .s_itr_refs_preview .refs-cta { margin-top: 56px; display: flex; justify-content: center; }

/* PARTNERS */
.itragec-home .s_itr_partners { padding: 56px 0; border-top: 1px solid var(--line); background: var(--ink); }
.itragec-home .s_itr_partners .partners-heading { margin-bottom: 36px; max-width: 900px; text-transform: none; letter-spacing: -0.02em; }
.itragec-home .s_itr_partners .partners-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
@media (max-width: 768px) { .itragec-home .s_itr_partners .partners-grid { grid-template-columns: repeat(2, 1fr); } }
.itragec-home .s_itr_partners .partner-cell { padding: 48px 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: center; min-height: 140px; position: relative; transition: background .25s; }
.itragec-home .s_itr_partners .partner-cell:hover { background: var(--ink-2); }
.itragec-home .s_itr_partners .partner-cell .name { font-size: 15px; color: var(--bone-2); letter-spacing: 0.02em; }
.itragec-home .s_itr_partners .partner-cell .num { position: absolute; top: 12px; left: 12px; color: var(--concrete); font-family: 'JetBrains Mono', monospace; font-size: 10.5px; }

/* TESTIMONIALS */
.itragec-home .s_itr_testimonials { padding: 56px 0; background: var(--ink-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.itragec-home .s_itr_testimonials .testi-heading { margin-bottom: 56px; text-transform: none; letter-spacing: -0.02em; }
.itragec-home .s_itr_testimonials .testi-quote { min-height: 320px; }
.itragec-home .s_itr_testimonials .quote-mark { font-size: 48px; color: var(--amber); line-height: 1; margin-bottom: 10px; }
.itragec-home .s_itr_testimonials blockquote { line-height: 1.4; color: var(--bone); max-width: 1100px; font-weight: 300; margin-bottom: 32px; font-size: clamp(16px, 1.9vw, 24px); }
.itragec-home .s_itr_testimonials .testi-author { display: flex; align-items: center; gap: 16px; padding-top: 24px; border-top: 1px solid var(--line); }
.itragec-home .s_itr_testimonials .testi-author .avatar { width: 48px; height: 48px; background: var(--amber); color: var(--ink); display: flex; align-items: center; justify-content: center; font-family: 'Archivo Black', sans-serif; font-size: 16px; }
.itragec-home .s_itr_testimonials .testi-author .name { font-size: 18px; color: var(--bone); }
.itragec-home .s_itr_testimonials .testi-author .role { color: var(--concrete); font-family: 'JetBrains Mono', monospace; font-size: 10.5px; text-transform: uppercase; }
.itragec-home .s_itr_testimonials .testi-progress { display: flex; gap: 8px; margin-top: 40px; }
.itragec-home .s_itr_testimonials .testi-progress .bar { flex: 1; height: 3px; background: var(--line-2); }
.itragec-home .s_itr_testimonials .testi-progress .bar.active { background: var(--amber); }

/* ============================================ */
/* NAV ITRAGEC */
/* ============================================ */
.itragec-home .itr-nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    background: transparent;
    border-bottom: 1px solid transparent;
    transition: all .35s ease;
}
.itragec-home .itr-nav.scrolled {
    background: var(--overlay-nav);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom-color: var(--line);
}

.itragec-home .itr-nav-topbar {
    border-bottom: 1px solid var(--line);
    background: var(--overlay-soft);
}
.itragec-home .itr-nav-topbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 32px;
}
.itragec-home .itr-loc { color: var(--concrete); }
.itragec-home .itr-loc .dot.amber { color: var(--amber); }
.itragec-home .itr-top-right {
    display: flex;
    align-items: center;
    gap: 16px;
}
.itragec-home .itr-phone {
    color: var(--bone-2);
    text-decoration: none;
}
.itragec-home .itr-phone:hover { color: var(--amber); }
.itragec-home .itr-top-right .sep { color: var(--line-2); }

.itragec-home .theme-toggle {
    width: 56px; height: 24px;
    background: var(--ink-3);
    border: 1px solid var(--line-2);
    position: relative;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    padding: 0;
}
.itragec-home .theme-toggle .knob {
    position: absolute;
    top: 1px; left: 1px;
    width: 22px; height: 20px;
    background: var(--amber);
    transition: transform .25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.itragec-home[data-theme="light"] .theme-toggle .knob { transform: translateX(30px); }
.itragec-home[data-theme="dark"] .theme-toggle .knob::before { content: "☾"; font-size: 10px; }
.itragec-home[data-theme="light"] .theme-toggle .knob::before { content: "☀"; font-size: 10px; }
.itragec-home .theme-toggle .icon-sun,
.itragec-home .theme-toggle .icon-moon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'JetBrains Mono', monospace;
    font-size: 9px;
    color: var(--concrete);
}
.itragec-home .theme-toggle .icon-sun { right: 6px; }
.itragec-home .theme-toggle .icon-moon { left: 6px; }

.itragec-home .lang-switch {
    display: inline-flex;
    border: 1px solid var(--line-2);
}
.itragec-home .lang-switch .lang-btn {
    padding: 4px 10px;
    background: transparent;
    color: var(--bone-2);
    font-weight: 600;
    border: none;
    cursor: pointer;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.08em;
}
.itragec-home .lang-switch .lang-btn.active {
    background: var(--amber);
    color: #fff;
}

.itragec-home .itr-nav-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 76px;
    transition: height .3s;
}
.itragec-home .itr-nav.scrolled .itr-nav-main { height: 60px; }

.itragec-home .itr-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--bone);
}
.itragec-home .itr-logo { transition: width .3s, height .3s; }
.itragec-home .itr-nav.scrolled .itr-logo { width: 26px; height: 26px; }
.itragec-home .itr-brand-text { text-align: left; }
.itragec-home .itr-brand-name {
    font-size: 16px;
    letter-spacing: 0.02em;
    font-family: 'Archivo Black', sans-serif;
    color: var(--bone);
}
.itragec-home .itr-nav.scrolled .itr-brand-name { font-size: 14px; }
.itragec-home .itr-brand-sub {
    font-size: 8.5px;
    color: var(--concrete);
    margin-top: -2px;
    font-family: 'JetBrains Mono', monospace;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.itragec-home .itr-desktop-nav {
    display: flex;
    align-items: center;
    gap: 2px;
}
.itragec-home .itr-link {
    padding: 8px 14px;
    color: var(--bone);
    text-decoration: none;
    position: relative;
    font-weight: 500;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.itragec-home .itr-link .num {
    color: var(--concrete);
    margin-right: 6px;
    font-size: 9px;
}
.itragec-home .itr-link.active {
    color: var(--amber);
}
.itragec-home .itr-link.active .num { color: var(--amber); }
.itragec-home .itr-link.active::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 14px; right: 14px;
    height: 2px;
    background: var(--amber);
}
.itragec-home .itr-link:hover { color: var(--amber); }
.itragec-home .itr-sep {
    width: 1px;
    height: 18px;
    background: var(--line-2);
    margin: 0 10px;
}

.itragec-home .itr-burger {
    display: none;
    flex-direction: column;
    gap: 4px;
    padding: 8px;
    background: transparent;
    border: none;
    cursor: pointer;
}
.itragec-home .itr-burger span {
    width: 20px;
    height: 2px;
    background: var(--bone);
    display: block;
}

.itragec-home .itr-mobile-menu {
    display: none;
    background: var(--ink);
    border-top: 1px solid var(--line);
    padding: 20px;
}
.itragec-home .itr-mobile-menu.open { display: block; }
.itragec-home .itr-mobile-menu a {
    display: block;
    width: 100%;
    text-align: left;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
    color: var(--bone);
    text-decoration: none;
    font-family: 'Archivo Black', sans-serif;
    text-transform: uppercase;
    font-size: 18px;
}
.itragec-home .itr-mobile-menu a.amber { color: var(--amber); }
.itragec-home .itr-mobile-menu .mono {
    margin-right: 12px;
    color: var(--concrete);
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.08em;
}

@media (max-width: 900px) {
    .itragec-home .itr-desktop-nav { display: none; }
    .itragec-home .itr-burger { display: flex; }
}
@media (max-width: 600px) {
    .itragec-home .itr-loc { display: none; }
}

/* ============================================ */
/* FOOTER ITRAGEC */
/* ============================================ */
.itragec-home .itr-footer {
    background: var(--ink);
    border-top: 1px solid var(--line);
}
.itragec-home .itr-footer .hazard {
    background: repeating-linear-gradient(-45deg, var(--amber) 0 14px, var(--ink) 14px 28px);
}
.itragec-home .itr-footer-inner {
    padding: 64px 32px 32px;
}
.itragec-home .itr-footer-cta {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 40px;
    align-items: end;
    padding-bottom: 56px;
    border-bottom: 1px solid var(--line);
}
.itragec-home .itr-footer-tagline {
    font-family: 'Archivo Black', sans-serif;
    color: var(--bone);
    text-transform: none;
    letter-spacing: -0.02em;
    line-height: 1.1;
}
.itragec-home .itr-footer-cta-btn {
    justify-self: end;
    padding: 16px 24px;
}

.itragec-home .itr-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px;
    padding: 40px 0;
}
.itragec-home .itr-footer-col-title {
    color: var(--concrete);
    margin-bottom: 16px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.itragec-home .itr-footer-brand .itr-brand-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.itragec-home .itr-footer-brand-name {
    font-size: 18px;
    color: var(--bone);
    font-family: 'Archivo Black', sans-serif;
}
.itragec-home .itr-footer-desc {
    color: var(--bone-2);
    max-width: 360px;
    font-size: 13.5px;
    line-height: 1.6;
}
.itragec-home .itr-footer-list {
    list-style: none;
    display: grid;
    gap: 8px;
    padding: 0;
    margin: 0;
}
.itragec-home .itr-footer-list a {
    color: var(--bone);
    text-decoration: none;
    font-size: 14px;
}
.itragec-home .itr-footer-list a:hover { color: var(--amber); }
.itragec-home .itr-footer-list a.muted { color: var(--concrete); }
.itragec-home .itr-footer-addr {
    font-style: normal;
    color: var(--bone);
    font-size: 14px;
    line-height: 1.7;
}
.itragec-home .itr-footer-gps {
    color: var(--amber);
    margin-top: 8px;
    display: block;
    font-size: 11px;
}

.itragec-home .itr-footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 32px;
    border-top: 1px solid var(--line);
}
.itragec-home .itr-copy {
    color: var(--concrete);
}
.itragec-home .itr-back {
    background: transparent;
    border: none;
    color: var(--bone);
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.itragec-home .itr-back:hover { color: var(--amber); }

@media (max-width: 768px) {
    .itragec-home .itr-footer-cta { grid-template-columns: 1fr; }
    .itragec-home .itr-footer-cta-btn { justify-self: start; }
    .itragec-home .itr-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .itragec-home .itr-footer-grid { grid-template-columns: 1fr; }
    .itragec-home .itr-footer-bottom { flex-direction: column; gap: 16px; }
}

/* Hero spacing - hero-content has padding-top: 130px to clear the fixed nav.
   For internal pages with shorter hero, hero-content already includes proper top spacing. */

/* Ensure the page wrapper is full-width to prevent layout collapse */
.itragec-home {
    width: 100%;
    min-height: 100vh;
    display: block;
}

/* Override any Bootstrap container max-width inside itragec-home */
.itragec-home .container {
    max-width: 1280px !important;
    width: 100%;
}

/* Make sure all sections fill width */
.itragec-home section { width: 100%; display: block; }

/* Ensure body has no extra margin */
body { margin: 0; padding: 0; }
html, body { overflow-x: hidden; }

/* Fix horizontal scroll from ticker */
.itragec-home .s_itr_ticker { max-width: 100%; }

/* ============================================ */
/* PAGES INTERNES (Activités, Réfs, Carrières, Contact) */
/* ============================================ */

/* Activities */
.itragec-home .itr-act-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.itragec-home .itr-act-grid.reverse { grid-template-columns: 1fr 1fr; }
.itragec-home .itr-act-img {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    border: 1px solid var(--line);
}
.itragec-home .itr-act-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    filter: saturate(0.6) brightness(0.7);
    transition: all .5s ease;
}
.itragec-home .itr-act-img:hover img { filter: saturate(0.9) brightness(0.85); transform: scale(1.04); }
.itragec-home .itr-act-img-tag {
    position: absolute; top: 20px; left: 20px;
    display: flex; align-items: center; gap: 10px;
}
.itragec-home .itr-act-img-tag .num-chip {
    background: var(--amber); color: var(--ink);
    padding: 4px 8px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px; font-weight: 700;
}
.itragec-home .itr-act-img-tag .mono {
    color: var(--bone);
    background: rgba(11,11,11,0.6);
    padding: 4px 8px;
}
.itragec-home .itr-cap-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 24px;
    margin-top: 12px;
}
.itragec-home .cap {
    color: var(--bone-2);
    font-family: 'JetBrains Mono', monospace;
    font-size: 12.5px;
    padding-left: 16px;
    position: relative;
}
.itragec-home .cap::before {
    content: ""; position: absolute; left: 0; top: 8px;
    width: 8px; height: 1px; background: var(--amber);
}
@media (max-width: 768px) {
    .itragec-home .itr-act-grid,
    .itragec-home .itr-act-grid.reverse { grid-template-columns: 1fr; gap: 32px; }
}

/* References full page */
.itragec-home .s_itr_refs_full .ref-filters {
    display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 48px;
}
.itragec-home .s_itr_refs_full .ref-filter-btn {
    padding: 10px 18px;
    border: 1px solid var(--line-2);
    background: transparent;
    color: var(--bone);
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .2s;
    text-decoration: none;
}
.itragec-home .s_itr_refs_full .ref-filter-btn:hover,
.itragec-home .s_itr_refs_full .ref-filter-btn.active {
    border-color: var(--amber);
    color: var(--amber);
}
.itragec-home .refs-grid-full {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 4px;
}
.itragec-home .refs-grid-full .ref-card {
    position: relative;
    display: block;
    aspect-ratio: 4/5;
    overflow: hidden;
    background: var(--ink-2);
    color: var(--bone);
    text-decoration: none;
}
.itragec-home .refs-grid-full .ref-card img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    filter: saturate(0.6) brightness(0.7);
    transition: all .6s ease;
}
.itragec-home .refs-grid-full .ref-card:hover img { transform: scale(1.08); filter: saturate(0.95) brightness(0.85); }
.itragec-home .refs-grid-full .ref-card .ref-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(11,11,11,0) 30%, rgba(11,11,11,0.95) 100%);
}
.itragec-home .refs-grid-full .ref-card .ref-top {
    position: absolute; top: 20px; left: 20px; right: 20px;
    display: flex; justify-content: space-between;
    z-index: 2;
}
.itragec-home .refs-grid-full .ref-card .ref-cat {
    background: rgba(11,11,11,0.85);
    color: var(--amber);
    border: 1px solid var(--amber);
    padding: 4px 8px;
}
.itragec-home .refs-grid-full .ref-card .ref-year { color: var(--bone); }
.itragec-home .refs-grid-full .ref-card .ref-bottom {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 24px;
    z-index: 2;
}
.itragec-home .refs-grid-full .ref-card .ref-loc {
    color: var(--concrete); margin-bottom: 6px;
}
.itragec-home .refs-grid-full .ref-card .ref-title {
    font-size: 20px; color: var(--bone); margin-bottom: 8px;
}
.itragec-home .refs-grid-full .ref-card .ref-surface {
    font-size: 11px;
}

/* Careers process steps */
.itragec-home .itr-process {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1px;
    background: var(--line);
    border: 1px solid var(--line);
}
.itragec-home .itr-process .step {
    padding: 32px 24px;
    background: var(--ink-2);
}
.itragec-home .itr-process .step-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    color: var(--amber);
    margin-bottom: 16px;
    letter-spacing: 0.12em;
}
.itragec-home .itr-process .step-title {
    font-family: 'Archivo Black', sans-serif;
    font-size: 18px;
    color: var(--bone);
    text-transform: uppercase;
    margin-bottom: 12px;
}
.itragec-home .itr-process .step-desc {
    color: var(--bone-2);
    font-size: 13px;
    line-height: 1.6;
}

/* Contact page */
.itragec-home .itr-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 80px;
}
@media (max-width: 900px) {
    .itragec-home .itr-contact-grid { grid-template-columns: 1fr; gap: 48px; }
}
.itragec-home .contact-info-block {
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
}
.itragec-home .contact-info-block .label {
    margin-bottom: 6px;
}
.itragec-home .contact-info-block .info-val {
    color: var(--bone);
    font-size: 15px;
    line-height: 1.7;
    font-style: normal;
}
.itragec-home .contact-info-block .info-val.link {
    text-decoration: none;
    display: block;
}
.itragec-home .contact-info-block .info-val.link:hover { color: var(--amber); }

.itragec-home .itr-contact-form .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}
.itragec-home .itr-contact-form .form-full { margin-bottom: 16px; }
.itragec-home .itr-contact-form label {
    display: block;
    color: var(--amber);
    margin-bottom: 6px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.itragec-home .itr-contact-form .field-input,
.itragec-home .itr-contact-form .field-textarea {
    width: 100%;
    background: var(--ink-2);
    border: 1px solid var(--line-2);
    padding: 14px 16px;
    color: var(--bone);
    font-size: 14px;
    font-family: inherit;
}
.itragec-home .itr-contact-form .field-input:focus,
.itragec-home .itr-contact-form .field-textarea:focus {
    outline: none;
    border-color: var(--amber);
}
.itragec-home .itr-contact-form .field-textarea {
    resize: vertical;
    min-height: 120px;
}
@media (max-width: 600px) {
    .itragec-home .itr-contact-form .form-row { grid-template-columns: 1fr; }
}

/* Main wrapper (pages other than home) ensures footer is below content */
.itragec-home .itr-main {
    min-height: 50vh;
}

/* ============================================ */
/* FLOATING ACTION BUTTONS (WhatsApp + Top) */
/* ============================================ */
.itragec-home .itr-fab {
    position: fixed;
    right: 24px;
    bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 99;
}
.itragec-home .itr-fab-btn {
    width: 52px; height: 52px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    border: none;
    cursor: pointer;
    color: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    transition: transform .2s, box-shadow .2s;
    text-decoration: none;
}
.itragec-home .itr-fab-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.4);
}
.itragec-home .itr-fab-wa {
    background: #25D366;
}
.itragec-home .itr-fab-wa:hover { background: #1ebd5b; }
.itragec-home .itr-fab-top {
    background: var(--amber);
    color: #fff;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s, transform .2s;
}
.itragec-home .itr-fab-top.visible {
    opacity: 1;
    pointer-events: auto;
}
.itragec-home .itr-fab-top:hover { background: var(--amber-2); }

@media (max-width: 600px) {
    .itragec-home .itr-fab { right: 16px; bottom: 16px; }
    .itragec-home .itr-fab-btn { width: 46px; height: 46px; }
}

/* ============================================ */
/* THANK YOU PAGE */
/* ============================================ */
.itragec-home .itr-thankyou {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 100px 0;
    background: var(--ink);
    position: relative;
    overflow: hidden;
}
.itragec-home .itr-thankyou::before {
    content: "";
    position: absolute; inset: 0;
    background-image: linear-gradient(var(--blueprint) 1px, transparent 1px), linear-gradient(90deg, var(--blueprint) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: 0.5;
}
.itragec-home .itr-thankyou-content {
    position: relative;
    z-index: 1;
    max-width: 680px;
    padding: 0 32px;
}
.itragec-home .itr-thankyou-check {
    width: 80px; height: 80px;
    border-radius: 50%;
    background: var(--amber);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 32px;
    font-size: 40px;
    font-family: 'Archivo Black', sans-serif;
}

/* ============================================ */
/* BREADCRUMB (under hero on inner pages) */
/* ============================================ */
.itragec-home .itr-breadcrumb {
    background: var(--ink-2);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 14px 0;
}
.itragec-home .itr-breadcrumb .container {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.itragec-home .itr-breadcrumb a,
.itragec-home .itr-breadcrumb .crumb {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--concrete);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.itragec-home .itr-breadcrumb a:hover { color: var(--amber); }
.itragec-home .itr-breadcrumb .sep { color: var(--line-2); }
.itragec-home .itr-breadcrumb .current { color: var(--amber); }

/* ============================================ */
/* FIXES & POLISH */
/* ============================================ */

/* Hide Odoo skip-to-content link visually but keep accessible */
.o_skip_to_content { display: none !important; }

/* Ensure nav is always above the fixed FAB */
.itragec-home .itr-nav { z-index: 100; }
.itragec-home .itr-fab { z-index: 99; }

/* Smoother section transitions */
.itragec-home section { position: relative; }

/* Ensure hero image really covers the full hero */
.itragec-home .s_itr_hero {
    isolation: isolate;
}
.itragec-home .s_itr_hero .hero-bg {
    position: absolute !important;
    top: -10% !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -10% !important;
    z-index: 0 !important;
}
.itragec-home .s_itr_hero .hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Force consistent section backgrounds (override any Bootstrap inheritance) */
.itragec-home .s_itr_services { background-color: var(--ink) !important; }
.itragec-home .s_itr_about { background-color: var(--ink-2) !important; }
.itragec-home .s_itr_jobs { background-color: var(--ink) !important; }
.itragec-home .s_itr_refs_preview { background-color: var(--ink-2) !important; }
.itragec-home .s_itr_partners { background-color: var(--ink) !important; }
.itragec-home .s_itr_testimonials { background-color: var(--ink-2) !important; }
.itragec-home .itr-footer { background-color: var(--ink) !important; }

/* Better nav backdrop on scroll */
.itragec-home .itr-nav.scrolled {
    background: rgba(11, 11, 11, 0.92) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
.itragec-home[data-theme="light"] .itr-nav.scrolled {
    background: rgba(245, 239, 227, 0.92) !important;
}

/* Stronger hover states */
.itragec-home .svc-card:hover { box-shadow: 0 8px 30px rgba(245, 166, 35, 0.15); }
.itragec-home .ref-card:hover { box-shadow: 0 8px 30px rgba(245, 166, 35, 0.2); }

/* Better mobile responsiveness */
@media (max-width: 768px) {
    .itragec-home .s_itr_hero { min-height: 70vh; }
    .itragec-home .s_itr_hero .hero-content { padding-top: 100px; padding-bottom: 60px; }
    .itragec-home .itr-nav-main { height: 60px; }
    .itragec-home .itr-nav-topbar .container { height: auto; padding: 6px 16px; flex-wrap: wrap; gap: 8px; }
    .itragec-home .itr-brand-text { display: none; }
    .itragec-home .s_itr_services, .itragec-home .s_itr_about,
    .itragec-home .s_itr_jobs, .itragec-home .s_itr_refs_preview,
    .itragec-home .s_itr_partners, .itragec-home .s_itr_testimonials { padding: 48px 0; }
}

/* ============================================ */
/* JOB DETAIL PAGE */
/* ============================================ */
.itragec-home .itr-job-detail-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 64px;
    align-items: start;
}
@media (max-width: 900px) {
    .itragec-home .itr-job-detail-grid { grid-template-columns: 1fr; }
}
.itragec-home .itr-job-desc {
    color: var(--bone-2);
    line-height: 1.7;
    font-size: 15px;
}
.itragec-home .itr-job-desc h5,
.itragec-home .itr-job-desc h4,
.itragec-home .itr-job-desc h3 {
    font-family: 'Archivo Black', sans-serif;
    color: var(--bone);
    text-transform: uppercase;
    font-size: 16px;
    margin-top: 32px;
    margin-bottom: 16px;
    letter-spacing: -0.01em;
}
.itragec-home .itr-job-desc p {
    margin-bottom: 16px;
}
.itragec-home .itr-job-desc ul {
    margin-bottom: 16px;
    padding-left: 20px;
}
.itragec-home .itr-job-desc li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 8px;
}
.itragec-home .itr-job-desc li::marker {
    color: var(--amber);
}
.itragec-home .itr-job-desc strong { color: var(--bone); }

/* Aside card */
.itragec-home .itr-job-aside { position: sticky; top: 130px; }
@media (max-width: 900px) {
    .itragec-home .itr-job-aside { position: relative; top: 0; }
}
.itragec-home .itr-job-card {
    background: var(--ink-2);
    border: 1px solid var(--line);
    padding: 32px 28px;
}
.itragec-home .itr-job-card-label {
    color: var(--amber);
    margin-bottom: 12px;
}
.itragec-home .itr-job-card-title {
    font-family: 'Archivo Black', sans-serif;
    color: var(--bone);
    text-transform: uppercase;
    font-size: 22px;
    margin-bottom: 24px;
}
.itragec-home .itr-job-meta {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    border-top: 1px solid var(--line);
}
.itragec-home .itr-job-meta li {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
    gap: 12px;
}
.itragec-home .itr-meta-label { color: var(--concrete); }
.itragec-home .itr-meta-val {
    color: var(--bone);
    font-size: 13.5px;
    text-align: right;
}
.itragec-home .itr-job-apply-btn {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 16px;
    margin-bottom: 12px;
}
.itragec-home .itr-job-apply-alt {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 12px;
}

/* Job list page */
.itragec-home.js_hr_recruitment {
    background: var(--ink);
    color: var(--bone);
    min-height: 100vh;
    padding: 60px 0;
}
.itragec-home.js_hr_recruitment h1,
.itragec-home.js_hr_recruitment h2 {
    color: var(--bone) !important;
}
.itragec-home.js_hr_recruitment .container { color: var(--bone); }
.itragec-home.js_hr_recruitment a { color: var(--amber); }
.itragec-home.js_hr_recruitment .card,
.itragec-home.js_hr_recruitment .o_wblog_post {
    background: var(--ink-2) !important;
    border: 1px solid var(--line) !important;
    color: var(--bone) !important;
}

/* ============================================ */
/* JOB APPLY PAGE */
/* ============================================ */
.itragec-home .itr-apply-section {
    padding: 80px 0;
    background: var(--ink);
}
.itragec-home .itr-apply-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 64px;
    align-items: start;
}
@media (max-width: 900px) {
    .itragec-home .itr-apply-grid { grid-template-columns: 1fr; }
}
.itragec-home .itr-apply-form-wrap { }
.itragec-home .itr-apply-form {
    margin-top: 24px;
}
.itragec-home .itr-apply-form .itr-apply-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
}
.itragec-home .itr-apply-form .itr-apply-full {
    margin-bottom: 20px;
}
@media (max-width: 600px) {
    .itragec-home .itr-apply-form .itr-apply-row { grid-template-columns: 1fr; }
}
.itragec-home .itr-apply-form label {
    display: block;
    color: var(--amber);
    margin-bottom: 8px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.itragec-home .itr-apply-form .field-input,
.itragec-home .itr-apply-form .field-textarea {
    width: 100%;
    background: var(--ink-2);
    border: 1px solid var(--line-2);
    padding: 14px 16px;
    color: var(--bone);
    font-size: 14px;
    font-family: inherit;
}
.itragec-home .itr-apply-form .field-input:focus,
.itragec-home .itr-apply-form .field-textarea:focus {
    outline: none;
    border-color: var(--amber);
}
.itragec-home .itr-apply-form .field-input[type="file"] {
    padding: 10px;
    cursor: pointer;
}
.itragec-home .itr-apply-form .field-textarea {
    resize: vertical;
    min-height: 120px;
}

/* ============================================ */
/* LOGIN PAGE ITRAGEC */
/* ============================================ */
.itr-login-wrap {
    min-height: 100vh;
    background: var(--ink, #0b0b0b);
    color: var(--bone, #f3ede2);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    position: relative;
    overflow: hidden;
}
.itr-login-wrap::before {
    content: "";
    position: absolute; inset: 0;
    background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
}
.itr-login-card {
    background: var(--ink-2, #131313);
    border: 1px solid var(--line, #2a2a2a);
    padding: 48px 40px;
    width: 100%;
    max-width: 440px;
    position: relative;
    z-index: 1;
}
.itr-login-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 32px;
}
.itr-login-brand .display {
    font-family: 'Archivo Black', sans-serif;
    font-size: 18px;
    color: var(--bone);
    letter-spacing: 0.04em;
}
.itr-login-card h2 {
    font-family: 'Archivo Black', sans-serif;
    font-size: 28px;
    color: var(--bone);
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
}
.itr-login-card .mono {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--concrete, #8a8378);
    margin-bottom: 32px;
}
.itr-login-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--bone-2, #c8c2b6);
    text-decoration: none;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-top: 32px;
}
.itr-login-back:hover { color: var(--amber, #f5a623); }

/* Style Odoo login form fields inside ITRAGEC wrapper */
.itr-login-wrap .form-label {
    color: var(--amber) !important;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.itr-login-wrap input.form-control {
    background: var(--ink) !important;
    border: 1px solid var(--line-2) !important;
    color: var(--bone) !important;
    padding: 12px 14px !important;
    border-radius: 0 !important;
}
.itr-login-wrap input.form-control:focus {
    border-color: var(--amber) !important;
    box-shadow: none !important;
}
.itr-login-wrap .btn-primary {
    background: var(--amber) !important;
    border-color: var(--amber) !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 12px 24px !important;
}
.itr-login-wrap .btn-primary:hover {
    background: var(--amber-2, #ffb733) !important;
    border-color: var(--amber-2) !important;
}
.itr-login-wrap a { color: var(--amber); }
.itr-login-wrap a:hover { color: var(--amber-2, #ffb733); }
.itr-login-wrap .text-danger,
.itr-login-wrap .alert-danger {
    color: #ff6b6b !important;
    background: rgba(255,107,107,0.1) !important;
    border-color: rgba(255,107,107,0.3) !important;
}

/* ============================================ */
/* FORCE FORM STYLES (override Bootstrap) */
/* ============================================ */
.itragec-home .itr-contact-form label,
.itragec-home .itr-apply-form label {
    display: block !important;
    width: 100% !important;
    color: var(--amber) !important;
    margin-bottom: 8px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 10.5px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-align: left !important;
    float: none !important;
}

.itragec-home .itr-contact-form .field-input,
.itragec-home .itr-contact-form .field-textarea,
.itragec-home .itr-apply-form .field-input,
.itragec-home .itr-apply-form .field-textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.itragec-home .itr-apply-form .itr-apply-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
    width: 100% !important;
}
.itragec-home .itr-apply-form .itr-apply-full {
    margin-bottom: 20px !important;
    width: 100% !important;
    display: block !important;
}

.itragec-home .itr-contact-form .form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
    width: 100% !important;
}
.itragec-home .itr-contact-form .form-full {
    margin-bottom: 16px !important;
    width: 100% !important;
    display: block !important;
}

@media (max-width: 600px) {
    .itragec-home .itr-apply-form .itr-apply-row,
    .itragec-home .itr-contact-form .form-row {
        grid-template-columns: 1fr !important;
    }
}

.itragec-home .itr-apply-grid,
.itragec-home .itr-job-detail-grid {
    display: grid !important;
    grid-template-columns: 1.6fr 1fr !important;
    gap: 64px !important;
    align-items: start !important;
}
@media (max-width: 900px) {
    .itragec-home .itr-apply-grid,
    .itragec-home .itr-job-detail-grid {
        grid-template-columns: 1fr !important;
    }
}

.itragec-home .itr-contact-grid {
    display: grid !important;
    grid-template-columns: 1fr 1.4fr !important;
    gap: 80px !important;
}
@media (max-width: 900px) {
    .itragec-home .itr-contact-grid {
        grid-template-columns: 1fr !important;
        gap: 48px !important;
    }
}

/* Style file input properly */
.itragec-home input[type="file"].field-input {
    padding: 10px !important;
    cursor: pointer !important;
    color: var(--bone) !important;
}
.itragec-home input[type="file"].field-input::file-selector-button {
    background: var(--amber);
    color: #fff;
    border: none;
    padding: 8px 14px;
    margin-right: 12px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
}

/* Style select dropdown */
.itragec-home select.field-input {
    appearance: none;
    -webkit-appearance: none;
    background: var(--ink-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23f5a623' d='M2 4l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 14px center !important;
    padding-right: 36px !important;
    cursor: pointer;
}
