/* ===== Homepage v3: one full-screen section at a time ===== */
.pg-home{--hh:68px;--ph:calc(var(--vh,1vh)*100)}
.pg-home .sp-topbar,.pg-home .sp-mega{display:none}
.pg-home .sp-head{position:fixed;left:0;right:0;top:0;background:linear-gradient(180deg,rgba(7,10,20,.85),rgba(7,10,20,.35));border-bottom-color:transparent;transition:background .4s,border-color .4s}
.pg-home .sp-head.solid{background:rgba(7,10,20,.82);border-bottom-color:var(--line)}
.hm{position:relative}
.hm-p{position:relative;height:var(--ph);min-height:620px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hh) + 28px) 0 34px;isolation:isolate}
.hm-in{position:relative;z-index:2;width:min(1320px,100% - 48px);margin-inline:auto}
.hm-center{text-align:center;position:relative;z-index:2}
.hm-eye{font:600 12px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--brand2);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.hm-center .hm-eye{justify-content:center}
.hm-live{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:sp-pulse 2s infinite}
.hm h2{font-size:clamp(40px,min(5.2vw,8.6vh),82px);line-height:.95}
.hm-lede{font-size:clamp(15px,1.15vw,18px);color:#c6cce3;max-width:560px;margin-top:14px}
.hm-mx{margin-inline:auto}
.hm-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(18px,3vh,34px)}
.hm-head .hm-lede{margin:0;max-width:420px}
.hm-grad{background:linear-gradient(90deg,#8a90ff,#c7a6ff 40%,#6cd3ff 80%);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:hm-gradmove 8s ease-in-out infinite alternate}
@keyframes hm-gradmove{to{background-position:100% 0}}

/* aurora gradient backgrounds */
.hm-aurora{position:absolute;inset:-10%;z-index:0;filter:blur(70px);opacity:.75;pointer-events:none}
.hm-aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen;animation:hm-float 18s ease-in-out infinite alternate}
.hm-aurora i:nth-child(1){width:46vw;height:46vw;left:-6%;top:6%;background:radial-gradient(circle,rgba(58,65,184,.85),transparent 65%)}
.hm-aurora i:nth-child(2){width:38vw;height:38vw;left:22%;top:42%;background:radial-gradient(circle,rgba(120,70,220,.55),transparent 65%);animation-duration:22s;animation-delay:-6s}
.hm-aurora i:nth-child(3){width:30vw;height:30vw;left:6%;top:-10%;background:radial-gradient(circle,rgba(40,140,230,.45),transparent 65%);animation-duration:26s;animation-delay:-11s}
.hm-aurora-b i:nth-child(1){left:auto;right:-8%}.hm-aurora-b i:nth-child(2){left:30%;top:50%}
.hm-aurora-c{opacity:.55}.hm-aurora-c i:nth-child(1){left:55%;top:40%}
.hm-aurora-d{opacity:.6}
@keyframes hm-float{0%{transform:translate(0,0) scale(1)}50%{transform:translate(6vw,-4vh) scale(1.15)}100%{transform:translate(-4vw,5vh) scale(.95)}}

/* generic full-bleed bg image */
.hm-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hm-bg img{width:100%;height:100%;object-fit:cover}
.hm-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,20,.92) 0%,rgba(7,10,20,.55) 42%,rgba(7,10,20,.1) 75%),linear-gradient(0deg,rgba(7,10,20,.7),transparent 35%)}
.hm-bg-dim img{opacity:.22;filter:blur(3px) saturate(.8)}
.hm-bg-dim::after{background:linear-gradient(180deg,var(--bg),rgba(7,10,20,.6) 40%,var(--bg))}

