/* ── Our Work Page ── */
.ow-hero{position:relative;min-height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box;padding:140px 80px 80px}
.ow-hero-bg{position:absolute;inset:0;z-index:0}
.ow-hero-bg img{width:100%;height:100%;object-fit:cover;display:block}
.ow-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,12,8,0.6) 0%,rgba(13,12,8,0.85) 100%);z-index:1}
.ow-hero-content{position:relative;z-index:2;max-width:700px;text-align:center;opacity:0;transition:opacity 0.8s ease,transform 0.8s ease;transform:translateY(20px)}
.ow-hero-content.revealed{opacity:1;transform:translateY(0)}
.ow-hero-label{font-family:"Lato 1",sans-serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:#76603c;display:block;margin-bottom:20px}
.ow-hero-title{font-family:"Lato 3",sans-serif;font-size:64px;font-size:calc(64px * var(--f,1));line-height:1.05;font-weight:700;color:#f5f0e6;margin:0 0 24px;letter-spacing:-2px}
.ow-hero-title em{font-style:italic;color:#f1dbb5;font-family:"Lato 2",sans-serif;font-weight:400}
.ow-hero-sub{font-family:"Lato 1",sans-serif;font-size:16px;font-size:calc(16px * var(--f,1));font-weight:300;color:rgba(245,240,230,0.6);line-height:1.8;margin:0 auto;max-width:560px}
.ow-hero-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:"Lato 1",sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(245,240,230,0.3);opacity:0;transition:opacity 0.8s ease 0.4s}
.ow-hero-scroll.revealed{opacity:1}
.ow-hero-scroll svg{width:18px;height:18px;animation:owScrollBounce 2s ease-in-out infinite}
@keyframes owScrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* ── Category Filter ── */
.ow-cats{position:sticky;top:67px;z-index:100;background:rgba(13,12,8,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(245,240,230,0.06);padding:0 80px}
.ow-cats-inner{max-width:1160px;margin:0 auto;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.ow-cats-inner::-webkit-scrollbar{display:none}
.ow-cat-btn{font-family:"Lato 3",sans-serif;font-size:13px;font-weight:700;color:rgba(245,240,230,0.4);background:none;border:none;padding:20px 20px;cursor:pointer;white-space:nowrap;transition:color 0.3s ease;position:relative;letter-spacing:0.3px;text-decoration:none}
.ow-cat-btn::after{content:'';position:absolute;bottom:0;left:20px;right:20px;height:2px;background:#f1dbb5;transform:scaleX(0);transition:transform 0.3s ease;transform-origin:center}
.ow-cat-btn:hover{color:rgba(245,240,230,0.7)}
.ow-cat-btn.active{color:#f1dbb5}
.ow-cat-btn.active::after{transform:scaleX(1)}

/* ── Category Sections ── */
.ow-cat-section{background:#0d0c08;padding:100px 80px;box-sizing:border-box;border-top:1px solid rgba(245,240,230,0.04);scroll-margin-top:134px}
.ow-cat-header{max-width:800px;margin:0 auto 56px;text-align:center;opacity:0;transition:opacity 0.7s ease,transform 0.7s ease;transform:translateY(16px)}
.ow-cat-header.revealed{opacity:1;transform:translateY(0)}
.ow-cat-num{font-family:"Lato 1",sans-serif;font-size:11px;letter-spacing:4px;color:#76603c;display:block;margin-bottom:16px}
.ow-cat-title{font-family:"Lato 3",sans-serif;font-size:36px;font-size:calc(36px * var(--f,1));font-weight:700;color:#f5f0e6;margin:0 0 20px;letter-spacing:-0.5px;line-height:1.1}
.ow-cat-title em{font-style:italic;color:#f1dbb5;font-family:"Lato 2",sans-serif;font-weight:400}
.ow-cat-desc{font-family:"Lato 1",sans-serif;font-size:15px;font-size:calc(15px * var(--f,1));font-weight:300;color:rgba(245,240,230,0.5);line-height:1.8;margin:0 0 24px;text-align:center}
.ow-cat-link{display:inline-flex;align-items:center;gap:6px;font-family:"Lato 3",sans-serif;font-size:12px;font-weight:700;color:#76603c;text-decoration:none;letter-spacing:0.5px;text-transform:uppercase;transition:color 0.3s ease}
.ow-cat-link:hover{color:#f1dbb5}
.ow-cat-link::after{content:"\2192";font-size:14px}

/* ── Gallery Grid ── */
.ow-cat-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:12px;opacity:0;transition:opacity 0.7s ease 0.2s,transform 0.7s ease 0.2s;transform:translateY(16px)}
.ow-cat-grid.revealed{opacity:1;transform:translateY(0)}
.ow-grid-item{overflow:hidden;border-radius:2px;cursor:pointer;position:relative}
.ow-grid-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease,filter 0.4s ease;filter:brightness(0.85)}
.ow-grid-item:hover img{transform:scale(1.06);filter:brightness(1)}
.ow-grid-tall{grid-row:span 2}
.ow-grid-wide{grid-column:span 2}

/* ── CTA ── */
.ow-cta{background:#111009;padding:120px 80px;box-sizing:border-box;text-align:center;border-top:1px solid rgba(245,240,230,0.04)}
.ow-cta-container{max-width:600px;margin:0 auto;opacity:0;transition:opacity 0.7s ease,transform 0.7s ease;transform:translateY(16px)}
.ow-cta-container.revealed{opacity:1;transform:translateY(0)}
.ow-cta-heading{font-family:"Lato 3",sans-serif;font-size:42px;font-size:calc(42px * var(--f,1));line-height:1.05;font-weight:700;color:#f5f0e6;margin:0 0 24px;letter-spacing:-1px}
.ow-cta-heading em{font-style:italic;color:#f1dbb5;font-family:"Lato 2",sans-serif;font-weight:400}
.ow-cta-sub{font-family:"Lato 1",sans-serif;font-size:15px;font-weight:300;color:rgba(245,240,230,0.5);line-height:1.7;margin:0 0 40px}
.ow-cta-btn{display:inline-flex;align-items:center;gap:12px;font-family:"Lato 3",sans-serif;font-size:14px;font-weight:700;color:#0d0c08;background:#f1dbb5;padding:16px 32px;border-radius:2px;text-decoration:none;transition:all 0.3s ease;letter-spacing:0.5px}
.ow-cta-btn:hover{background:#f5f0e6;transform:translateY(-2px)}
.ow-cta-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

@media (max-width:1199px){
  .ow-hero{padding:100px 24px 60px;min-height:60vh}
  .ow-hero-title{font-size:36px}
  .ow-hero-scroll{display:none}
  .ow-cats{padding:0 24px}
  .ow-cat-btn{padding:16px 14px;font-size:12px}
  .ow-cat-section{padding:60px 24px}
  .ow-cat-title{font-size:26px}
  .ow-cat-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
  .ow-grid-wide{grid-column:span 2}
  .ow-cta{padding:80px 24px}
  .ow-cta-heading{font-size:30px}
}
@media (max-width:599px){
  .ow-cat-grid{grid-template-columns:1fr;grid-auto-rows:220px}
  .ow-grid-tall{grid-row:span 1}
  .ow-grid-wide{grid-column:span 1}
}
