/* ---- Direction 1 · Minimalisme — page d'accueil ----
   Les composants éditoriaux partagés (.lead, .grave, .steps, .quote, .faq,
   .upanel, .band, .cta-band, .phero) vivent dans base.css. */
.section{padding:clamp(90px,13vh,150px) 0}

/* ===== Hero défilant ===== */
.hero-slider{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;isolation:isolate;background:#eee6dc}
.hs-viewport{position:absolute;inset:0;z-index:-1}
.hs-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s var(--ease),visibility 1.1s var(--ease)}
.hs-slide.is-active{opacity:1;visibility:visible}
.hs-bg{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;transform:scale(1.07);transition:transform 7.5s var(--ease);filter:saturate(.97) contrast(1.02)}
.hs-slide.is-active .hs-bg{transform:scale(1)}
.hs-scrim{position:absolute;inset:0;background:radial-gradient(58% 78% at 78% 57%,rgba(255,255,255,0) 0,rgba(17,24,39,.08) 62%,rgba(17,24,39,.16) 100%),linear-gradient(90deg,rgba(250,250,248,.97) 0,rgba(250,250,248,.86) 33%,rgba(250,250,248,.3) 58%,rgba(250,250,248,.05) 100%),linear-gradient(180deg,rgba(250,250,248,.42),rgba(250,250,248,.06) 46%,rgba(250,250,248,.66))}

.hs-inner{position:relative;z-index:1;max-width:760px;padding-top:clamp(132px,17vh,188px);padding-bottom:clamp(150px,21vh,224px)}
.hs-kicker,.hs-title,.hs-sub,.hs-cta{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.hs-slide.is-active .hs-kicker{opacity:1;transform:none;transition-delay:.16s}
.hs-slide.is-active .hs-title{opacity:1;transform:none;transition-delay:.3s}
.hs-slide.is-active .hs-sub{opacity:1;transform:none;transition-delay:.44s}
.hs-slide.is-active .hs-cta{opacity:1;transform:none;transition-delay:.56s}
.hs-kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--head);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:26px}
.hs-kicker::before{content:'';width:34px;height:1px;background:var(--gold);opacity:.7}
/* Taille bornée par la LARGEUR et par la HAUTEUR d'écran (14svh) : sur un
   portable à fenêtre basse, le titre se réduit au lieu de chevaucher les
   onglets du bas. Première ligne = repli pour navigateurs sans svh. */
.hs-title{font-family:var(--serif);font-weight:500;font-size:clamp(3.4rem,8.4vw,8.4rem);font-size:clamp(2.7rem,min(8.4vw,14svh),8.4rem);line-height:.94;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.hs-title em{font-style:italic}
.hs-sub{margin-top:26px;max-width:440px;font-size:16px;line-height:1.72;color:rgba(63,66,76,.82)}
.hs-cta{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px}

.hs-arrow{position:absolute;top:calc(50% - 40px);transform:translateY(-50%);z-index:3;width:52px;height:52px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink);display:grid;place-items:center;font-size:22px;cursor:pointer;opacity:.5;transition:opacity .4s var(--ease),background .4s var(--ease),border-color .4s var(--ease),color .4s var(--ease)}
.hs-arrow:hover{opacity:1;border-color:var(--gold);color:var(--gold-ink);background:rgba(255,255,255,.92)}
.hs-arrow:focus-visible{opacity:1;outline:2px solid var(--gold);outline-offset:3px}
.hs-prev{left:clamp(12px,3vw,40px)}
.hs-next{right:clamp(12px,3vw,40px)}

.hs-foot{position:absolute;left:0;right:0;bottom:clamp(26px,4.6vh,52px);z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.hs-dots{display:flex;gap:12px;flex-wrap:wrap}
.hs-dot{position:relative;display:flex;flex-direction:column;gap:9px;padding:12px 0 0;min-width:122px;background:none;border:0;cursor:pointer;text-align:left;color:var(--muted);opacity:.6;transition:opacity .4s var(--ease),color .4s var(--ease)}
.hs-dot:hover,.hs-dot.is-active{opacity:1;color:var(--ink)}
.hs-dot-num{font-family:var(--head);font-size:11px;font-weight:600;letter-spacing:.1em}
.hs-dot-label{font-family:var(--serif);font-size:19px;font-weight:500;line-height:1}
.hs-dot-bar{position:relative;display:block;height:2px;width:100%;background:var(--line);overflow:hidden;border-radius:2px}
.hs-dot-bar>span{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--gold),var(--champ))}
.hs-dot.is-active .hs-dot-bar>span{animation:hsBar var(--hs-dur,6500ms) linear forwards}
.hero-slider.is-paused .hs-dot.is-active .hs-dot-bar>span{animation-play-state:paused}
.hs-dot:focus-visible{opacity:1;outline:2px solid var(--gold);outline-offset:4px;border-radius:6px}
@keyframes hsBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.scroll-cue{font-family:var(--head);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:14px}
.scroll-cue span{width:46px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);animation:cueX 2.6s var(--ease) infinite}
@keyframes cueX{0%{transform:scaleX(0);transform-origin:left}45%,55%{transform:scaleX(1)}100%{transform:scaleX(0);transform-origin:right}}

