/* ================= AlphornScore — style commun de l'écosystème ================= */
:root{
  --bg:#0F0A1E;--bg2:#17102E;--card:#FFFFFF;--fg:#1C1726;--ink2:#3A3450;--muted:#6E6884;--soft:#928CA6;--border:#E9E6F2;
  --pri:#7C5FCF;--pri2:#4A3392;--priLite:#A78BFA;--priSoft:#F3EEFB;--cream:#F6F4FC;
  --amber:#F59E0B;--green:#16A34A;--teal:#0D9488;--pink:#DB2777;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--fg);background:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}

.btn{display:inline-flex;align-items:center;gap:9px;border-radius:13px;padding:13px 22px;font-weight:800;font-size:15px;cursor:pointer;border:1.5px solid transparent;transition:all .15s}
.btn.pri{background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff;box-shadow:0 10px 30px rgba(74,51,146,.35)}
.btn.pri:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(74,51,146,.45)}
.btn.ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.25)}
.btn.ghost:hover{background:rgba(255,255,255,.16)}
.btn.dark{background:#fff;color:var(--pri2)}
.btn.line{background:#fff;color:var(--pri2);border-color:var(--border)}
.btn.line:hover{border-color:var(--pri)}

/* NAV commune */
.nav{position:sticky;top:0;z-index:50;background:rgba(15,10,30,.78);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav .wrap{display:flex;align-items:center;gap:14px;height:64px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:900;font-size:18px}
.brand img{width:30px;height:30px}
.nav .links{display:flex;gap:22px;margin-left:auto;color:#cfc8e6;font-weight:600;font-size:14px}
.nav .links a:hover{color:#fff}
.nav .links a.on{color:#fff}
.nav .cta{margin-left:6px}
@media(max-width:820px){.nav .links{display:none}}

/* HERO */
.hero{background:radial-gradient(1200px 500px at 70% -10%,rgba(124,95,207,.45),transparent),linear-gradient(180deg,var(--bg),var(--bg2));color:#fff;padding:66px 0 84px;position:relative;overflow:hidden}
.hero .tag{display:inline-flex;align-items:center;gap:8px;background:rgba(167,139,250,.16);border:1px solid rgba(167,139,250,.35);color:#d6c9ff;padding:6px 14px;border-radius:30px;font-size:12.5px;font-weight:700;margin-bottom:22px}
.hero h1{font-size:clamp(32px,6vw,58px);font-weight:900;line-height:1.05;letter-spacing:-1px}
.hero h1 .grad{background:linear-gradient(120deg,#c4b1ff,#8b6fdb);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.sub{font-size:clamp(16px,2.4vw,20px);color:#c9c2e0;max-width:660px;margin:20px 0 30px}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap}
.hero .mini{margin-top:18px;color:#9d95bd;font-size:13px;display:flex;gap:16px;flex-wrap:wrap}
.hero .mini b{color:#d6cef0}

.art{margin-top:50px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);box-shadow:0 40px 80px rgba(0,0,0,.4);overflow:hidden}
.art .bar{height:38px;display:flex;align-items:center;gap:7px;padding:0 14px;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.08)}
.art .bar i{width:11px;height:11px;border-radius:50%;background:#4b4463}
.art .bar i:nth-child(1){background:#ff5f57}.art .bar i:nth-child(2){background:#febc2e}.art .bar i:nth-child(3){background:#28c840}
.art .bar span{margin-left:auto;color:#8b83a8;font-size:12px}

/* SECTIONS */
.sec{padding:72px 0}
.sec.alt{background:#fff}
.sec h2{font-size:clamp(26px,4vw,38px);font-weight:900;letter-spacing:-.5px;text-align:center}
.sec .lead{text-align:center;color:var(--muted);max-width:640px;margin:14px auto 0;font-size:17px}
.eyebrow{text-align:center;color:var(--pri);font-weight:800;text-transform:uppercase;letter-spacing:1.5px;font-size:12.5px;margin-bottom:8px}

/* PRODUITS */
.prods{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
@media(max-width:820px){.prods{grid-template-columns:1fr}}
.prod{background:#fff;border:1px solid var(--border);border-radius:20px;padding:30px;box-shadow:0 10px 40px rgba(28,23,38,.06);display:flex;flex-direction:column}
.prod.hl{background:linear-gradient(160deg,#fff,var(--priSoft));border-color:#e2d8f7;position:relative}
.prod .star{position:absolute;top:18px;right:18px;background:var(--pri);color:#fff;font-size:11px;font-weight:800;padding:4px 11px;border-radius:20px}
.prod .ic{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;background:var(--priSoft);margin-bottom:16px}
.prod.hl .ic{background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff}
.prod h3{font-size:22px;font-weight:800}
.prod .role{color:var(--pri2);font-weight:700;font-size:13px;margin:2px 0 12px}
.prod p{color:var(--muted);font-size:15px}
.prod ul{list-style:none;margin:16px 0 22px;display:flex;flex-direction:column;gap:9px}
.prod li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;color:var(--ink2)}
.prod li::before{content:"✓";color:var(--green);font-weight:900;flex:none}
.prod .btn{margin-top:auto;align-self:flex-start}

/* FEATURES */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
@media(max-width:820px){.feats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.feats{grid-template-columns:1fr}}
.feat{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;transition:all .15s}
.feat:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(28,23,38,.09);border-color:#e0d6f5}
.feat .fic{width:44px;height:44px;border-radius:12px;background:var(--priSoft);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:13px}
.feat h4{font-size:16px;font-weight:800;margin-bottom:5px}
.feat p{font-size:13.5px;color:var(--muted)}

/* SPLIT (panneau sombre) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin-top:20px}
@media(max-width:820px){.split{grid-template-columns:1fr}}
.panel{background:linear-gradient(160deg,var(--bg),var(--bg2));color:#fff;border-radius:20px;padding:30px;border:1px solid rgba(255,255,255,.1)}
.panel h3{font-size:22px;font-weight:800;margin-bottom:10px}
.panel p{color:#c9c2e0;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chips span{background:rgba(167,139,250,.15);border:1px solid rgba(167,139,250,.3);color:#dcd2ff;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:20px}
.badge-alphorn{display:inline-flex;align-items:center;gap:8px;background:var(--fg);color:#fff;font-weight:800;font-size:13px;padding:8px 14px;border-radius:11px}

/* BANNIÈRE produit croisé */
.cross{background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff;border-radius:24px;padding:44px;text-align:center;margin-top:20px}
.cross h3{font-size:clamp(22px,3.5vw,30px);font-weight:900}
.cross p{color:#e6ddff;max-width:600px;margin:12px auto 22px;font-size:16px}

/* CTA band */
.ctaband{background:linear-gradient(180deg,var(--bg2),var(--bg));color:#fff;padding:66px 0;text-align:center}
.ctaband h2{font-size:clamp(26px,4vw,40px);font-weight:900}
.ctaband p{color:#c2bade;margin:12px 0 26px;font-size:17px}

footer{background:var(--bg);color:#9a92ba;padding:34px 0;border-top:1px solid rgba(255,255,255,.08);font-size:13.5px}
footer .wrap{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
footer a:hover{color:#fff}

/* ================= RESPONSIVE — mobile 100% ================= */
img{max-width:100%;height:auto}
html,body{overflow-x:hidden;max-width:100%}
.wrap{width:100%}
@media(max-width:820px){
  .wrap{padding:0 18px}
  .nav .wrap{height:auto;min-height:60px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px;gap:8px 16px}
  .nav .links{display:flex;order:3;width:100%;margin-left:0;gap:18px;font-size:13.5px}
  .nav .cta{margin-left:auto}
  .hero{padding:46px 0 56px}
  .sec{padding:52px 0}
  .cross{padding:32px 22px}
  .split{gap:24px}
}
@media(max-width:520px){
  .hero{padding:34px 0 42px}
  .sec{padding:40px 0}
  .btn{padding:12px 18px;font-size:14px}
  .prod{padding:22px}
  .panel{padding:22px}
  .cross{padding:26px 18px}
  .hero .mini{gap:10px 14px}
  .feat{padding:18px}
}

/* ===== Sélecteur de langue (nav) ===== */
.langsel{margin-left:10px;background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:9px;padding:7px 9px;font-family:inherit;font-weight:800;font-size:13px;cursor:pointer;-webkit-appearance:none;appearance:none}
.langsel:hover{background:rgba(255,255,255,.18)}
.langsel option{color:#111}
@media(max-width:820px){.langsel{order:2;margin-left:8px}}
