@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: minmax(0,1fr) minmax(17rem,.75fr); gap: 2rem; }
  .hero-mark { width: min(39vw, 31rem); }
  .values-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 820px) {
  :root { --header-height: 4.75rem; }
  .brand-copy small { display: none; }
  .nav-toggle { display: block; position: relative; z-index: 92; }
  .main-nav {
    position: fixed;
    top: .8rem;
    right: .8rem;
    left: .8rem;
    z-index: 90;
    display: grid;
    gap: .3rem;
    padding: calc(var(--header-height) + 1rem) 1rem 1rem;
    border: 1px solid rgba(37,56,42,.1);
    border-radius: 1.4rem;
    background: rgba(250,250,249,.97);
    box-shadow: var(--shadow-card);
    transform: translateY(-130%);
    opacity: 0;
    pointer-events: none;
    transition: transform var(--transition), opacity var(--transition);
  }
  .main-nav.is-open { transform: none; opacity: 1; pointer-events: auto; }
  .main-nav a { padding: 1rem; }
  .hero { min-height: auto; padding-top: calc(var(--header-height) + 4rem); }
  .hero-grid { grid-template-columns: 1fr; text-align: center; }
  .hero-copy { margin-inline: auto; }
  .hero .eyebrow { justify-content: center; }
  .hero-actions, .hero-meta { justify-content: center; }
  .hero-mark { width: min(80vw, 30rem); order: -1; }
  .hero::before { background: rgba(250,250,249,.78); }
  .scroll-cue { display: none; }
  .split-grid { grid-template-columns: 1fr; }
  .dojo-grid { grid-template-columns: 1fr; }
  .dojo-card { min-height: 17rem; }
  .dojo-icon { margin-top: 2rem; }
  .footer-grid { align-items: flex-start; flex-direction: column; }
  .footer-note { text-align: left; }
}

@media (max-width: 560px) {
  .container { width: min(calc(100% - 1.25rem), var(--content-max)); }
  .brand img { width: 3.3rem; height: 3.3rem; }
  .brand-copy strong { font-size: 1rem; }
  .hero { padding-bottom: 2.2rem; }
  .hero h1 { font-size: clamp(3.4rem, 20vw, 5.4rem); }
  .hero-subtitle { font-size: 1rem; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .btn { width: 100%; }
  .hero-meta { gap: .5rem .75rem; font-size: .68rem; }
  .principles { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: 1fr; }
  .value-card { min-height: 13rem; }
  .swatches { grid-template-columns: 1fr; }
}

@media (pointer: coarse), (hover: none) {
  .cursor-dot, .cursor-halo { display: none !important; }
}


/* ===== HOTFIX MENU PUBLIC COMPLET — 2026-10-05 ===== */
.main-nav{
  flex-wrap:nowrap;
}
.main-nav .nav-cart-link{
  border:1px solid rgba(77,110,80,.18);
}
.main-nav .nav-account-link{
  background:var(--vert-profond,#25382a);
  color:#fff;
}
.main-nav .nav-account-link:hover{
  background:var(--vert-principal,#4d6e50);
  color:#fff;
}

@media (min-width:1401px){
  .main-nav{
    gap:.08rem;
  }
  .main-nav a{
    padding:.62rem .58rem;
    font-size:.79rem;
    white-space:nowrap;
  }
}

@media (max-width:1400px){
  .nav-toggle{
    display:block !important;
    position:relative;
    z-index:92;
  }
  .main-nav{
    position:fixed !important;
    top:.8rem !important;
    right:.8rem !important;
    left:.8rem !important;
    z-index:90 !important;
    display:grid !important;
    gap:.3rem !important;
    max-height:calc(100vh - 1.6rem);
    overflow:auto;
    padding:calc(var(--header-height,4.75rem) + 1rem) 1rem 1rem !important;
    border:1px solid rgba(37,56,42,.1);
    border-radius:1.4rem;
    background:rgba(250,250,249,.98) !important;
    box-shadow:var(--shadow-card,0 18px 50px rgba(18,24,28,.12));
    transform:translateY(-130%) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:transform .25s ease,opacity .25s ease;
  }
  .main-nav.is-open{
    transform:none !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .main-nav a{
    display:block !important;
    padding:.9rem 1rem !important;
    color:var(--noir,#12181c) !important;
    border-radius:.8rem;
  }
  .main-nav .nav-account-link{
    color:#fff !important;
  }
}

/* ===== JUDO BUSHIDO — pont navigation fonctionnelle 2026-10-05 ===== */
@media (min-width: 1401px) {
  .main-nav { gap: .08rem; }
  .main-nav a { padding: .62rem .55rem; font-size: .78rem; white-space: nowrap; }
}
@media (max-width: 1400px) {
  .nav-toggle { display: block !important; position: relative; z-index: 92; }
  .main-nav {
    position: fixed !important;
    top: .8rem !important;
    right: .8rem !important;
    left: .8rem !important;
    z-index: 90 !important;
    display: grid !important;
    gap: .3rem !important;
    max-height: calc(100vh - 1.6rem);
    overflow: auto;
    padding: calc(var(--header-height, 4.75rem) + 1rem) 1rem 1rem !important;
    border: 1px solid rgba(37,56,42,.1);
    border-radius: 1.4rem;
    background: rgba(250,250,249,.98) !important;
    box-shadow: var(--shadow-card, 0 18px 50px rgba(18,24,28,.12));
    transform: translateY(-130%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: transform .25s ease, opacity .25s ease;
  }
  .main-nav.is-open { transform: none !important; opacity: 1 !important; pointer-events: auto !important; }
  .main-nav a { display: block !important; padding: .9rem 1rem !important; color: var(--noir,#12181c) !important; }
}
