/* Portfolio case studies — magazine-aligned gallery template */
body.portfolio-case{
font-family:var(--fb,"Inter Tight",-apple-system,sans-serif);
background:var(--cream,#F4F1E9);
color:var(--ink,#0E0D0B);
line-height:1.72}
body.portfolio-case a{color:var(--bronze,#B8924B)}
body.portfolio-case .container{max-width:1100px;margin:0 auto;padding:0 clamp(1rem,3vw,1.5rem)}

/* Hero gallery */
.cs-hero,.case-hero{position:relative;width:100%;height:clamp(380px,62vh,620px);min-height:380px;background-size:cover;background-position:center;overflow:hidden}
.cs-hero-overlay,.case-hero-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.5rem,4vw,3rem);background:linear-gradient(180deg,rgba(14,13,11,.12) 0%,rgba(14,13,11,.78) 72%,rgba(14,13,11,.92) 100%);color:var(--cream,#F4F1E9)}
.cs-loc,.case-hero .crumb{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze,#B8924B);font-weight:600;margin-bottom:.6rem}
.cs-hero h1,.case-hero h1{font-family:var(--fd,"Cormorant Garamond",Georgia,serif);font-size:clamp(1.9rem,4.5vw,3.2rem);font-weight:400;line-height:1.08;letter-spacing:-.02em;color:var(--cream,#F4F1E9);max-width:780px;margin:0 0 .75rem}
.cs-cat,.case-hero .sub{font-size:1rem;color:rgba(244,241,233,.82);max-width:680px}
.cs-hero .cs-hero-overlay :is(h1,.cs-cat),
.case-hero .case-hero-inner :is(h1,.sub){
  color:var(--cream,#F4F1E9)!important;
  text-shadow:0 2px 18px rgba(0,0,0,.65)!important;
}
.case-hero .crumb a{color:rgba(244,241,233,.72);text-decoration:none}
.case-hero .crumb a:hover{color:var(--bronze,#B8924B)}

/* Thumbnails */
.cs-thumbs{display:flex;gap:6px;overflow-x:auto;padding:.65rem 0;background:var(--ink,#0E0D0B);scrollbar-width:thin}
.cs-thumb{min-width:118px;height:78px;background-size:cover;background-position:center;cursor:pointer;border:2px solid transparent;border-radius:2px;transition:border-color .2s,transform .2s;flex-shrink:0}
.cs-thumb:hover,.cs-thumb.active{border-color:var(--bronze,#B8924B);transform:scale(1.03)}

/* Breadcrumb + stats */
.cs-bc,.case-body nav{font-size:.82rem;color:var(--ink-70,rgba(14,13,11,.72));padding:1rem 0}
.cs-bc a{color:var(--ink-70,rgba(14,13,11,.72))}
.cs-bc a:hover{color:var(--ink,#0E0D0B)}
.cs-stats,.case-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.75rem 0;border-top:1px solid var(--ink-10,rgba(14,13,11,.1));border-bottom:1px solid var(--ink-10,rgba(14,13,11,.1));margin:0 0 2rem}
.cs-stat,.case-stat{text-align:center}
.cs-num,.case-stat .v{font-family:var(--fd,"Cormorant Garamond",Georgia,serif);font-size:clamp(1.2rem,2.4vw,1.55rem);color:var(--bronze-d,#95773A);font-weight:600;display:block}
.cs-lbl,.case-stat .l{font-size:.72rem;color:var(--ink-70,rgba(14,13,11,.72));text-transform:uppercase;letter-spacing:.1em;margin-top:.25rem;display:block}

/* Body layout */
.cs-body{display:grid;grid-template-columns:1fr min(320px,30%);gap:clamp(1.5rem,4vw,3rem);padding:0 0 3rem}
.cs-main h2,.case-body h2{font-family:var(--fd,"Cormorant Garamond",Georgia,serif);font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:400;color:var(--ink,#0E0D0B);margin:2rem 0 .85rem}
.cs-main h2:first-child,.case-body h2:first-child{margin-top:0}
.cs-main p,.case-body p,.case-body li{color:var(--ink-70,rgba(14,13,11,.72))}
.case-body ul{padding-left:1.2rem;margin-bottom:1rem}
.case-body li{margin-bottom:.4rem}

/* Sidebar card */
.cs-sidebar{position:sticky;top:5.5rem;align-self:start}
.cs-detail-card{background:var(--cream2,#EBE6DB);border:1px solid var(--ink-10,rgba(14,13,11,.1));border-radius:0;padding:1.75rem}
.cs-detail-item{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--ink-10,rgba(14,13,11,.1))}
.cs-detail-item:last-child{border-bottom:none}
.cs-detail-label{font-size:.85rem;color:var(--ink-50,rgba(14,13,11,.5))}
.cs-detail-value{color:var(--ink,#0E0D0B);font-weight:600;font-size:.95rem;text-align:right}
.cs-cta-btn{display:block;width:100%;padding:1rem;background:var(--bronze,#B8924B);color:var(--ink,#0E0D0B);text-align:center;border-radius:0;font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-top:1.25rem;transition:background .25s,color .25s;border:2px solid var(--bronze,#B8924B)}
.cs-cta-btn:hover{background:var(--bronze-d,#95773A);color:var(--cream,#F4F1E9)}

/* Quote */
.cs-quote,.quote{background:var(--cream2,#EBE6DB);border-left:3px solid var(--bronze,#B8924B);border-radius:0;padding:1.5rem 1.75rem;margin:1.75rem 0;font-style:italic;color:var(--ink-70,rgba(14,13,11,.72))}
.cs-quote-author,.quote cite{display:block;margin-top:.75rem;font-style:normal;font-size:.88rem;color:var(--bronze-d,#95773A);font-weight:600}

/* Related projects */
.cs-related{padding:3rem 0 4rem;border-top:1px solid var(--ink-10,rgba(14,13,11,.1))}
.cs-related h2{font-family:var(--fd,"Cormorant Garamond",Georgia,serif);font-size:clamp(1.6rem,3vw,2rem);font-weight:400;color:var(--ink,#0E0D0B);margin-bottom:2rem;text-align:center}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.rel-card{border:1px solid var(--ink-10,rgba(14,13,11,.1));overflow:hidden;background:var(--cream,#F4F1E9);transition:transform .25s,border-color .25s}
.rel-card:hover{transform:translateY(-4px);border-color:var(--bronze,#B8924B)}
.rel-img{height:200px;background-size:cover;background-position:center}
.rel-info{padding:1rem}
.rel-loc{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze-d,#95773A);display:block}
.rel-title{color:var(--ink,#0E0D0B);font-weight:600;font-size:.95rem;display:block;margin-top:.35rem}

/* CTA block in content */
body.portfolio-case .v3m-cta{background:var(--cream2,#EBE6DB)!important;border-top:2px solid var(--bronze,#B8924B)!important;padding:2rem 1.5rem!important;margin:2rem 0!important;text-align:center}
body.portfolio-case .v3m-cta-t{color:var(--ink,#0E0D0B)!important;font-family:var(--fd,"Cormorant Garamond",Georgia,serif)!important;font-size:1.35rem!important}
body.portfolio-case .v3m-cta-s{color:var(--ink-70,rgba(14,13,11,.72))!important}

/* Fullscreen gallery */
.fs-overlay{display:none;position:fixed;inset:0;background:rgba(14,13,11,.95);z-index:9999;justify-content:center;align-items:center}
.fs-overlay.active{display:flex}
.fs-overlay img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:2px}
.fs-close{position:fixed;top:1rem;right:1.5rem;color:var(--cream,#F4F1E9);font-size:2rem;cursor:pointer;z-index:10000}

/* Sticky mobile bar */
#stickyBar{position:fixed;bottom:0;left:0;right:0;background:var(--cream,#F4F1E9)!important;padding:.75rem 1rem;z-index:999;border-top:1px solid var(--ink-10,rgba(14,13,11,.1))!important}
#stickyBar a{display:block;background:var(--bronze,#B8924B)!important;color:var(--ink,#0E0D0B)!important;text-align:center;padding:.75rem;border-radius:0;font-weight:600;letter-spacing:.1em;text-transform:uppercase}

/* Portfolio bottom CTA */
section[aria-label="Start your project"]{background:var(--ink,#0E0D0B)!important;padding:3.25rem 1.25rem!important}
section[aria-label="Start your project"] h2{color:var(--cream,#F4F1E9)!important}
section[aria-label="Start your project"] p{color:rgba(244,241,233,.78)!important}
section[aria-label="Start your project"] a[style*="background:#B8924B"]{color:var(--ink,#0E0D0B)!important;border-radius:0!important}

@media(max-width:768px){
 .cs-hero,.case-hero{height:50vh;min-height:320px}
 .cs-body,.case-body{grid-template-columns:1fr;gap:1.5rem}
 .cs-sidebar{position:static}
 .cs-stats,.case-stats{grid-template-columns:repeat(2,1fr)}
 .rel-grid{grid-template-columns:1fr}
}