/* 1 hero */
.hm-hero-img{position:absolute;top:0;bottom:0;right:0;width:min(62%,calc(var(--ph) * 1.15));z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%);mask-image:linear-gradient(90deg,transparent 0,#000 16%)}
.hm-hero-img img{width:100%;height:100%;object-fit:cover;object-position:62% 58%}
.hm-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),transparent 28%)}
.hm-hero-in>*{max-width:min(560px,40vw)}
.hm-hero h1{font-size:clamp(46px,min(5.8vw,9.4vh),100px);line-height:.94}
.hm-rot{display:grid;color:var(--brand2)}
.hm-rot em{grid-area:1/1;font-style:normal;opacity:0;transform:translateY(40%);transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1)}
.hm-rot em.on{opacity:1;transform:none;transition-delay:.38s}
.hm-rot em.out{opacity:0;transform:translateY(-40%);transition-duration:.35s,.35s}
.hm-stats{display:grid;grid-template-columns:repeat(4,auto);gap:34px;margin-top:clamp(24px,5vh,54px);padding-top:18px;border-top:1px solid var(--line);max-width:none!important;width:min(640px,46vw)}
.hm-stats b{display:block;font:800 clamp(28px,2.4vw,38px)/1 var(--disp)}.hm-stats span{font-size:12.5px;color:var(--muted)}
.hm-next{position:absolute;left:50%;bottom:22px;z-index:3;width:30px;height:48px;border-radius:16px;border:1.5px solid rgba(255,255,255,.35);background:none;cursor:pointer;transform:translateX(-50%)}
.hm-next span{position:absolute;left:50%;top:9px;width:4px;height:9px;border-radius:2px;background:#fff;transform:translateX(-50%);animation:hm-wheel 1.8s infinite}
@keyframes hm-wheel{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,16px)}}

/* 2 brands */
.hm-giant{font-size:clamp(56px,min(8vw,12vh),140px)!important}
.hm-logos{position:relative;z-index:2;margin:clamp(24px,5vh,50px) 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.hm-lrow{display:flex;gap:18px;width:max-content;animation:sp-mq 45s linear infinite}
.hm-logos:hover .hm-lrow{animation-play-state:paused}
.hm-lrow{align-items:center}
.hm-lrow a{flex:none;width:190px;height:96px;border-radius:16px;background:#fff;display:grid;place-items:center;padding:14px 22px;box-shadow:0 18px 40px -20px rgba(0,0,0,.8);outline:2px solid transparent;transition:outline-color .3s}
.hm-lrow a:hover{outline-color:var(--brand2)}
.hm-logos[data-a]{transform:none!important}
.hm-lrow img{max-width:100%;max-height:62px;object-fit:contain}

/* 3 departments */
.hm-depts{background:var(--bg2)}
.hm-dgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,calc((var(--ph) - var(--hh) - 220px)/2));gap:14px}
.hm-dc{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.hm-dc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.hm-dc.prod img{object-fit:contain;background:#fff;padding:12px 12px 64px}
.hm-dc::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,10,20,.95) 6%,rgba(7,10,20,.15) 55%,transparent)}
.hm-dc:hover img{transform:scale(1.07)}
.hm-dc>div{position:absolute;left:18px;right:50px;bottom:16px;z-index:1}
.hm-dc span{font:600 11.5px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--brand2)}
.hm-dc h3{font-size:clamp(20px,1.7vw,27px);margin-top:4px}
.hm-dc i{position:absolute;right:14px;bottom:14px;z-index:1;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);transition:background .3s,transform .3s}
.hm-dc:hover i{background:var(--brand2);transform:rotate(-45deg)}

