/* home.css — styles exclusifs à la page d'accueil (front-page.php) */

/* ── Hero ───────────────────────────────────────────────────── */
.arbolis-hero {
    background: var(--arbolis-forest);
    min-height: calc(100vh - 68px);
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
}
.arbolis-hero-content {
    padding: 64px var(--arbolis-gp);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.arbolis-hero-eyebrow {
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .2em;
    color: rgba(200,184,154,.42);
    text-transform: uppercase;
    margin-bottom: 32px;
}
.arbolis-hero-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(40px, 5vw, 70px);
    font-weight: 700;
    color: var(--arbolis-cream);
    line-height: 1.04;
    letter-spacing: -.03em;
    margin-bottom: 32px;
}
.arbolis-hero-title em { color: var(--arbolis-sand); font-style: italic; }
.arbolis-hero-desc {
    font-size: 16px;
    color: rgba(245,240,232,.70);
    line-height: 1.85;
    font-weight: 300;
    max-width: 400px;
    margin-bottom: 48px;
}
.arbolis-hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 56px; }
.arbolis-hero-reassurance {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-top: 48px;
    border-top: 1px solid rgba(245,240,232,.08);
}
.arbolis-ri { display: flex; align-items: flex-start; gap: 16px; }
.arbolis-ri-icon {
    width: 38px; height: 38px; border-radius: 6px;
    background: rgba(200,184,154,.07);
    border: 1px solid rgba(200,184,154,.1);
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; flex-shrink: 0;
}
.arbolis-ri-title { font-size: 13px; font-weight: 500; color: rgba(245,240,232,.75); line-height: 1.3; }
.arbolis-ri-sub   { font-size: 12px; color: rgba(245,240,232,.45); font-weight: 300; margin-top: 3px; }
.arbolis-hero-visual { display: none; position: relative; overflow: hidden; }
.arbolis-hero-visual svg,
.arbolis-hero-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.arbolis-hero-badge {
    position: absolute; bottom: 44px; right: 44px;
    background: rgba(200,184,154,.07);
    border: 1px solid rgba(200,184,154,.13);
    padding: 20px 24px; border-radius: 2px; max-width: 185px;
}
.arbolis-hero-badge p {
    font-family: 'Playfair Display', serif; font-size: 12px; font-style: italic;
    color: rgba(200,184,154,.48); line-height: 1.75; text-align: center;
}

/* ── Certif bar ─────────────────────────────────────────────── */
.arbolis-certif-bar {
    background: var(--arbolis-forest-mid);
    padding: 14px 0;
    border-top: 1px solid rgba(255,255,255,.04);
}
.arbolis-certif-inner {
    display: flex; align-items: center;
    overflow-x: auto; scrollbar-width: none;
    padding: 0 var(--arbolis-gp); gap: 0;
}
.arbolis-certif-inner::-webkit-scrollbar { display: none; }
.arbolis-certif-item {
    display: flex; align-items: center; gap: 8px;
    color: rgba(245,240,232,.4); font-size: 11px;
    letter-spacing: .05em; white-space: nowrap; flex-shrink: 0;
    padding: 0 26px; position: relative;
}
.arbolis-certif-item:first-child { padding-left: 0; }
.arbolis-certif-item + .arbolis-certif-item::before {
    content: ''; position: absolute; left: 0; top: 50%;
    transform: translateY(-50%); width: 1px; height: 12px;
    background: rgba(245,240,232,.1);
}
.arbolis-certif-dot {
    width: 4px; height: 4px; background: var(--arbolis-sand);
    border-radius: 50%; flex-shrink: 0;
}

/* ── Section intro ──────────────────────────────────────────── */
.arbolis-intro-grid {
    display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center;
}
.arbolis-intro-visual {
    position: relative; height: 300px; border-radius: 3px; overflow: hidden; flex-shrink: 0;
}
.arbolis-intro-visual svg,
.arbolis-intro-visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.arbolis-intro-caption {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(to top, rgba(26,46,26,.95) 0%, rgba(26,46,26,.55) 55%, transparent 100%);
    padding: 44px 28px 28px;
}
.arbolis-intro-caption p {
    font-family: 'Playfair Display', serif; font-size: 13px;
    font-style: italic; color: rgba(245,240,232,.52); line-height: 1.7;
}
.arbolis-intro-body {
    font-size: 15px; color: var(--arbolis-muted); font-weight: 300;
    line-height: 1.9; margin-bottom: 34px; margin-top: 20px;
}
.arbolis-intro-values { display: flex; flex-direction: column; gap: 20px; margin-bottom: 38px; }
.arbolis-value-item  { display: flex; gap: 18px; align-items: flex-start; }
.arbolis-value-rule  { width: 1px; background: var(--arbolis-border); flex-shrink: 0; align-self: stretch; }
.arbolis-value-title { font-size: 11px; font-weight: 500; color: var(--arbolis-charcoal); letter-spacing: .06em; text-transform: uppercase; margin-bottom: 4px; }
.arbolis-value-desc  { font-size: 13px; color: var(--arbolis-muted); font-weight: 300; line-height: 1.7; }

