/* NURB STUDIO — case page template (used by every case-*.html page).
   Requires css/style.css first. */
  /* ================= CASE PAGE ================= */
  .case-header{
    padding:150px 0 50px;
    border-bottom:1px solid var(--panel-line);
  }
  .case-back{
    font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
    color:var(--ash); display:inline-flex; align-items:center; gap:8px; transition:color .25s;
  }
  .case-back:hover{ color:var(--signal); }
  .case-header h1{
    font-family:var(--display); font-size:clamp(34px, 5.6vw, 64px); text-transform:uppercase;
    line-height:1; margin:20px 0 14px;
  }
  .case-header h1 .accent{ color:var(--signal); }
  .case-header-sub{ font-size:18px; color:var(--ash); max-width:560px; }

  .case-meta-strip{ border-bottom:1px solid var(--panel-line); padding:36px 0; }
  .case-meta-grid{ display:grid; grid-template-columns:repeat(5, 1fr); gap:24px; }
  .case-meta-field span{
    display:block; font-family:var(--mono); font-size:11px; color:var(--ash-dim);
    text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px;
  }
  .case-meta-field strong{ font-size:15px; font-weight:600; color:var(--paper); line-height:1.4; }
  @media (max-width:900px){ .case-meta-grid{ grid-template-columns:repeat(2, 1fr); } }

  /* ---- video gallery (click-to-play Vimeo embeds) ---- */
  .case-videos{ display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; align-items:start; }
  .case-video-frame{
    position:relative; aspect-ratio:16/9;
    overflow:hidden; cursor:pointer;
  }
  .case-video-frame.portrait{ aspect-ratio:1/1.9971; }
  .case-video-frame iframe{
    position:absolute; inset:0; width:100%; height:100%; border:0;
  }
  .case-video-cover{
    position:absolute; inset:0;
    background-size:cover; background-position:center;
    transition:transform .6s cubic-bezier(.16,1,.3,1), filter .4s;
    filter:saturate(.85) brightness(.75);
  }
  .case-video-frame:hover .case-video-cover{ transform:scale(1.05); filter:saturate(1) brightness(.85); }
  .case-video-play{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(1);
    width:52px; height:52px; border-radius:50%;
    background:rgba(7,8,10,.5);
    border:1.5px solid rgba(242,244,236,.6);
    display:flex; align-items:center; justify-content:center;
    transition:border-color .3s, background .3s, transform .3s;
    z-index:2; pointer-events:none;
  }
  .case-video-frame:hover .case-video-play{ border-color:var(--signal); background:rgba(7,8,10,.7); }
  .case-video-play::before{
    content:''; width:0; height:0;
    border-top:7px solid transparent; border-bottom:7px solid transparent;
    border-left:12px solid var(--paper); margin-left:4px;
  }
  .case-video h4{
    font-family:var(--display); font-size:15px; text-transform:uppercase;
    color:var(--paper); margin-top:14px; letter-spacing:.01em;
  }
  @media (max-width:800px){ .case-videos{ grid-template-columns:1fr; } }

  .case-p{ font-size:17px; line-height:1.85; color:var(--ash); margin-bottom:22px; }
  .case-p:last-child{ margin-bottom:0; }
  .case-p.lede{ font-size:19px; color:var(--paper); font-weight:500; }

  .case-deliverables{ display:flex; flex-wrap:wrap; gap:10px; }
  .case-chip{
    font-family:var(--mono); font-size:12.5px;
    border:1px solid var(--panel-line);
    padding:10px 15px; border-radius:2px;
    color:var(--paper); display:flex; align-items:center; gap:8px;
  }
  .case-chip::before{ content:''; width:6px; height:6px; background:var(--signal); flex-shrink:0; }

  .case-highlights{ display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:8px; }
  .case-highlight{
    padding:36px 40px; border:1px solid var(--panel-line); border-left:3px solid var(--signal);
    background:var(--panel);
  }
  .case-highlight .eyebrow{ margin-bottom:14px; }
  .case-highlight p{ font-size:17px; color:var(--paper); line-height:1.65; }
  @media (max-width:800px){ .case-highlights{ grid-template-columns:1fr; } }

  .case-switch{
    display:grid; grid-template-columns:1fr 1fr;
    border-top:1px solid var(--panel-line); border-bottom:1px solid var(--panel-line);
  }
  .case-switch-link{ padding:40px; transition:background .25s; }
  .case-switch-link:hover{ background:var(--panel); }
  .case-switch-link.next{ text-align:right; border-left:1px solid var(--panel-line); }
  .case-switch-link.next .eyebrow{ justify-content:flex-end; }
  .case-switch-link h3{
    font-family:var(--display); font-size:clamp(20px, 2.6vw, 30px);
    text-transform:uppercase; margin-top:10px;
  }
  @media (max-width:700px){
    .case-switch{ grid-template-columns:1fr; }
    .case-switch-link.next{ border-left:none; border-top:1px solid var(--panel-line); text-align:left; }
    .case-switch-link.next .eyebrow{ justify-content:flex-start; }
  }

