/* ==========================================================================
   Hang Time: case study styles
   Every rule is scoped under .hang-time so nothing leaks into the host
   portfolio. Values are copied 1:1 from the published artifact; the only
   change is the scope prefix (:root/body -> .hang-time).
   ========================================================================== */

/* ---- Tokens: light palette (was :root) ---- */
.hang-time{
  color-scheme:light;
  --ground:#EDEFE6; --surface:#F7F8F2; --ink:#221912; --muted:#62574c; --line:#d3d4c6;
  --accent:#C4561F; --accent-ink:#9a3f12; --collar:#6E1E2B;
  --display:"Big Shoulders Display","Oswald","Arial Narrow",sans-serif;
  --body:"Newsreader",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
/* ---- Dark palette: follows the OS unless the host stamps data-theme="light" ---- */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .hang-time{
    color-scheme:dark;
    --ground:#16120e; --surface:#1f1914; --ink:#ede6d8; --muted:#b0a494; --line:#3a3129;
    --accent:#E8793A; --accent-ink:#F09a63; --collar:#c75a6b;
  }
}
/* ---- Explicit dark theme toggle (optional: <html data-theme="dark">) ---- */
:root[data-theme="dark"] .hang-time{
  color-scheme:dark;
  --ground:#16120e; --surface:#1f1914; --ink:#ede6d8; --muted:#b0a494; --line:#3a3129;
  --accent:#E8793A; --accent-ink:#F09a63; --collar:#c75a6b;
}

.hang-time *{box-sizing:border-box}
/* was body{...} */
.hang-time{box-sizing:border-box;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;padding-inline:clamp(16px,4vw,48px);padding-block:0 64px}
.hang-time .wrap{max-width:1120px;margin-inline:auto}
.hang-time img{display:block;max-width:100%;height:auto}
.hang-time .label{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hang-time h1,.hang-time h2,.hang-time h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:.95}
.hang-time h2{font-size:clamp(34px,5vw,52px);font-weight:800;letter-spacing:.01em;text-transform:uppercase}
.hang-time h3{font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.hang-time p{margin:0;max-width:62ch}
.hang-time a{color:var(--accent-ink)}

/* hero */
.hang-time .hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,64px);align-items:end;padding-block:56px 48px;border-bottom:1px solid var(--line)}
.hang-time .hero h1{font-size:clamp(88px,15vw,196px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.82}
.hang-time .hero h1 span{display:block;color:var(--accent)}
.hang-time .hero .lede{font-size:clamp(20px,2.2vw,24px);margin-top:28px;max-width:30ch;line-height:1.4}
.hang-time .hero .lede em{color:var(--collar);font-style:italic}
.hang-time .hero figure{margin:0;position:relative}
.hang-time .hero figure img{border-radius:3px;box-shadow:0 30px 60px -30px rgba(34,25,18,.45)}
.hang-time .readout{position:absolute;left:-18px;top:22%;background:var(--ink);color:var(--ground);font-family:var(--mono);font-size:12px;letter-spacing:.08em;padding:10px 14px;text-transform:uppercase;line-height:1.5}
.hang-time .readout b{display:block;font-family:var(--display);font-size:30px;font-weight:800;letter-spacing:.02em;color:var(--accent)}
.hang-time .facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:40px}
.hang-time .facts div{border-top:2px solid var(--ink);padding-top:10px}
.hang-time .facts dd{margin:4px 0 0;font-size:17px;line-height:1.35}
.hang-time dl{margin:0}

.hang-time section{padding-block:64px;border-bottom:1px solid var(--line)}
.hang-time .sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px;align-items:end;margin-bottom:36px}
.hang-time .sec-head p{color:var(--muted)}

/* compare slider */
.hang-time .compare{position:relative;max-width:520px;margin-inline:auto;aspect-ratio:1125/2000;overflow:hidden;border-radius:3px;user-select:none;touch-action:pan-y;background:var(--surface)}
.hang-time .compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hang-time .compare .top{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.hang-time .compare .handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}
.hang-time .compare .handle::after{content:"◂ ▸";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#221912;font-family:var(--mono);font-size:13px;padding:8px 10px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.hang-time .compare .tag{position:absolute;top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:rgba(22,18,14,.72);color:#f3ede2;padding:5px 8px}
.hang-time .compare .tag.l{left:12px}.hang-time .compare .tag.r{right:12px}
.hang-time .compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.hang-time .compare:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:4px}
.hang-time .compare-hint{text-align:center;margin-top:14px}

.hang-time .pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,48px);margin-top:56px}
.hang-time .pair.seq{margin-top:0}
.hang-time .pair figcaption p{color:var(--muted);font-size:16px}
.hang-time .pair figure{margin:0;display:grid;gap:16px;align-content:start}
.hang-time .pair figure img{border-radius:3px}
.hang-time .pair figcaption{display:grid;gap:8px}
.hang-time .pair ul{margin:0;padding-left:1.1em;color:var(--muted);font-size:16px}
.hang-time .swatches{display:flex;gap:6px}
.hang-time .swatches i{width:28px;height:14px;border-radius:2px;display:block}

/* frame notes */
.hang-time .notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px}
.hang-time .note{display:grid;gap:10px;align-content:start}
.hang-time .note .label{color:var(--accent-ink)}
.hang-time .note p{font-size:17px}

.hang-time .craft{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px}
.hang-time .craft ol{margin:0;padding:0;list-style:none;display:grid;gap:22px;counter-reset:c}
.hang-time .craft li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;counter-increment:c}
.hang-time .craft li::before{content:counter(c);font-family:var(--display);font-weight:800;font-size:30px;line-height:1;color:var(--accent)}
.hang-time .craft li strong{font-weight:500}

.hang-time footer{padding-top:40px;display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between;align-items:baseline}
.hang-time footer .sig{font-family:var(--display);font-size:28px;font-weight:800;text-transform:uppercase}

@media (max-width:760px){
  .hang-time .hero,.hang-time .sec-head,.hang-time .craft{grid-template-columns:minmax(0,1fr)}
  .hang-time .hero{padding-top:32px}
  .hang-time .readout{left:10px;top:auto;bottom:14px}
  .hang-time .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hang-time .notes{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:460px){ .hang-time .pair{grid-template-columns:minmax(0,1fr)} }
