/* HG Studio v0.4.0 — couche additive au-dessus de site.css */

/* ---------- En-tête : logo à gauche, tout le reste à droite ---------- */
header.hg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;height:auto;min-height:55px;padding:10px var(--g)}
.head-right{display:flex;align-items:flex-start;gap:clamp(18px,3vw,48px);margin-left:auto}
.navrow{display:flex;gap:clamp(14px,2vw,30px);font:bold 12px/1.1 var(--mono)}
.navrow a{position:relative;padding-bottom:3px}
.navrow a sup{font-size:9px;font-weight:400}
.navrow a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.navrow a:hover::after,.navrow a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.hg-head .clock{text-align:right;justify-self:auto}
@media(max-width:1100px){.hg-head .clock{display:none}}
@media(max-width:800px){.head-right{display:none}header.hg-head{padding:10px}.hg-head .menu-toggle{display:block;margin-left:auto}}

/* ---------- Scène rotative ---------- */
.hg-hero{grid-template-rows:1fr auto;padding-bottom:18px}
.hg-hero .stage{width:min(760px,100%);height:min(620px,68svh);cursor:grab;user-select:none;-webkit-user-select:none;outline:none}
.hg-hero .stage.is-dragging{cursor:grabbing}
.hg-hero .stage:focus-visible{outline:1px dashed #999;outline-offset:-10px}
.fan a{-webkit-user-drag:none;transition:filter .35s,opacity .35s}
.fan a img{-webkit-user-drag:none;pointer-events:none}
.fan a:not(.is-front){filter:brightness(.92)}
.fan a.is-front{filter:none;outline:1px solid #050505;outline-offset:4px}
.fan-now{position:absolute;left:var(--g);bottom:58px;z-index:4;display:flex;flex-direction:column;gap:6px;max-width:min(560px,70vw)}
.fan-now a{font-size:clamp(26px,3.2vw,52px);line-height:.95;letter-spacing:-.06em;text-transform:uppercase}
.fan-now a:hover{opacity:.6}
.fan-cats{position:absolute;right:var(--g);bottom:58px;z-index:4;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 16px;max-width:50vw}
.fan-cats button{font:12px var(--mono);color:#999}
.fan-cats button.active{color:#050505}
.fan-cats button.active::before{content:"■ ";font-size:9px}
.fan-tools{position:absolute;left:var(--g);right:var(--g);bottom:16px;display:flex;justify-content:space-between;gap:20px;z-index:4}
@media(max-width:800px){
  .hg-hero .stage{height:52svh}
  .fan-now{bottom:92px;max-width:none;right:var(--g)}
  .fan-now a{font-size:30px}
  .fan-cats{left:var(--g);right:auto;bottom:58px;justify-content:flex-start;max-width:none}
  .fan-tools{font-size:10px}.fan-tools>span{display:none}
}

/* ---------- Ticker ---------- */
.hg-ticker{overflow:hidden;border-top:1px solid #050505;border-bottom:1px solid #050505;padding:10px 0;margin-top:10px}
.ticker-track{display:flex;align-items:center;gap:22px;width:max-content;animation:marquee 70s linear infinite}
.hg-ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track a{display:flex;align-items:center;gap:12px;font-size:clamp(22px,2.4vw,38px);letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap}
.ticker-track a img{width:44px;height:44px;flex:none}
.ticker-track a:hover{opacity:.55}
.ticker-track i{font-style:normal;font-size:20px}

/* ---------- Explorer : filtres & planches ---------- */
.explorer-section{padding:90px var(--g) 0}
.explorer-filters{display:flex;flex-wrap:wrap;gap:6px 18px}
.focus-plates{margin-top:34px;border-top:1px solid #050505;padding-top:14px}
.plates-head{display:flex;align-items:baseline;gap:20px;margin-bottom:14px}
.plates-head>span:first-child{flex:1}
.plates-hint{color:#888}
.plates-track{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scroll-snap-type:x proximity;cursor:grab;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.plates-track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.plate{flex:none;height:clamp(220px,30vw,440px);aspect-ratio:var(--r,1/1);max-width:85vw;background:#f2f2f2;overflow:hidden;scroll-snap-align:start;position:relative}
.plate img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none;transition:transform .8s var(--ease)}
.plate:hover img{transform:scale(1.035)}
.plate-video{display:block;width:100%;height:100%;position:relative}
.plate-video img{filter:brightness(.6)}
.plate-video i{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:42px;font-style:normal}
.plate-more{display:grid;place-items:center;aspect-ratio:3/4;background:#050505;color:#fff;text-align:center}
.plate-more:hover{background:#333}
@media(max-width:800px){.plates-hint{display:none}.plates-head{flex-wrap:wrap;gap:8px}.plate{height:58vw}}

/* ---------- Page Projets : bandes ---------- */
.works-hero{padding:30px 0 50px;display:grid;gap:18px}
.works-hero h1{font-size:clamp(60px,13vw,220px);line-height:.82;letter-spacing:-.08em}
.works-hero p{max-width:460px;line-height:1.3}
.explorer-section.is-all{padding-top:30px}
.project-rows{display:grid}
.prow{border-top:1px solid #050505;padding:14px 0 26px}
.prow:last-child{border-bottom:1px solid #050505}
.prow-head{display:grid;grid-template-columns:50px 1fr auto auto;align-items:baseline;gap:20px;margin-bottom:14px}
.prow-head h3{font-size:clamp(26px,3.4vw,56px);line-height:.95;letter-spacing:-.06em;text-transform:uppercase;transition:transform .5s var(--ease)}
.prow-head:hover h3{transform:translateX(12px)}
.prow-meta{color:#777}
.prow-strip .plate{height:clamp(180px,22vw,320px)}
@media(max-width:800px){.prow-head{grid-template-columns:34px 1fr;gap:8px}.prow-meta{grid-column:2}.prow-open{display:none}.prow-strip .plate{height:46vw}}

/* ---------- Accueil : stats ---------- */
.home-stats{display:flex;gap:30px;margin:26px 0}
.home-stats b{display:block;font:400 clamp(34px,3.6vw,56px)/1 Arial;letter-spacing:-.05em;margin-bottom:4px}

/* ---------- Bandeau contact ---------- */
.cta-band{padding:110px var(--g) 0}
.cta-band a{display:grid;gap:22px;background:#050505;color:#fff;padding:clamp(28px,4vw,60px);transition:background .5s var(--ease)}
.cta-band a:hover{background:#1c1c1c}
.cta-big{font-size:clamp(48px,9vw,160px);line-height:.85;letter-spacing:-.075em}
.cta-top{display:flex;align-items:center;gap:10px}
.cta-top .dot{width:8px;height:8px;border-radius:50%;background:#2ec27e;box-shadow:0 0 0 0 #2ec27e88;animation:hgpulse 2s infinite}
@keyframes hgpulse{70%{box-shadow:0 0 0 10px #2ec27e00}100%{box-shadow:0 0 0 0 #2ec27e00}}
.cta-band+footer,.cta-band+.compact-footer{padding-top:60px}

@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}
.project-rows,#explorer-content{min-width:0}
.project-rows{grid-template-columns:minmax(0,1fr)}
.prow,.focus-plates{min-width:0;max-width:100%}
