 :root{
    --paper:#FBF6EC;
    --paper-2:#F4EAD6;
    --paper-3:#EFE1C6;
    --ink:#33242B;
    --ink-soft:rgba(51,36,43,.68);
    --ink-faint:rgba(51,36,43,.44);
    --green:#2E6B3C;
    --green-d:#245530;
    --red:#A02A26;
    --gold:#D9A63A;
    --gold-d:#BE8A26;
    --gold-bright:#EBC463;
    --plum:#52303C;
    --line:rgba(51,36,43,.14);
    --line-soft:rgba(51,36,43,.08);
    --display:'Fraunces',serif;
    --body:'DM Sans',sans-serif;
    --wrap:1180px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
  a{color:inherit;text-decoration:none}
  h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.03;letter-spacing:-.015em}
  ::selection{background:var(--gold);color:var(--ink)}

  /* signature: woven top band from brand colors */
  .band{height:9px;width:100%;display:block;
    background:repeating-linear-gradient(90deg,var(--green) 0 25%,var(--red) 25% 50%,var(--gold) 50% 75%,var(--plum) 75% 100%);
    background-size:220px 100%;}
  .kente{height:6px;background:repeating-linear-gradient(90deg,var(--gold) 0 14px,transparent 14px 28px);opacity:.5}

  /* rising-arrow motif for section markers */
  .arrow-mark{display:inline-flex;align-items:center;gap:9px}
  .arrow-mark svg{width:22px;height:22px;flex:none}

  /* nav */
  header{position:sticky;top:0;z-index:60;background:rgba(251,246,236,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px}
  .brand{display:flex;align-items:center;gap:13px;min-width:0}
  .brand img{height:52px;width:auto;display:block}
  .brand .wm{display:flex;flex-direction:column;line-height:1}
  .brand .wm b{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:.01em;color:var(--ink)}
  .brand .wm span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-top:3px;font-weight:600}
  .navlinks{display:flex;gap:28px;font-size:15px;font-weight:500;margin-left:auto}
  .navlinks a{color:var(--ink-soft);transition:color .2s;position:relative;padding:4px 0}
  .navlinks a:hover{color:var(--red)}
  .btn{font-family:var(--body);font-weight:600;font-size:15px;padding:12px 22px;border-radius:3px;display:inline-block;cursor:pointer;transition:transform .15s ease,background .2s,color .2s,border-color .2s;border:1.6px solid transparent;white-space:nowrap}
  .btn-red{background:var(--red);color:#fff}
  .btn-red:hover{background:#8c231f;transform:translateY(-2px)}
  .btn-green{background:var(--green);color:#fff}
  .btn-green:hover{background:var(--green-d);transform:translateY(-2px)}
  .btn-ghost{border-color:var(--ink);color:var(--ink)}
  .btn-ghost:hover{border-color:var(--green);color:var(--green)}
  .menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:3px;width:44px;height:44px;place-items:center;cursor:pointer}

  /* hero */
  .hero{position:relative;padding:78px 0 0;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
  .eyebrow{font-family:var(--body);font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin-bottom:24px;display:flex;flex-wrap:wrap;gap:0 12px;align-items:center}
  .eyebrow span{color:var(--ink-faint)}
  h1.headline{font-size:clamp(42px,6.4vw,78px);font-weight:600;letter-spacing:-.02em;font-optical-sizing:auto}
  h1.headline em{font-style:italic;font-weight:500;color:var(--red)}
  h1.headline .u{color:var(--green)}
  .lede{font-size:clamp(17px,1.9vw,20px);color:var(--ink-soft);max-width:50ch;margin:28px 0 34px;line-height:1.55}
  .hero-cta{display:flex;gap:13px;flex-wrap:wrap;align-items:center}
  .hero-note{font-size:14px;color:var(--ink-faint);margin-top:18px}
  .hero-note b{color:var(--ink);font-weight:600}
  /* hero visual card */
  .hero-card{background:linear-gradient(165deg,var(--paper-2),var(--paper-3));border:1px solid var(--line);border-radius:8px;padding:34px;position:relative;overflow:hidden}
  .hero-card::after{content:"";position:absolute;right:-40px;bottom:-40px;width:220px;height:220px;background:radial-gradient(circle,rgba(217,166,58,.35),transparent 70%)}
  .hero-card .lbl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
  .hero-card .when{font-family:var(--display);font-weight:700;font-size:32px;margin:6px 0 2px;letter-spacing:-.02em}
  .hero-card .where{color:var(--ink-soft);font-size:15px}
  .count{display:flex;gap:14px;margin:26px 0;position:relative;z-index:1}
  .count .cell{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:12px 0;text-align:center;flex:1}
  .count .n{font-family:var(--display);font-weight:700;font-size:30px;color:var(--red);line-height:1;font-variant-numeric:tabular-nums}
  .count .u{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px}
  .hero-card .cta-full{display:block;text-align:center;width:100%;position:relative;z-index:1}

  /* stats */
  .stats{margin-top:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2)}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
  .stat{padding:34px 26px;border-right:1px solid var(--line)}
  .stat:last-child{border-right:none}
  .stat .big{font-family:var(--display);font-weight:700;font-size:clamp(34px,4vw,48px);letter-spacing:-.02em;display:flex;align-items:baseline;gap:2px}
  .stat:nth-child(1) .big{color:var(--red)}
  .stat:nth-child(2) .big{color:var(--green)}
  .stat:nth-child(3) .big{color:var(--gold-d)}
  .stat:nth-child(4) .big{color:var(--plum)}
  .stat .cap{font-size:14px;color:var(--ink-soft);margin-top:6px}

  /* section */
  .sec{padding:96px 0}
  .kicker{font-family:var(--body);font-weight:700;float:center;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:18px}
  h2.title{font-size:clamp(32px,4.6vw,52px);font-weight:600;max-width:18ch;letter-spacing:-.02em}
  .sec-lede{color:var(--ink-soft);max-width:56ch;margin-top:20px;font-size:18px}

  /* about */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  .pillars{display:flex;flex-direction:column}
  .pillar{padding:24px 0;border-bottom:1px solid var(--line);display:flex;gap:20px}
  .pillar:last-child{border-bottom:none;padding-bottom:0}
  .pillar:first-child{padding-top:0}
  .pillar .ic{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff}
  .pillar:nth-child(1) .ic{background:var(--green)}
  .pillar:nth-child(2) .ic{background:var(--red)}
  .pillar:nth-child(3) .ic{background:var(--gold-d)}
  .pillar:nth-child(4) .ic{background:var(--plum)}
  .pillar .ic svg{width:22px;height:22px}
  .pillar h4{font-family:var(--display);font-size:20px;font-weight:600;margin-bottom:4px}
  .pillar p{font-size:15px;color:var(--ink-soft);line-height:1.5}

  /* programme */
  .prog{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px}
  .day{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s}
  .day:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(51,36,43,.4)}
  .day .top{padding:24px 26px 18px;color:#fff}
  .day:nth-child(1) .top{background:var(--green)}
  .day:nth-child(2) .top{background:var(--red)}
  .day:nth-child(3) .top{background:var(--plum)}
  .day:nth-child(4) .top{background:var(--plum)}
  .day .tag{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;opacity:.85}
  .day .dnum{font-family:var(--display);font-weight:700;font-size:40px;line-height:1;margin:6px 0 3px}
  .day .ddate{font-size:14px;opacity:.85}
  .day ul{list-style:none;padding:22px 26px 28px;display:flex;flex-direction:column;gap:13px}
  .day li{font-size:14.5px;color:var(--ink-soft);padding-left:20px;position:relative;line-height:1.45}
  .day li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;background:var(--gold);border-radius:50%}
  .day li b{color:var(--ink);font-weight:600;font-family:var(--display)}

  /* marketplace / village */
  .village{background:var(--plum);color:var(--paper)}
  .village .kicker{color:var(--gold-bright)}
  .village h2{color:var(--paper)}
  .village .sec-lede{color:rgba(251,246,236,.72)}
  .vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
  .vcell{border:1px solid rgba(251,246,236,.2);border-radius:8px;padding:26px 22px;transition:background .2s}
  .vcell:hover{background:rgba(251,246,236,.06)}
  .vcell .vic{font-size:26px;margin-bottom:14px}
  .vcell h4{font-family:var(--display);font-weight:600;font-size:19px;color:var(--paper);margin-bottom:6px}
  .vcell p{font-size:14px;color:rgba(251,246,236,.66);line-height:1.5}

  /* speakers */
  .speakers{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px}
  .sp{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper);transition:transform .2s}
  .sp:hover{transform:translateY(-4px)}
  .sp .ph{aspect-ratio:1/1;display:grid;place-items:center}
  .sp .ph .ini{font-family:var(--display);font-weight:700;font-size:42px;color:rgba(251,246,236,.85)}
  .sp:nth-child(4n+1) .ph{background:var(--green)}
  .sp:nth-child(4n+2) .ph{background:var(--red)}
  .sp:nth-child(4n+3) .ph{background:var(--gold-d)}
  .sp:nth-child(4n) .ph{background:var(--plum)}
  .sp .body{padding:16px 18px 20px}
  .sp .nm{font-family:var(--display);font-weight:600;font-size:18px}
  .sp .rl{font-size:13.5px;color:var(--ink-soft);margin-top:3px;line-height:1.4}

  /* partners */
  .tier{margin-top:40px}
  .tier .tl{font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:16px;display:flex;align-items:center;gap:14px;font-weight:600}
  .tier .tl::after{content:"";flex:1;height:1px;background:var(--line)}
  .logos{display:flex;flex-wrap:wrap;gap:14px}
  .plogo{border:1px solid var(--line);border-radius:5px;padding:18px 24px;font-family:var(--display);font-weight:600;color:var(--ink-soft);background:var(--paper);flex:1;min-width:150px;text-align:center;transition:border-color .2s,color .2s}
  .plogo:hover{border-color:var(--gold);color:var(--ink)}
  .tier.platine .plogo{font-size:20px;color:var(--ink);padding:26px}

  /* tickets */
  .tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;align-items:start}
  .tk{border:1px solid var(--line);border-radius:10px;padding:32px 30px;background:var(--paper);display:flex;flex-direction:column}
  .tk.feat{border:1.6px solid var(--red);position:relative;box-shadow:0 24px 60px -34px rgba(160,42,38,.55)}
  .tk.feat::before{content:"Le plus choisi";position:absolute;top:-12px;left:30px;background:var(--red);color:#fff;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:3px}
  .tk .tname{font-family:var(--display);font-weight:600;font-size:21px}
  .tk .price{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.02em;margin:12px 0 2px}
  .tk .price small{font-size:15px;color:var(--ink-faint);font-weight:400;font-family:var(--body)}
  .tk .price.free{color:var(--green)}
  .tk .sub{font-size:13.5px;color:var(--ink-faint)}
  .tk ul{list-style:none;margin:22px 0 26px;display:flex;flex-direction:column;gap:12px;flex:1}
  .tk li{font-size:14.5px;color:var(--ink-soft);padding-left:26px;position:relative}
  .tk li::before{content:"";position:absolute;left:2px;top:5px;width:11px;height:11px;border:2px solid var(--green);border-top:none;border-right:none;transform:rotate(-45deg)}
  .tk .btn{text-align:center;width:100%}

  /* final */
  .final{background:var(--green);color:var(--paper);text-align:center;padding:92px 0}
  .final h2{color:var(--paper);font-size:clamp(34px,5.4vw,64px);max-width:20ch;margin:0 auto}
  .final .lede{color:rgba(251,246,236,.78);margin:24px auto 36px}
  .final .hero-cta{justify-content:center}
  .final .btn-gold{background:var(--gold);color:var(--ink)}
  .final .btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px)}
  .final .btn-ol{border-color:rgba(251,246,236,.5);color:var(--paper)}
  .final .btn-ol:hover{border-color:var(--paper);background:rgba(251,246,236,.1)}

  /* footer */
  footer{background:var(--ink);color:var(--paper);padding:66px 0 36px}
  .fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:46px}
  .footlogo img{height:60px;width:auto;margin-bottom:16px}
  .fabout{font-size:14.5px;color:rgba(251,246,225,.62);max-width:34ch;line-height:1.6}
  .fcol h5{font-family:var(--body);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(251,246,225,.5);margin-bottom:16px}
  .fcol a{display:block;color:rgba(251,246,225,.78);font-size:15px;margin-bottom:11px;transition:color .2s}
  .fcol a:hover{color:var(--gold-bright)}
  .fbot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:26px;border-top:1px solid rgba(251,246,225,.14);font-size:13.5px;color:rgba(251,246,225,.5)}

  .rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
  .rv.in{opacity:1;transform:none}
  .page-hero{padding:60px 0 40px}
  .page-hero h1{font-size:clamp(36px,5vw,56px);font-weight:600;letter-spacing:-.02em;font-family:var(--display)}
          .contact-card {
            border: 1px solid rgba(51,36,43,.14);
            border-radius: 8px;
            padding: 30px;
            background: var(--paper);
            text-align: center;
            transition: transform .2s, box-shadow .2s;
            height: 100%;
        }
        .contact-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 18px 40px -24px rgba(51,36,43,.4);
        }
        .contact-icon {
            width: 64px;
            height: 64px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 18px;
            font-size: 26px;
            color: #fff;
        }
        .form-control:focus {
            border-color: var(--green);
            box-shadow: 0 0 0 .2rem rgba(46,107,60,.15);
        }
        .section-title {
            font-size: clamp(30px, 4vw, 46px);
            margin-bottom: 20px;
        }
		  .navbar-custom {
            background: rgba(251,246,236,.92);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(51,36,43,.14);
        }
        .navbar-custom .navbar-brand {
            font-family: var(--display);
            font-weight: 700;
            font-size: 22px;
            color: var(--ink);
        }
        .navbar-custom .nav-link {
            color: var(--ink-soft);
            font-weight: 500;
            font-size: 15px;
            transition: color .2s;
        }
        .navbar-custom .nav-link:hover,
        .navbar-custom .nav-link.active {
            color: var(--red);
        }
  /* --- STYLES DROPDOWN MULTI-NIVEAUX AU HOVER --- */
        .navbar-custom .dropdown-menu {
            background-color: var(--paper);
            border: 1px solid rgba(51,36,43,.14);
            box-shadow: 0 10px 30px rgba(0,0,0,.08);
            border-radius: 6px;
            padding: 8px 0;
            margin-top: 0;
        }
        .navbar-custom .dropdown-item {
            color: var(--ink);
            font-size: 14.5px;
            font-weight: 500;
            padding: 8px 20px;
            transition: background .2s, color .2s;
        }
        .navbar-custom .dropdown-item:hover {
            background-color: var(--paper-2);
            color: var(--red);
        }
        /* Positionnement des sous-menus de second niveau */
        .dropdown-submenu {
            position: relative;
        }
        .dropdown-submenu > .dropdown-menu {
            top: 0;
            left: 100%;
            margin-top: -8px;
            display: none;
        }
		  /* Ouverture au survol (Desktop) */
        @media (min-width: 992px) {
            .navbar-nav .dropdown:hover > .dropdown-menu {
                display: block;
            }
            .dropdown-submenu:hover > .dropdown-menu {
                display: block;
            }
        }
		
		 .form-control:focus, .form-select:focus {
            border-color: var(--green);
            box-shadow: 0 0 0 .2rem rgba(46,107,60,.15);
        }
        .form-check-input:checked {
            background-color: var(--green);
            border-color: var(--green);
        }
        .pass-option {
            border: 2px solid rgba(51,36,43,.14);
            border-radius: 8px;
            padding: 20px;
            cursor: pointer;
            transition: all .2s;
        }
        .pass-option:hover {
            border-color: var(--green);
        }
        .pass-option.selected {
            border-color: var(--green);
            background: rgba(46,107,60,.05);
        }
        .step-indicator {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-bottom: 30px;
        }
        .step-indicator .step {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 14px;
            border: 2px solid rgba(51,36,43,.14);
            color: var(--ink-faint);
        }
        .step-indicator .step.active {
            background: var(--green);
            border-color: var(--green);
            color: #fff;
        }
        .step-indicator .step.done {
            background: var(--gold);
            border-color: var(--gold);
            color: var(--ink);
        }
        .step-line {
            width: 40px;
            height: 2px;
            background: rgba(51,36,43,.14);
            align-self: center;
        }
		 .section-title {
            font-size: clamp(30px, 4vw, 46px);
            margin-bottom: 20px;
        }
		.hero-section {
            background: linear-gradient(135deg, var(--green) 0%, var(--green-d) 100%);
            color: #fff;
            padding: 80px 0;
        }
        .hero-section h1 {
            font-size: clamp(36px, 5vw, 56px);
            color: #fff;
        }
        .hero-section p {
            color: rgba(255,255,255,.8);
            font-size: 18px;
        }
        /* ---------------------------------------------- */
 @media(max-width:980px){
    .hero-grid{grid-template-columns:1fr;gap:40px}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .stat:nth-child(2){border-right:none}
    .split{grid-template-columns:1fr;gap:44px}
    .prog{grid-template-columns:1fr}
    .vgrid{grid-template-columns:repeat(2,1fr)}
    .speakers{grid-template-columns:repeat(2,1fr)}
    .tickets{grid-template-columns:1fr}
    .tk.feat{order:-1}
    .fgrid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:640px){
    body{font-size:16px}
    .navlinks{display:none}
    .menu-toggle{display:grid}
    .brand .wm{display:none}
    .brand img{height:46px}
    .hero{padding:48px 0 0}
	.hero1{padding:48px 0 0; height: auto;}
    .vgrid,.speakers{grid-template-columns:1fr}
    .fgrid{grid-template-columns:1fr}
    .sec{padding:68px 0}
	.page-hero{padding:40px 0 30px}
  }
  @media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
  
  .hero1 {
    /* Utilisation d'un dégradé sombre combiné à l'image pour l'assombrir */
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('../images/banner-1.jpeg');
    background-size: cover;
    background-position: center;
    height: auto;
    
    /* Centrer le contenu */
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
  }
          .contact-card {
            border: 1px solid rgba(51,36,43,.14);
            border-radius: 8px;
            padding: 30px;
            background: var(--paper);
            text-align: center;
            transition: transform .2s, box-shadow .2s;
            height: 100%;
        }
        .contact-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 18px 40px -24px rgba(51,36,43,.4);
        }
        .contact-icon {
            width: 64px;
            height: 64px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 18px;
            font-size: 26px;
            color: #fff;
        }
        .form-control:focus {
            border-color: var(--green);
            box-shadow: 0 0 0 .2rem rgba(46,107,60,.15);
        }
        .section-title {
            font-size: clamp(30px, 4vw, 46px);
            margin-bottom: 20px;
        }
		.btn-fonefecc {
            background: var(--red);
            color: #fff;
            font-weight: 600;
            border: none;
            padding: 10px 22px;
            border-radius: 3px;
            transition: background .2s, transform .15s;
        }
        .btn-fonefecc:hover {
            background: #8c231f;
            color: #fff;
            transform: translateY(-2px);
        }
		.footer-social-links {
            display: flex;
            gap: 12px;
            margin-top: 16px;
        }
        .footer-social-links a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: rgba(251,246,225,.08);
            color: var(--paper);
            font-size: 18px;
            margin-bottom: 0;
            transition: all .2s;
        }
        .footer-social-links a:hover {
            background: var(--gold);
            color: var(--ink);
            transform: translateY(-2px);
        }
        .footer-bottom {
            border-top: 1px solid rgba(251,246,225,.14);
            padding-top: 24px;
            margin-top: 40px;
            font-size: 13.5px;
            color: rgba(251,246,225,.5);
        }
  /* Centrer le contenu1 */
   :root {
    --cream: #F7F0E4;
    --cream-deep: #EFE4CF;
    --ink: #2B1B12;
    --green: #1B4332;
    --green-deep: #123024;
    --terracotta: #8A4A24;
    --gold: #C99A2E;
    --red: #A9302B;
    --paper: #FFFDF8;
  }

  * { box-sizing: border-box; }

  body {
    margin: 0;
    background: var(--cream);
    font-family: 'Work Sans', sans-serif;
    color: var(--ink);
  }

  .stripe-band {
    height: 10px;
    width: 100%;
    background: repeating-linear-gradient(
      90deg,
      var(--red) 0px, var(--red) 40px,
      var(--gold) 40px, var(--gold) 80px,
      var(--green) 80px, var(--green) 120px
    );
  }

  .hero {
    position: relative;
    padding: 88px 24px 96px;
    overflow: hidden;
    background:
      radial-gradient(1200px 600px at 15% -10%, rgba(201,154,46,0.12), transparent 60%),
      radial-gradient(1000px 500px at 100% 110%, rgba(27,67,50,0.10), transparent 60%),
      var(--cream);
  }

  .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
      radial-gradient(circle, rgba(43,27,18,0.05) 1px, transparent 1.4px);
    background-size: 22px 22px;
    opacity: 0.5;
    pointer-events: none;
  }

  .container {
    max-width: 1080px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }

  .eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 12.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--terracotta);
    margin-bottom: 28px;
  }

  .eyebrow .line {
    height: 1px;
    width: 46px;
    background: linear-gradient(90deg, transparent, var(--gold));
  }
  .eyebrow .line.right {
    background: linear-gradient(90deg, var(--gold), transparent);
  }

  h1 {
    font-family: 'Fraunces', serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-size: clamp(34px, 5.4vw, 60px);
    line-height: 1.08;
    text-align: center;
    margin: 0 auto 22px;
    max-width: 820px;
    color: var(--green-deep);
    letter-spacing: -0.01em;
  }

  h1 em {
    font-style: italic;
    font-weight: 500;
    color: var(--red);
  }

  .lede {
    text-align: center;
    max-width: 620px;
    margin: 0 auto 56px;
    font-size: 17px;
    line-height: 1.65;
    color: #4a3a2c;
  }

  .logo-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: center;
    gap: 22px;
    max-width: 960px;
    margin: 0 auto;
  }

  .logo-card {
    background: var(--paper);
    border-radius: 18px;
    padding: 28px 20px 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 1px 2px rgba(43,27,18,0.06), 0 14px 34px -18px rgba(43,27,18,0.30);
    border: 1px solid rgba(43,27,18,0.07);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
  }

  .logo-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 1px 2px rgba(43,27,18,0.08), 0 22px 44px -18px rgba(43,27,18,0.40);
  }

  .logo-card img {
    height: 108px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    margin-bottom: 14px;
  }

  .logo-card .tag {
    font-family: 'Work Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--green);
    text-align: center;
  }

  .weave {
    width: 1px;
    height: 64px;
    position: relative;
    justify-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .weave svg { overflow: visible; }

  @media (max-width: 760px) {
    .logo-row {
      grid-template-columns: 1fr;
    }
    .weave {
      width: 64px;
      height: 24px;
    }
    .weave svg { transform: rotate(90deg); }
	
	.tk .price{font-size:16px;}
  }

  .foot-line {
    text-align: center;
    margin-top: 56px;
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 500;
    font-size: 16px;
    color: var(--terracotta);
    letter-spacing: 0.01em;
  }
   h1 em {
    font-style: italic;
    font-weight: 500;
    color: var(--red);
  }

  .lede {
    text-align: center;
    max-width: 620px;
    margin: 0 auto 56px;
    font-size: 17px;
    line-height: 1.65;
    color: #4a3a2c;
  }

  .logo-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: center;
    gap: 22px;
    max-width: 960px;
    margin: 0 auto;
  }

  .logo-card {
    background: var(--paper);
    border-radius: 18px;
    padding: 28px 20px 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 1px 2px rgba(43,27,18,0.06), 0 14px 34px -18px rgba(43,27,18,0.30);
    border: 1px solid rgba(43,27,18,0.07);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
  }

  .logo-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 1px 2px rgba(43,27,18,0.08), 0 22px 44px -18px rgba(43,27,18,0.40);
  }

  .logo-card img {
    height: 108px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    margin-bottom: 14px;
  }

  .logo-card .tag {
    font-family: 'Work Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--green);
    text-align: center;
  }

  .weave {
    width: 1px;
    height: 64px;
    position: relative;
    justify-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .weave svg { overflow: visible; }

  @media (max-width: 760px) {
    .logo-row {
      grid-template-columns: 1fr;
    }
    .weave {
      width: 64px;
      height: 24px;
    }
    .weave svg { transform: rotate(90deg); }
  }

  .foot-line {
    text-align: center;
    margin-top: 56px;
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 500;
    font-size: 16px;
    color: var(--terracotta);
    letter-spacing: 0.01em;
  }
  
  @media(max-width:640px){
  body{font-size:16px}
  .navlinks{display:none}
  /* Correction d'affichage du bouton */
  .menu-toggle{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Permet d'afficher les liens lorsque le menu mobile est ouvert */
  .navlinks.active {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 78px;
    left: 0;
    width: 100%;
    background: rgba(251,246,236,.98);
    padding: 20px;
    border-bottom: 1px solid var(--line);
    gap: 16px;
  }
  
  .brand .wm{display:none}
  .brand img{height:46px}
  .hero{padding:48px 0 0}
  .vgrid,.speakers{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .sec{padding:68px 0}
}