/* 4 boots */
.hm-ghost{position:absolute;right:-2vw;bottom:-4vh;z-index:1;font:800 min(30vw,46vh)/0.8 var(--disp);color:transparent;-webkit-text-stroke:2px rgba(160,170,255,.18);pointer-events:none;letter-spacing:-.02em}
.hm-boots-in{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.hm-glass{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:16px;border-radius:24px;background:rgba(16,23,44,.45);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}

/* product mini card */
.hm-pc{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--panel);border:1px solid var(--line);transition:transform .3s,border-color .3s}
.hm-pc:hover{transform:translateY(-6px);border-color:var(--brand2)}
.hm-pc-img{aspect-ratio:1;background:#fff}.hm-pc-img img{width:100%;height:100%;object-fit:contain;transition:transform .5s}.hm-pc:hover .hm-pc-img img{transform:scale(1.06)}
.hm-pc-b{padding:10px 12px 12px}.hm-pc-b span{font:600 10.5px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--brand2)}
.hm-pc-b h4{font:600 13px/1.3 var(--body);text-transform:none;margin:4px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.hm-pc-b b{font-weight:700;font-size:15px}

/* 5 gear hotspots */
.hm-gear{background:radial-gradient(900px 500px at 50% 60%,rgba(58,65,184,.25),transparent 70%),var(--bg)}
.hm-gear-in{display:flex;flex-direction:column;height:100%}
.hm-stage{position:relative;flex:1;min-height:0;aspect-ratio:1672/941;max-width:100%;margin:0 auto;border-radius:22px;overflow:visible}
.hm-stage>img{width:100%;height:100%;object-fit:contain;border-radius:22px;box-shadow:0 40px 90px -30px rgba(0,0,0,.9)}
.hm-hot{position:absolute;transform:translate(-50%,-50%);z-index:2}
.hm-hot i{display:block;width:22px;height:22px;border-radius:50%;background:#fff;border:6px solid var(--brand2);box-shadow:0 0 0 0 rgba(108,116,255,.7);animation:hm-ping 2.2s infinite;animation-delay:var(--d)}
@keyframes hm-ping{0%{box-shadow:0 0 0 0 rgba(108,116,255,.7)}70%{box-shadow:0 0 0 16px rgba(108,116,255,0)}100%{box-shadow:0 0 0 0 rgba(108,116,255,0)}}
.hm-hot span{position:absolute;left:30px;top:50%;width:220px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto auto;column-gap:10px;padding:10px;border-radius:14px;background:rgba(10,14,28,.92);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transform:translate(-6px,-50%);transition:opacity .25s,transform .25s}
.hm-hot.l span{left:auto;right:30px;transform:translate(6px,-50%)}
.hm-hot span img{grid-row:1/4;width:54px;height:54px;border-radius:8px;background:#fff;object-fit:contain}
.hm-hot span em{font:600 10.5px var(--body);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--brand2)}
.hm-hot span b{font:600 12.5px/1.25 var(--body)}.hm-hot span strong{font-size:13px}
.hm-hot:hover span,.hm-hot:focus span{opacity:1;transform:translate(0,-50%)}
.hm-hot:hover{z-index:5}

/* 6 shirts split */
.hm-shirts{flex-direction:row;padding:0}
.hm-split-img{position:relative;width:46%;height:100%;overflow:hidden}
.hm-split-img img{width:100%;height:100%;object-fit:cover}
.hm-split-txt{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:calc(var(--hh) + 20px) max(24px,calc((100vw - 1320px)/2)) 30px 56px;background:linear-gradient(135deg,#0d1330,#0a0e1d)}
.hm-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;width:100%;max-width:620px}

/* 7 women */
.hm-bg-left img{object-position:20% 20%}
.hm-bg-left::after{background:linear-gradient(270deg,rgba(7,10,20,.96) 0%,rgba(7,10,20,.75) 38%,rgba(7,10,20,.05) 66%),linear-gradient(0deg,rgba(7,10,20,.6),transparent 30%)}
.hm-women-in{display:flex;justify-content:flex-end}
.hm-women-box{width:min(600px,46%)}
.hm-quad{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}
.hm-quad .hm-pc-b h4{font-size:12px}

/* 8 in-store accordion */
.hm-acc{display:flex;gap:12px;height:calc(var(--ph) - var(--hh) - 250px);min-height:300px}
.hm-acc article{position:relative;flex:1;border-radius:20px;overflow:hidden;border:1px solid var(--line);cursor:pointer;transition:flex .7s cubic-bezier(.2,.7,.2,1)}
.hm-acc article.on{flex:3.2}
.hm-acc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hm-acc article::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,10,20,.95) 5%,rgba(7,10,20,.1) 55%)}
.hm-acc article>div{position:absolute;left:22px;right:22px;bottom:20px;z-index:1}
.hm-acc b{display:block;font:800 clamp(20px,2vw,32px)/1 var(--disp);text-transform:uppercase}
.hm-acc p{color:#c9cfe4;font-size:14px;margin-top:8px;max-width:420px;opacity:0;transform:translateY(10px);transition:opacity .4s .2s,transform .4s .2s}
.hm-acc article.on p{opacity:1;transform:none}

/* 9 walk in */
.hm-walk .hm-bg::after{background:radial-gradient(ellipse at 50% 80%,rgba(7,10,20,.85),rgba(7,10,20,.2) 70%)}
.hm-walk-words{position:relative;z-index:2;margin-top:auto;text-align:center;font:800 clamp(52px,min(8vw,13vh),136px)/.92 var(--disp);text-transform:uppercase;text-shadow:0 10px 40px rgba(0,0,0,.6)}
.hm-walk-words span{display:block}
.hm-walk-words em{font-style:normal}

/* 10 visit */
.hm-visit-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.hm-team{margin-top:30px;padding:24px;border-radius:20px;background:linear-gradient(135deg,rgba(58,65,184,.35),rgba(17,24,48,.6));border:1px solid rgba(160,170,255,.22)}
.hm-team h3{font-size:28px}.hm-team p{color:#c9cfe4;margin-top:8px;font-size:15px}.hm-team .hm-btns{margin-top:16px}
.hm-visit .sp-loc{background:rgba(17,24,48,.75);backdrop-filter:blur(12px)}

/* 11 follow */
.hm-follow{background:var(--bg2)}
.hm-social{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.hm-social a{aspect-ratio:1;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.hm-social img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.hm-social a:hover img{transform:scale(1.08)}

/* section dots */
.hm-dots{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:70;display:flex;flex-direction:column;gap:10px}
.hm-dots button{position:relative;width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.28);cursor:pointer;transition:background .3s,transform .3s}
.hm-dots button.on{background:var(--brand2);transform:scale(1.4)}
.hm-dots span{position:absolute;right:20px;top:50%;transform:translateY(-50%);white-space:nowrap;font:600 12px var(--body);background:rgba(10,14,28,.9);padding:5px 10px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s}
.hm-dots button:hover span{opacity:1}

/* entrance states (JS adds .in) */
.hm [data-a]{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.hm [data-a="img"]{transform:scale(1.08);transition:opacity 1.2s,transform 1.6s cubic-bezier(.2,.7,.2,1)}
.hm [data-a="zoom"]{transform:scale(1.25);transition:opacity 1s,transform 2.2s cubic-bezier(.2,.7,.2,1)}
.hm [data-a="card"]{transform:translateY(40px) scale(.96)}
.hm .in [data-a],.hm .in[data-a]{opacity:1;transform:none}
.hm-walk-words [data-a]{transform:translateY(60px)}
.no-js .hm [data-a]{opacity:1;transform:none}

/* tablet */
@media (max-width:1100px){
  .hm-dgrid{grid-template-columns:repeat(4,1fr)}
  .hm-hero-in>*{max-width:40vw}
  .hm-hero-img{width:56%}
  .hm-hero h1{font-size:clamp(40px,5.2vw,64px)}
  .hm-stats{width:40vw;grid-template-columns:repeat(2,auto);gap:14px 30px}
  .hm-boots-in{grid-template-columns:1fr}.hm-boots-copy{max-width:560px}
  .hm-women-box{width:min(600px,60%)}
}
/* phone & short screens: natural scrolling, sections grow to content */
@media (max-width:760px),(max-height:600px){
  .hm-p{height:auto;min-height:0;padding:70px 0}
  .hm-dots{display:none}
  .hm-in{width:calc(100% - 32px)}
  .hm-hero{padding-top:0}
  .hm-hero-img{position:relative;width:100%;height:320px;-webkit-mask-image:none;mask-image:none;margin-bottom:-40px}
  .hm-hero-in>*{max-width:none}
  .hm-hero h1{font-size:clamp(40px,11vw,56px)}
  .hm-stats{grid-template-columns:repeat(2,1fr);width:100%;gap:16px}
  .hm-next{display:none}
  .hm-head{flex-direction:column;align-items:flex-start}
  .hm-dgrid{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:180px;gap:10px}
  .hm-dc h3{font-size:19px}.hm-dc i{display:none}.hm-dc>div{right:14px;left:14px;bottom:12px}
  .hm-glass,.hm-trio{grid-template-columns:repeat(3,1fr);gap:8px;padding:8px}
  .hm-pc-b{padding:8px}.hm-pc-b h4{font-size:11.5px}.hm-pc-b b{font-size:13px}.hm-pc-b span{font-size:9.5px}
  .hm-ghost{font-size:40vw}
  .hm-stage{aspect-ratio:1672/941;flex:none;width:100%}
  .hm-hot i{width:16px;height:16px;border-width:4px}
  .hm-hot span{display:none}
  .hm-shirts{flex-direction:column}
  .hm-split-img{width:100%;height:340px}
  .hm-split-txt{padding:40px 16px}
  .hm-women{padding-top:300px}
  .hm-bg-left::after{background:linear-gradient(0deg,rgba(7,10,20,.98) 55%,rgba(7,10,20,.2) 85%)}
  .hm-bg-left img{object-position:30% 0}
  .hm-women-box{width:100%}
  .hm-quad{grid-template-columns:repeat(2,1fr)}
  .hm-acc{flex-direction:column;height:auto}
  .hm-acc article{flex:none;height:120px;transition:height .6s}
  .hm-acc article.on{height:300px}
  .hm-walk{min-height:70vh;justify-content:flex-end}
  .hm-visit-in{grid-template-columns:1fr;gap:30px}
  .hm-social{grid-template-columns:repeat(3,1fr)}
  .hm-lrow a{width:140px;height:74px}
}
@media (prefers-reduced-motion:reduce){.hm [data-a]{opacity:1!important;transform:none!important}.hm-aurora i,.hm-lrow{animation:none}}