@media(max-width:900px){
  .hs-arrow{display:none}
  .hs-inner{max-width:100%;padding-top:120px;padding-bottom:clamp(150px,24vh,200px)}
  .hs-title{font-size:clamp(3rem,13vw,4.7rem)}
  .hs-sub{font-size:15px}
  .hs-scrim{background:linear-gradient(90deg,rgba(250,250,248,.96) 0,rgba(250,250,248,.85) 46%,rgba(250,250,248,.34) 74%,rgba(250,250,248,.1) 100%),linear-gradient(180deg,rgba(250,250,248,.6),rgba(250,250,248,.12) 52%,rgba(250,250,248,.84))}
  .hs-foot{flex-direction:column;align-items:stretch;gap:16px}
  .hs-dots{width:100%;gap:8px}
  .hs-dot{min-width:0;flex:1;gap:7px}
  .hs-dot-label{display:none}
  .hs-foot .scroll-cue{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hs-slide,.hs-bg,.hs-kicker,.hs-title,.hs-sub,.hs-cta{transition:none}
  .hs-dot.is-active .hs-dot-bar>span{animation:none;transform:scaleX(1)}
}

/* ===== Fenêtres peu hautes (portables, fenêtres réduites) =====
   Le hero fait 100svh et ses diapositives sont positionnées en absolu :
   sans ces paliers, le contenu dépasse et chevauche les onglets du bas. */
@media(max-height:820px) and (min-width:901px){
  .hs-inner{padding-top:calc(var(--top-marquee-h) + 88px);padding-bottom:176px}
  .hs-kicker{margin-bottom:18px}
  .hs-sub{margin-top:18px}
  .hs-cta{margin-top:26px}
}
@media(max-height:680px) and (min-width:901px){
  .hs-inner{padding-top:calc(var(--top-marquee-h) + 66px);padding-bottom:150px}
  .hs-title{font-size:clamp(2.2rem,min(6.6vw,13svh),4.8rem)}
  .hs-sub{margin-top:14px;font-size:14px;max-width:400px}
  .hs-cta{margin-top:20px}
  .hs-kicker{margin-bottom:14px}
  .hs-dot{padding-top:8px;gap:6px}
  .hs-dot-label{font-size:16px}
  .hs-foot{bottom:20px}
}
@media(max-height:600px) and (max-width:900px){
  .hs-inner{padding-top:100px;padding-bottom:140px}
  .hs-title{font-size:clamp(2.2rem,min(9vw,13svh),4rem)}
  .hs-sub{margin-top:14px;font-size:14px}
  .hs-cta{margin-top:20px}
}
@media(max-height:560px){
  .hs-inner{padding-top:calc(var(--top-marquee-h) + 52px);padding-bottom:128px}
  .hs-title{font-size:clamp(1.9rem,min(5.6vw,12svh),3.6rem)}
  .hs-dot-label{display:none}
  .btn{padding:12px 22px}
}
/* Téléphone en paysage : l'essentiel seulement (titre + actions). */
@media(max-height:430px){
  .hs-inner{padding-top:calc(var(--top-marquee-h) + 40px);padding-bottom:104px}
  .hs-title{font-size:clamp(1.7rem,9svh,2.4rem)}
  .hs-kicker{margin-bottom:10px}
  .hs-sub{display:none}
  .hs-cta{margin-top:16px}
  .btn{padding:10px 18px;font-size:13px}
  .hs-dot{padding-top:6px;gap:5px;min-width:56px}
  .hs-dot-num{font-size:10px}
  .hs-foot{bottom:12px}
}

/* ===== Parcourir (par catégorie / par thème) ===== */
.browse-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:clamp(30px,4.5vw,68px);align-items:start}
.browse-k{margin-bottom:24px}
.browse-list{list-style:none}
.browse-list li{border-top:1px solid var(--line)}
.browse-list li:last-child{border-bottom:1px solid var(--line)}
.browse-list a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 4px;font-family:var(--serif);font-size:clamp(20px,2.1vw,26px);font-weight:500;color:var(--ink);transition:padding .45s var(--ease),color .35s var(--ease)}
.browse-list a i{font-size:19px;color:var(--muted);opacity:0;transform:translate(-6px,4px);transition:opacity .4s var(--ease),transform .45s var(--ease),color .35s var(--ease)}
.browse-list a:hover{padding-left:14px;color:var(--gold-ink)}
.browse-list a:hover i{opacity:1;transform:none;color:var(--gold)}
.browse-list a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.browse-feature{position:relative;overflow:hidden;background:var(--navy);color:var(--off);border-radius:var(--r-card);padding:clamp(32px,3.6vw,46px);display:flex;flex-direction:column;align-items:flex-start}
.browse-feature::after{content:'';position:absolute;right:-46px;top:-46px;width:210px;height:210px;border-radius:999px;background:radial-gradient(circle,rgba(200,169,106,.28),transparent 70%);pointer-events:none}
.bf-k{font-family:var(--head);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--champ);margin-bottom:18px}
.browse-feature h3{position:relative;font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.1vw,40px);line-height:1.05;margin-bottom:14px}
.browse-feature p{position:relative;color:#aeb6c4;font-size:15px;line-height:1.68;margin-bottom:28px;max-width:350px}
.browse-feature .btn{position:relative}
@media(max-width:900px){
  .browse-grid{grid-template-columns:1fr;gap:44px}
}

/* manifesto */
.manifesto{text-align:center}
.manifesto p{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.6vw,48px);line-height:1.28;max-width:980px;margin:0 auto;letter-spacing:-.005em}