/* ── Services section (fond alterné) ───────────────────────── */
.arbolis-services-section { background: var(--arbolis-cream-dark); padding: 110px 0; }
.arbolis-services-section .arbolis-services-grid { margin-top: 60px; }

/* ── Urgence section (home) ─────────────────────────────────── */
.arbolis-urgence-section { padding: 110px 0; background: var(--arbolis-cream); }
.arbolis-urgence-grid {
    display: grid; grid-template-columns: 1fr;
    gap: 2px; background: var(--arbolis-border); margin-top: 60px;
}
.arbolis-urgence-left  { background: var(--arbolis-cream); padding: 48px 36px; }
.arbolis-urgence-right { background: var(--arbolis-forest); padding: 48px 36px; }
.arbolis-urg-eyebrow {
    font-size: 10px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase;
    color: var(--arbolis-bark); margin-bottom: 16px; display: flex; align-items: center; gap: 10px;
}
.arbolis-urg-eyebrow::before { content: ''; width: 20px; height: 1px; background: var(--arbolis-bark); }
.arbolis-urg-title  { font-family: 'Playfair Display', serif; font-size: clamp(20px, 2.2vw, 28px); font-weight: 700; color: var(--arbolis-charcoal); line-height: 1.2; margin-bottom: 16px; }
.arbolis-urg-desc   { font-size: 14px; color: var(--arbolis-muted); font-weight: 300; line-height: 1.85; margin-bottom: 32px; max-width: 360px; }
.arbolis-urg-scenarios { display: flex; flex-direction: column; gap: 10px; margin-bottom: 40px; }
.arbolis-urg-scenario  { display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--arbolis-charcoal); font-weight: 300; }
.arbolis-urg-icon { width: 34px; height: 34px; border-radius: 5px; background: var(--arbolis-cream-dark); border: 1px solid var(--arbolis-border); display: flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; }
.arbolis-urg-contact-eyebrow { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: rgba(200,184,154,.35); margin-bottom: 14px; }
.arbolis-urg-phone { font-family: 'Playfair Display', serif; font-size: clamp(28px, 3vw, 42px); font-weight: 700; color: var(--arbolis-cream); letter-spacing: -.025em; margin-bottom: 6px; }
.arbolis-urg-phone a { color: inherit; text-decoration: none; }
.arbolis-urg-avail { font-size: 13px; color: rgba(245,240,232,.55); font-weight: 300; line-height: 1.7; margin-bottom: 30px; }
.arbolis-urg-sep   { height: 1px; background: rgba(245,240,232,.07); margin-bottom: 26px; }
.arbolis-urg-form-label { font-size: 12px; color: rgba(245,240,232,.38); font-weight: 300; margin-bottom: 14px; line-height: 1.6; }
.arbolis-urg-form { display: flex; flex-direction: column; gap: 10px; }
.arbolis-urg-form input,
.arbolis-urg-form select {
    background: rgba(255,255,255,.05); border: 1px solid rgba(245,240,232,.11);
    color: var(--arbolis-cream); padding: 11px 14px; font-size: 13px;
    border-radius: 1px; width: 100%; outline: none; transition: border-color .2s;
}
.arbolis-urg-form input:focus,
.arbolis-urg-form select:focus { border-color: rgba(245,240,232,.28); }
.arbolis-urg-form input::placeholder { color: rgba(245,240,232,.2); }
.arbolis-urg-form select option { background: var(--arbolis-forest); color: var(--arbolis-cream); }
.arbolis-urg-gps {
    background: transparent; border: 1px dashed rgba(200,184,154,.2);
    color: rgba(200,184,154,.42); padding: 9px 14px; font-size: 12px;
    cursor: pointer; border-radius: 1px; text-align: left;
    transition: all .2s; letter-spacing: .02em; width: 100%;
}
.arbolis-urg-gps:hover { border-color: var(--arbolis-sand); color: var(--arbolis-sand); }
.arbolis-urg-submit {
    background: var(--arbolis-sand); color: var(--arbolis-forest); padding: 13px;
    font-size: 11px; font-weight: 500; border: none; cursor: pointer;
    border-radius: 1px; width: 100%; letter-spacing: .08em; text-transform: uppercase;
    transition: all .2s;
}
.arbolis-urg-submit:hover { background: #b8a88a; }

/* ── Processus ──────────────────────────────────────────────── */
.arbolis-processus-section { padding: 110px 0; background: var(--arbolis-charcoal); }
.arbolis-processus-section .arbolis-label        { color: var(--arbolis-sand); }
.arbolis-processus-section .arbolis-label::before { background: var(--arbolis-sand); }
.arbolis-steps {
    display: grid; grid-template-columns: 1fr;
    gap: 32px; margin-top: 68px; position: relative;
}
.arbolis-steps::before {
    display: none;
    content: ''; position: absolute; top: 22px;
    left: calc(10% + 2px); right: calc(10% + 2px);
    height: 1px; background: rgba(255,255,255,.05);
}
.arbolis-step { text-align: center; position: relative; z-index: 1; padding: 0 10px; }
.arbolis-step-dot {
    width: 46px; height: 46px; border-radius: 50%;
    background: var(--arbolis-charcoal); border: 1px solid rgba(255,255,255,.09);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 24px; font-family: 'Playfair Display', serif;
    font-size: 16px; font-weight: 700; color: rgba(200,184,154,.45); transition: all .25s;
}
.arbolis-step:hover .arbolis-step-dot { border-color: var(--arbolis-sand); color: var(--arbolis-sand); }
.arbolis-step-title { font-size: 12px; font-weight: 500; color: rgba(245,240,232,.75); margin-bottom: 7px; letter-spacing: .04em; }
.arbolis-step-desc  { font-size: 11px; color: rgba(245,240,232,.55); line-height: 1.7; font-weight: 300; }

/* ── Appels d'offres teaser (home) ──────────────────────────── */
.arbolis-ao-section { padding: 110px 0; background: var(--arbolis-forest); }
.arbolis-ao-section .arbolis-label { color: var(--arbolis-sand); }
.arbolis-ao-section .arbolis-label::before { background: var(--arbolis-sand); }
.arbolis-ao-inner { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: start; }
.arbolis-ao-title { font-family: 'Playfair Display', serif; font-size: clamp(22px, 2.4vw, 32px); font-weight: 700; color: var(--arbolis-cream); line-height: 1.15; margin-bottom: 14px; }
.arbolis-ao-sub   { font-size: 14px; color: rgba(245,240,232,.65); font-weight: 300; line-height: 1.85; margin-bottom: 32px; }
.arbolis-ao-docs  { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.arbolis-ao-doc   { font-size: 11px; border: 1px solid rgba(245,240,232,.13); padding: 5px 14px; border-radius: 1px; color: rgba(245,240,232,.38); letter-spacing: .04em; }
.arbolis-ao-card  { background: rgba(255,255,255,.04); border: 1px solid rgba(245,240,232,.09); border-radius: 2px; padding: 32px; }
.arbolis-ao-card-title { font-family: 'Playfair Display', serif; font-size: 16px; color: var(--arbolis-cream); margin-bottom: 20px; }
.arbolis-ao-item  { font-size: 12px; color: rgba(245,240,232,.58); margin-bottom: 10px; display: flex; align-items: flex-start; gap: 10px; font-weight: 300; line-height: 1.6; }
.arbolis-ao-dash  { color: var(--arbolis-sand); flex-shrink: 0; font-size: 14px; margin-top: -1px; }
.arbolis-ao-card .arbolis-btn { width: 100%; justify-content: center; margin-top: 22px; }

/* ── CTA final ──────────────────────────────────────────────── */
.arbolis-cta-section { padding: 130px 0; background: var(--arbolis-cream); text-align: center; }
.arbolis-cta-eyebrow {
    font-size: 10px; font-weight: 400; letter-spacing: .22em; text-transform: uppercase;
    color: var(--arbolis-sand); margin-bottom: 28px;
    display: flex; align-items: center; justify-content: center; gap: 14px;
}
.arbolis-cta-eyebrow::before,
.arbolis-cta-eyebrow::after { content: ''; width: 44px; height: 1px; background: var(--arbolis-sand); }
.arbolis-cta-title {
    font-family: 'Playfair Display', serif; font-size: clamp(36px, 5vw, 64px);
    font-weight: 700; color: var(--arbolis-charcoal); line-height: 1.04;
    letter-spacing: -.03em; margin-bottom: 20px;
}
.arbolis-cta-title em { font-style: italic; color: var(--arbolis-forest-light); }
.arbolis-cta-sub  { font-size: 15px; color: var(--arbolis-muted); font-weight: 300; max-width: 400px; margin: 0 auto 48px; line-height: 1.85; }
.arbolis-cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.arbolis-cta-note { margin-top: 22px; font-size: 11px; color: rgba(107,104,96,.5); font-weight: 300; letter-spacing: .04em; }

/* ── Responsive home ────────────────────────────────────────── */
@media (min-width: 900px) {
    .arbolis-hero { grid-template-columns: 1fr 1fr; }
    .arbolis-hero-visual { display: block; }
    .arbolis-hero-content { padding: 88px var(--arbolis-gp); }
    .arbolis-intro-grid { grid-template-columns: 1fr 1fr; gap: 88px; }
    .arbolis-intro-visual { height: 480px; }
    .arbolis-urgence-left, .arbolis-urgence-right { padding: 56px 52px; }
    .arbolis-urgence-grid { grid-template-columns: 1fr 1fr; }
    .arbolis-steps { grid-template-columns: repeat(5, 1fr); gap: 0; }
    .arbolis-steps::before { display: block; }
    .arbolis-ao-inner { grid-template-columns: 1fr 320px; gap: 72px; }
}
