/* ====== Altitude – Vitrine (site.css) ====== */
:root{
  --max: 1100px;
  --brand: #0f172a;
  --accent: #E75A36;
  --muted: #64748b;
  --line: #e2e8f0;
  --bg-soft: #f8fafc;
}

*{ box-sizing: border-box; }
html,body{ height:100%; }
body{
  margin:0; background:#fff; color:var(--brand);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}

a{ color:inherit; text-decoration:none }

/* Header */
header{
  position:sticky; top:0; z-index:10; background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 2px 8px rgba(15,23,42,.04);
}
header::after{
  content:""; display:block; height:3px;
  background:linear-gradient(90deg,var(--accent),#ff8b66 60%, var(--accent));
  background-size:200% 100%; animation:stripe 8s linear infinite;
}
@keyframes stripe { to{ background-position:-200% 0; } }

.wrap{ max-width:var(--max); margin:0 auto; padding:12px 16px; }
.nav{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.site-nav{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }

/* Logo */
.logo{ display:flex; align-items:center; gap:12px; user-select:none; cursor:pointer; }
.logo img{ height:56px; width:auto; filter:drop-shadow(0 2px 6px rgba(15,23,42,.10)); }
@media (max-width:640px){ .logo img{ height:44px; } }
@media (max-width:860px){
  .nav{ align-items:flex-start; flex-direction:column; }
  .site-nav{ justify-content:flex-start; width:100%; }
}

/* Boutons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:10px 14px; border-radius:12px;
  font-weight:600; border:1px solid var(--brand);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  line-height:1.2;
  vertical-align:middle;
}
.btn.primary{
  background:var(--accent); color:#fff; border-color:var(--accent);
  box-shadow:0 6px 16px rgba(231,90,54,.18); position:relative; overflow:hidden;
}
.btn.primary:hover{
  background:#cf4728; border-color:#cf4728; transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(231,90,54,.24);
}
.btn.primary::after{
  content:""; position:absolute; top:-150%; left:-50%; width:50%; height:400%;
  background:linear-gradient(90deg,rgba(255,255,255,0), rgba(255,255,255,.35), rgba(255,255,255,0));
  transform:rotate(25deg); transition:transform .6s ease;
}
.btn.primary:hover::after{ transform:rotate(25deg) translateX(240%); }
nav a.btn{ border-color:#cbd5e1; }
nav a.btn:hover{ background:#fff; border-color:#cbd5e1; box-shadow:0 4px 12px rgba(15,23,42,.06); }
.site-nav .btn.is-active{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
  box-shadow:0 8px 18px rgba(231,90,54,.2);
}
.site-nav .btn.is-active:hover{
  background:#cf4728;
  border-color:#cf4728;
  box-shadow:0 10px 22px rgba(231,90,54,.24);
}

/* Effet hover spécifique pour les boutons blancs */
.btn:not(.primary):hover {
  background:linear-gradient(180deg, rgba(231,90,54,0.08), #fff 80%);
  border-color:var(--accent);
  box-shadow:0 6px 16px rgba(231,90,54,.1);
  transform:translateY(-1px);
}

/* Hero */
.hero{
  position:relative; overflow:hidden;
  padding:56px 16px;
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(231,90,54,.10), transparent 60%),
    linear-gradient(180deg, var(--bg-soft), #ffffff);
  border-bottom:1px solid var(--line);
}
.hero h2{ font-size:36px; line-height:1.1; max-width:var(--max); margin:0 auto 10px; }
.hero p{ font-size:18px; color:#334155; max-width:var(--max); margin:0 auto 20px; }
.cta{ display:flex; gap:10px; flex-wrap:wrap; }

.page-hero{
  position:relative; overflow:hidden;
  padding:54px 16px 40px;
  background:
    radial-gradient(900px 460px at 88% -10%, rgba(231,90,54,.14), transparent 58%),
    linear-gradient(180deg, #fff7f4, #ffffff 62%);
  border-bottom:1px solid var(--line);
}
.page-hero .wrap{
  display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(280px, .8fr);
  gap:22px; align-items:center;
}
.page-hero h1{ margin:0 0 12px; font-size:42px; line-height:1.05; }
.page-hero p{ margin:0; font-size:18px; color:#334155; }
.eyebrow{
  display:inline-flex; align-items:center; gap:8px; margin-bottom:14px;
  padding:7px 12px; border-radius:999px; background:rgba(231,90,54,.1);
  color:#9a3412; font-size:13px; font-weight:700; letter-spacing:.02em;
  text-transform:uppercase;
}
.hero-panel{
  padding:22px; border:1px solid rgba(231,90,54,.18); border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,247,244,.92));
  box-shadow:0 18px 36px rgba(15,23,42,.08);
}
.hero-panel h3{ margin:0 0 10px; font-size:20px; }
.hero-panel p{ font-size:15px; color:#475569; }
.hero-panel .meta-list{ margin:16px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
.hero-panel .meta-list li{
  display:flex; align-items:flex-start; gap:10px; color:#334155; font-size:14px;
}
.hero-panel .meta-list li::before{
  content:""; flex:0 0 10px; width:10px; height:10px; margin-top:5px; border-radius:999px;
  background:linear-gradient(180deg, var(--accent), #ff8b66);
  box-shadow:0 0 0 4px rgba(231,90,54,.12);
}
@media (max-width:860px){
  .page-hero .wrap{ grid-template-columns:1fr; }
  .page-hero h1{ font-size:34px; }
}

/* Sections / Cards */
.section{ padding:32px 16px; }
.grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:900px){ .grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .grid{ grid-template-columns:1fr; } }

.card{
  background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.card h3{ margin:0 0 8px; font-size:18px; }
.card p{ margin:0; color:#475569; font-size:15px; }

/* Hover + teinte orange subtile */
.card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 26px rgba(15,23,42,.10);
  background:linear-gradient(180deg, rgba(231,90,54,0.08), #fff 60%);
  border-color:var(--accent);
}

.grid.two{ grid-template-columns:repeat(2,1fr); }
.grid.four{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){
  .grid.four{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .grid.two,
  .grid.four{ grid-template-columns:1fr; }
}

.info-band{
  background:linear-gradient(180deg, var(--brand), #1e293b);
  color:#fff;
}
.info-band .wrap{ display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:20px; align-items:center; }
.info-band p{ margin:6px 0 0; color:rgba(255,255,255,.78); }
.info-band .btn{ border-color:#fff; color:#fff; }
.info-band .btn:hover{
  background:rgba(255,255,255,.08);
  border-color:#fff;
  box-shadow:none;
}
@media (max-width:720px){
  .info-band .wrap{ grid-template-columns:1fr; }
}

.btn.secure-link{
  background:var(--brand);
  color:#fff;
  border-color:var(--brand);
  box-shadow:0 10px 20px rgba(15,23,42,.16);
}
.btn.secure-link:hover{
  background:#1e293b;
  border-color:#1e293b;
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(15,23,42,.2);
}

/* CTA band */
.cta-band{
  background:linear-gradient(180deg, var(--accent), #ff8b66);
  color:#fff; text-align:center; padding:24px 16px;
  border-top:1px solid rgba(255,255,255,.25);
}
.cta-band .wrap{ display:flex; flex-direction:column; align-items:center; gap:6px; }
.cta-band .btn.primary{
  background:#fff; color:var(--brand); border-color:#fff; box-shadow:none; margin-top:8px;
}
.cta-band .btn.primary:hover{ background:#f8fafc; border-color:#f8fafc; }

/* Footer centré (Option A) */
footer{
  padding:20px 16px; border-top:1px solid var(--line); color:#475569;
}
footer .wrap{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; text-align:center;
}
.footer-links{
  display:flex; gap:10px; align-items:center; justify-content:center;
}
.footer-links a{
  color: var(--brand);               /* noir par défaut */
  transition: color .2s ease;
}
.footer-links a:hover{
  color: var(--accent);              /* orange au survol */
}
.copy{ font-size:14px; }

/* Liens dans zones sombres */
.on-dark a {
  color: var(--accent);              /* orange direct */
  transition: color .2s ease;
}
.on-dark a:hover{
  color:#cf4728;                     /* orange foncé au survol */
}

/* Animations reveal */
.reveal{ opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease; }
.reveal.in{ opacity:1; transform:none; }

/* Hotspot technique */
.tech-hotspot{
  position:fixed; bottom:10px; right:10px; width:28px; height:28px;
  opacity:0; cursor:pointer;
}

/* Utils */
.text-center{ text-align:center; }
.mt-0{ margin-top:0; }

/* ===== Effets supplémentaires ===== */

/* Liens avec soulignement animé (footer + CTA uniquement) */
.footer-links a,
.cta-band a{
  position:relative;
}
.footer-links a::after,
.cta-band a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:100%;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}
.footer-links a:hover::after,
.cta-band a:hover::after{
  transform:scaleX(1);
}

.btn.sos {
  background: #2563eb; /* bleu harmonieux */
  color: #fff;
  border: 1px solid #2563eb;
  font-weight: 600;
  transition: .15s ease-in-out;
}
.site-nav .btn.sos.is-active {
  background:#1e40af;
  border-color:#1e40af;
  box-shadow:0 10px 20px rgba(37, 99, 235, 0.28);
}
.btn.sos:hover {
  background: #1e40af;
  border-color: #1e40af;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.25);
}