/* collections — product gallery */
.coll{display:grid;grid-template-columns:repeat(3,1fr)}
.coll-item{padding:14px 34px 0;border-left:1px solid var(--line);cursor:pointer}
.coll-item:first-child{border-left:0;padding-left:0}
.pframe{position:relative;height:430px;border-radius:var(--r-card);overflow:hidden;background:radial-gradient(62% 70% at 50% 44%,#f7f6f2,#eeece5)}
.pframe img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:30px;filter:drop-shadow(0 26px 30px rgba(17,24,39,.14));will-change:opacity;transition:opacity 1s var(--ease)}
.pframe .plein{opacity:0}
.coll-item:hover .pframe .vide{opacity:0}
.coll-item:hover .pframe .plein{opacity:1}
.pframe .hint{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-family:var(--head);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:.7;transition:opacity .4s}
.coll-item:hover .pframe .hint{opacity:0}
.sizes{display:flex;gap:8px;margin-top:12px}
/* Zone tactile ≥ 40px (usage mobile). */
.size-btn{font-family:var(--head);font-size:12px;letter-spacing:.04em;padding:11px 17px;border:1px solid var(--line);border-radius:20px;background:none;cursor:pointer;color:var(--muted);transition:border-color .3s var(--ease),color .3s var(--ease)}
.size-btn:hover{border-color:var(--ink);color:var(--ink)}
.size-btn.on{border-color:var(--ink);color:var(--ink)}
.size-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.coll-name{font-family:var(--serif);font-size:30px;font-weight:500;margin-top:14px}
.coll-meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.coll-meta .price{font-size:14px;color:var(--muted)}

/* directory */
.row{display:flex;align-items:center;gap:30px;padding:26px 6px;border-top:1px solid var(--line);color:inherit;transition:padding .5s var(--ease)}
.row:last-child{border-bottom:1px solid var(--line)}
.row .rix{font-family:var(--head);font-size:13px;color:var(--muted);min-width:40px}
.row .nm{font-family:var(--serif);font-size:clamp(26px,3.2vw,44px);font-weight:500;flex:1;transition:color .4s var(--ease),transform .5s var(--ease)}
.row .ar{font-size:24px;color:var(--muted);transition:transform .5s var(--ease),color .4s}
.row .desc{font-size:13px;color:var(--muted);max-width:240px;display:none}
@media(min-width:900px){.row .desc{display:block}}
.row:hover{padding-left:24px;padding-right:24px}
.row:hover .nm{color:var(--gold-ink);transform:translateX(6px)}
.row:hover .ar{transform:translate(8px,-2px);color:var(--gold)}
.row:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

@media(max-width:1200px){
  h1.giant{font-size:7.2rem}
}

@media(max-width:900px){
  .hero{min-height:100svh;padding:128px 0 46px}
  .hero::before{background-position:62% center;filter:saturate(.94) contrast(1.01)}
  .hero::after{background:linear-gradient(90deg,rgba(250,250,248,.96) 0,rgba(250,250,248,.84) 42%,rgba(250,250,248,.28) 72%,rgba(250,250,248,.08) 100%),linear-gradient(180deg,rgba(250,250,248,.66),rgba(250,250,248,.14) 54%,rgba(250,250,248,.84))}
  .hero-grid{grid-template-columns:1fr;min-height:clamp(410px,58vh,560px)}.h-side{text-align:left;max-width:330px}.h-rule{margin-left:0}.h-glass{justify-content:flex-start}
  h1.giant{font-size:4.9rem}
  .hero .h-side>.btn{display:none}
  .coll{grid-template-columns:1fr}.coll-item{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.coll-item:first-child{border-top:0}
  .coll-vis{height:240px}
}

@media(max-width:520px){
  h1.giant{font-size:3.35rem}
}
