/* ═══════════════════════════════════════
   Presentation Template — Shared CSS
   Each page sets: --accent, --accent-rgb, --accent-dark
   ═══════════════════════════════════════ */
:root{--bg:#0a0a0a;--text:#f5f5f5;--text-secondary:#a0a0a0;--border:rgba(255,255,255,0.08);--card-bg:rgba(255,255,255,0.03);--serif:'Instrument Serif',Georgia,serif;--sans:'Inter',system-ui,sans-serif;--radius:16px}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;overflow-x:hidden}

/* Case Study Layout */
.case-study{max-width:1200px;margin:0 auto;padding:120px 40px 80px}
.case-hero{margin-bottom:60px}
.case-hero .service-type{font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.case-hero h1{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4rem);font-weight:400;line-height:1.1;margin-bottom:16px}
.case-hero .subtitle{font-family:var(--serif);font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:400;font-style:italic;color:var(--text-secondary);margin-bottom:24px}
.case-hero .description{font-size:1.05rem;color:var(--text-secondary);max-width:680px;line-height:1.7}
.case-hero .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.case-hero .tags span{padding:6px 14px;border-radius:100px;border:1px solid var(--border);font-size:12px;color:var(--text-secondary);letter-spacing:0.04em}

/* Hero Image */
.hero-image{margin-bottom:80px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:0 8px 40px rgba(0,0,0,0.15)}
.hero-image img{width:100%;display:block}

/* Story Section */
.story-section{margin-bottom:80px}
.story-section h2{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:400;margin-bottom:24px;line-height:1.2}
.story-section .story-text{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.story-section .story-text p{color:var(--text-secondary);font-size:1rem;line-height:1.8}
.story-section .story-text .highlight{color:var(--accent);font-weight:500}

/* Infographic Stats */
.values-section{margin-bottom:80px}
.values-section h2{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:400;margin-bottom:12px;text-align:center}
.values-section .values-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px;font-size:0.95rem}
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.value-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:32px;text-align:center;transition:all 0.3s}
.value-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 30px rgba(var(--accent-rgb),0.12)}
.value-icon{font-size:2rem;margin-bottom:16px}
.value-stat{font-family:var(--serif);font-size:2.2rem;font-weight:400;color:var(--accent);margin-bottom:8px;line-height:1}
.value-card h3{font-family:var(--serif);font-size:1.1rem;font-weight:500;margin-bottom:8px}
.value-card p{color:var(--text-secondary);font-size:0.85rem;line-height:1.6}

/* Bento Grid */
.bento-section{margin-bottom:80px}
.bento-section .section-label{font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.bento-section h2{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:400;margin-bottom:32px;line-height:1.1}
.bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.bento-grid .bento-item{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:0 4px 20px rgba(0,0,0,0.1)}
.bento-grid .bento-item img{width:100%;height:100%;object-fit:cover;display:block}
.bento-grid .bento-item:nth-child(1){grid-column:span 8}
.bento-grid .bento-item:nth-child(2){grid-column:span 4}
.bento-grid .bento-item:nth-child(3){grid-column:span 4}
.bento-grid .bento-item:nth-child(4){grid-column:span 8}
.bento-grid .bento-item:nth-child(5){grid-column:span 6}
.bento-grid .bento-item:nth-child(6){grid-column:span 6}
.bento-grid .bento-item:nth-child(n+7){grid-column:span 6}
.bento-grid .bento-item{cursor:pointer;transition:transform 0.35s cubic-bezier(.25,.46,.45,.94),box-shadow 0.35s ease,border-color 0.35s ease}
.bento-grid .bento-item:hover{transform:scale(1.025) translateY(-4px);box-shadow:0 12px 40px rgba(var(--accent-rgb),0.25);border-color:rgba(var(--accent-rgb),0.4)}

/* Video Showcase */
.video-showcase{margin-bottom:80px}
.video-showcase .section-label{font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.video-showcase h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:400;margin-bottom:32px;line-height:1.1}
.video-showcase .video-context{color:var(--text-secondary);font-size:0.95rem;line-height:1.7;max-width:720px;margin-bottom:24px}
.video-container{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:0 8px 40px rgba(0,0,0,0.08);background:#000}

/* Footer */
.case-footer{margin-top:80px;padding-top:40px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.case-footer a{color:var(--text-secondary);text-decoration:none;font-size:0.95rem;transition:color 0.3s}
.case-footer a:hover{color:var(--accent)}
.case-footer .back-link{display:inline-flex;align-items:center;gap:8px}

/* Animations */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* Lightbox */
.lightbox-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.92);z-index:9999;justify-content:center;align-items:center;cursor:pointer;opacity:0;transition:opacity 0.3s ease}
.lightbox-overlay.active{display:flex;opacity:1}
.lightbox-overlay img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,0.5)}
.lightbox-close{position:fixed;top:24px;right:32px;z-index:10000;width:40px;height:40px;border:none;background:rgba(255,255,255,0.1);color:#fff;font-size:24px;cursor:pointer;border-radius:50%;display:none;align-items:center;justify-content:center;transition:background 0.2s}
.lightbox-close:hover{background:rgba(255,255,255,0.25)}
.lightbox-overlay.active~.lightbox-close{display:flex}

/* Breadcrumb Nav */
.breadcrumb-nav{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(0);z-index:1000;display:flex;gap:6px;padding:5px;background:rgba(255,255,255,0.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,0.08);border-radius:50px;box-shadow:0 2px 20px rgba(0,0,0,0.06);transition:transform 0.4s cubic-bezier(0.33,1,0.68,1),opacity 0.4s cubic-bezier(0.33,1,0.68,1);will-change:transform,opacity}
.breadcrumb-nav.hidden{transform:translateX(-50%) translateY(-80px);opacity:0;pointer-events:none}
.breadcrumb-pill{display:flex;align-items:center;gap:6px;padding:8px 18px;border-radius:50px;font-family:var(--sans,'Inter',system-ui,sans-serif);font-size:13px;font-weight:500;letter-spacing:0.02em;text-decoration:none;color:#333;background:transparent;border:none;cursor:pointer;transition:all 0.25s cubic-bezier(0.33,1,0.68,1);position:relative;overflow:hidden;white-space:nowrap}
.breadcrumb-pill::before{content:'';position:absolute;inset:0;border-radius:50px;background:rgba(var(--accent-rgb),0.08);opacity:0;transition:opacity 0.25s ease}
.breadcrumb-pill:hover::before{opacity:1}
.breadcrumb-pill:hover{color:var(--accent-dark,var(--accent))}
.breadcrumb-pill .pill-icon{width:16px;height:16px;transition:transform 0.25s cubic-bezier(0.33,1,0.68,1)}
.breadcrumb-pill:hover .pill-icon{transform:translateX(-2px)}
.breadcrumb-separator{display:flex;align-items:center;color:#999;font-size:12px;opacity:0.4;user-select:none}
.breadcrumb-pill.active{background:rgba(var(--accent-rgb),0.08);color:var(--accent-dark,var(--accent))}

/* Responsive */
@media(max-width:768px){
  .case-study{padding:100px 20px 60px}
  .story-section .story-text{grid-template-columns:1fr}
  .bento-grid{grid-template-columns:1fr}
  .bento-grid .bento-item{grid-column:span 1 !important}
  .values-grid{grid-template-columns:1fr 1fr}
  .breadcrumb-nav{top:12px}
  .breadcrumb-pill{padding:6px 14px;font-size:12px}
}
