/* NEON RIOT case-study additions */
.campaign-work{background:#080809;border-top:1px solid rgba(255,255,255,.06)}
.campaign-work .work-heading{margin-bottom:52px}
.campaign-card{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;background:#0f1010;border:1px solid rgba(255,255,255,.09);text-decoration:none;color:inherit;overflow:hidden;transition:transform .45s ease,border-color .45s ease,box-shadow .45s ease}
.campaign-card:hover{transform:translateY(-7px);border-color:rgba(216,255,79,.38);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.campaign-card-copy{padding:clamp(32px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between}
.campaign-kicker{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.campaign-card h3{font-size:clamp(44px,6.5vw,96px);line-height:.84;letter-spacing:-.07em;margin:28px 0 22px}
.campaign-card h3 em{display:block;color:var(--accent);font-style:normal}
.campaign-card p{max-width:540px;color:var(--muted);line-height:1.75}
.campaign-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.campaign-meta span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;border:1px solid rgba(255,255,255,.13);padding:10px 12px}
.campaign-card-cta{margin-top:42px;display:inline-flex;align-items:center;gap:14px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.campaign-card-visual{position:relative;min-height:560px;background:#050505;overflow:hidden}
.campaign-card-visual img{position:absolute;width:46%;box-shadow:0 24px 55px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.1)}
.campaign-card-visual img:nth-child(1){left:6%;top:8%;transform:rotate(-5deg)}
.campaign-card-visual img:nth-child(2){right:4%;top:18%;transform:rotate(5deg)}
.campaign-card-visual img:nth-child(3){left:27%;bottom:-18%;transform:rotate(1deg);z-index:2}
.campaign-card-visual::after{content:"CONCEPT PROJECT";position:absolute;right:-72px;bottom:96px;transform:rotate(-90deg);font-size:9px;letter-spacing:.28em;color:rgba(216,255,79,.75)}

/* Case study page */
.case-page{background:#070707;color:#f3f1e9;--case-green:#d8ff4f;--case-muted:#aaa9a2}
.case-page .site-header{background:rgba(7,7,7,.78);backdrop-filter:blur(18px)}
.case-main{overflow:hidden}
.case-hero{min-height:92vh;padding:170px 7vw 80px;display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center;position:relative}
.case-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 42%,rgba(216,255,79,.11),transparent 32%),linear-gradient(180deg,#070707,#0b0b0b);z-index:-1}
.case-eyebrow{display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--case-green)}
.case-eyebrow::before{content:"";width:32px;height:1px;background:var(--case-green)}
.case-hero h1{font-size:clamp(70px,11vw,168px);line-height:.76;letter-spacing:-.09em;margin:32px 0}
.case-hero h1 span{display:block;color:var(--case-green);font-style:italic}
.case-hero-copy>p{max-width:560px;color:var(--case-muted);font-size:17px;line-height:1.8}
.case-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.case-tags span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(255,255,255,.15);padding:10px 12px}
.case-hero-art{position:relative;height:min(67vw,760px)}
.case-hero-art img{position:absolute;width:46%;border:1px solid rgba(255,255,255,.13);box-shadow:0 35px 90px rgba(0,0,0,.6)}
.case-hero-art img:nth-child(1){left:2%;top:6%;transform:rotate(-6deg)}
.case-hero-art img:nth-child(2){right:1%;top:17%;transform:rotate(5deg)}
.case-hero-art img:nth-child(3){left:28%;bottom:0;transform:rotate(-1deg);z-index:3}
.case-section{padding:110px 7vw;border-top:1px solid rgba(255,255,255,.07)}
.case-section-head{display:grid;grid-template-columns:220px 1fr;gap:5vw;margin-bottom:64px}
.case-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--case-green)}
.case-section h2{font-size:clamp(44px,7vw,96px);line-height:.92;letter-spacing:-.065em}
.case-section h2 em{color:var(--case-green);font-style:normal}
.case-two-col{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.case-two-col h3{font-size:24px;margin-bottom:18px}
.case-two-col p,.case-copy{color:var(--case-muted);line-height:1.85;font-size:16px}
.identity-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}
.identity-board{background:#0d0e0d;border:1px solid rgba(255,255,255,.1);padding:clamp(30px,5vw,70px);min-height:520px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.identity-board::after{content:"NR";position:absolute;right:-5%;bottom:-18%;font-size:290px;font-weight:800;letter-spacing:-.12em;color:rgba(216,255,79,.055)}
.identity-logo{font-size:clamp(60px,10vw,150px);font-weight:800;line-height:.72;letter-spacing:-.09em;position:relative;z-index:1}
.identity-logo span{display:block;color:var(--case-green);font-style:italic}
.identity-tagline{font-size:clamp(26px,4vw,58px);font-weight:800;max-width:620px;line-height:.94;position:relative;z-index:1}
.palette{display:grid;grid-template-rows:repeat(4,1fr);gap:12px}
.swatch{min-height:110px;padding:18px;display:flex;align-items:flex-end;justify-content:space-between;border:1px solid rgba(255,255,255,.1);font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.swatch.black{background:#080808}.swatch.green{background:#d8ff4f;color:#080808}.swatch.cream{background:#f2f0e8;color:#080808}.swatch.grey{background:#8b8b8b;color:#080808}
.campaign-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.campaign-grid figure{margin:0;position:relative;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.08)}
.campaign-grid img{width:100%;display:block;transition:transform .5s ease}
.campaign-grid figure:hover img{transform:scale(1.025)}
.campaign-grid figcaption{position:absolute;left:12px;bottom:12px;background:rgba(6,6,6,.82);padding:8px 10px;font-size:8px;letter-spacing:.14em;text-transform:uppercase;opacity:0;transition:.3s}
.campaign-grid figure:hover figcaption{opacity:1}
.feature-spread{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.feature-spread figure{margin:0;background:#0c0c0c;border:1px solid rgba(255,255,255,.09);padding:18px}
.feature-spread img{width:100%;display:block}
.services-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.1);border-left:1px solid rgba(255,255,255,.1)}
.services-list article{padding:34px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);min-height:220px}
.services-list span{color:var(--case-green);font-size:10px;letter-spacing:.14em}.services-list h3{font-size:22px;margin:45px 0 14px}.services-list p{color:var(--case-muted);line-height:1.7;font-size:14px}
.case-outcome{display:grid;grid-template-columns:1fr .75fr;gap:8vw;align-items:end}
.case-disclaimer{font-size:12px;color:#85857f;line-height:1.7;border-left:2px solid var(--case-green);padding-left:18px;margin-top:36px;max-width:720px}
.case-cta{background:var(--case-green);color:#080808;padding:100px 7vw;display:flex;justify-content:space-between;gap:40px;align-items:end}
.case-cta h2{font-size:clamp(52px,8vw,115px);line-height:.83;letter-spacing:-.075em;max-width:900px}
.case-cta a{color:#080808;border:1px solid rgba(8,8,8,.45);padding:18px 24px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;white-space:nowrap}
.case-back{display:inline-flex;align-items:center;gap:10px;margin-top:34px;color:#ddd;text-transform:uppercase;letter-spacing:.12em;font-size:10px}

html[data-theme="light"] .campaign-work{background:#f3f1e9}.campaign-work .campaign-card{background:#0f1010;color:#f2f0e8}
@media(max-width:900px){.campaign-card,.case-hero,.identity-grid,.case-two-col,.case-outcome{grid-template-columns:1fr}.campaign-card-visual{min-height:640px}.case-hero{padding-top:145px}.case-hero-art{height:760px}.case-section-head{grid-template-columns:1fr;gap:18px}.campaign-grid{grid-template-columns:repeat(2,1fr)}.services-list{grid-template-columns:repeat(2,1fr)}.case-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.campaign-card-copy{padding:30px}.campaign-card h3{font-size:58px}.campaign-card-visual{min-height:500px}.case-hero{padding:125px 6vw 70px}.case-hero h1{font-size:23vw}.case-hero-art{height:550px}.case-section{padding:82px 6vw}.campaign-grid{gap:8px}.feature-spread{grid-template-columns:1fr}.services-list{grid-template-columns:1fr}.identity-board{min-height:420px}.case-cta{padding:80px 6vw}.case-cta h2{font-size:16vw}}

/* NOIR BEAN case study */
.campaign-work .campaign-card + .campaign-card{margin-top:32px}
.campaign-card-noir{--card-accent:#c8a66a;background:#15120f}
.campaign-card-noir:hover{border-color:rgba(200,166,106,.42)}
.campaign-card-noir .campaign-kicker,.campaign-card-noir h3 em{color:var(--card-accent)}
.campaign-card-noir .campaign-card-visual{background:#100d0b}
.campaign-card-noir .campaign-card-visual::after{color:rgba(200,166,106,.78)}
.noir-case{background:#100d0b;color:#f3e8d3;--case-green:#c8a66a;--case-muted:#b9aa99}
.noir-case .site-header{background:rgba(16,13,11,.8)}
.noir-case .case-hero::before{background:radial-gradient(circle at 72% 42%,rgba(200,166,106,.15),transparent 34%),linear-gradient(180deg,#100d0b,#17120e)}
.noir-case .case-hero h1,.noir-case .case-section h2,.noir-case .identity-tagline{font-family:"Playfair Display",serif}
.noir-case .case-hero h1 span,.noir-case .case-section h2 em{color:#c8a66a;font-style:italic}
.noir-case .identity-board{background:#17120e}
.noir-case .identity-board::after{content:"NB";color:rgba(200,166,106,.06)}
.noir-case .identity-logo{font-family:"Playfair Display",serif;letter-spacing:-.07em}
.noir-case .identity-logo span{color:#c8a66a;font-style:italic}
.swatch.noir-black{background:#161310}.swatch.noir-cream{background:#f3e8d3;color:#161310}.swatch.noir-caramel{background:#a86f3d;color:#f3e8d3}.swatch.noir-gold{background:#c8a66a;color:#161310}
.noir-case .case-cta{background:#c8a66a;color:#161310}.noir-case .case-cta a{color:#161310;border-color:rgba(22,19,16,.45)}
.noir-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.noir-grid{grid-template-columns:repeat(2,1fr)}}

/* BLACKLINE DETAILING case study */
.campaign-card-blackline{--card-accent:#2e7dff;background:#0b0d10}
.campaign-card-blackline:hover{border-color:rgba(46,125,255,.48)}
.campaign-card-blackline .campaign-kicker,.campaign-card-blackline h3 em{color:var(--card-accent)}
.campaign-card-blackline .campaign-card-visual{background:#06080b}
.campaign-card-blackline .campaign-card-visual::after{color:rgba(46,125,255,.82)}
.blackline-case{background:#070707;color:#f4f4f2;--case-green:#2e7dff;--case-muted:#aeb3b8}
.blackline-case .site-header{background:rgba(7,7,7,.82)}
.blackline-case .case-hero::before{background:radial-gradient(circle at 72% 42%,rgba(46,125,255,.16),transparent 34%),linear-gradient(180deg,#070707,#0c0f13)}
.blackline-case .case-hero h1,.blackline-case .case-section h2,.blackline-case .identity-tagline{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:-.045em}
.blackline-case .case-hero h1 span,.blackline-case .case-section h2 em{color:#2e7dff;font-style:normal}
.blackline-case .identity-board{background:#0c0f13}
.blackline-case .identity-board::after{content:"BL";color:rgba(46,125,255,.07)}
.blackline-case .identity-logo{font-family:"Oswald",sans-serif;letter-spacing:-.055em;text-transform:uppercase}
.blackline-case .identity-logo span{color:#2e7dff;font-style:normal}
.swatch.blackline-black{background:#070707}.swatch.blackline-graphite{background:#1c1c1c}.swatch.blackline-silver{background:#b8bdc3;color:#070707}.swatch.blackline-blue{background:#2e7dff;color:#f4f4f2}
.blackline-case .case-cta{background:#2e7dff;color:#070707}.blackline-case .case-cta a{color:#070707;border-color:rgba(7,7,7,.45)}
.blackline-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.blackline-grid{grid-template-columns:repeat(2,1fr)}}

/* FORMÉ minimalist fashion case study */
.campaign-card-forme{--card-accent:#9b8f82;background:#e8e3da;color:#171717}
.campaign-card-forme:hover{border-color:rgba(123,128,104,.58)}
.campaign-card-forme .campaign-kicker,.campaign-card-forme h3 em{color:#7b8068}
.campaign-card-forme p{color:#5f5a53}
.campaign-card-forme .campaign-meta span{border-color:rgba(23,23,23,.18);color:#4f4a44}
.campaign-card-forme .campaign-card-visual{background:#c8c1b7}
.campaign-card-forme .campaign-card-visual::after{color:rgba(23,23,23,.55)}
.forme-case{background:#f4f1ea;color:#171717;--case-green:#7b8068;--case-muted:#6f685f}
.forme-case .noise{opacity:.025}.forme-case .site-header{background:rgba(244,241,234,.84)}
.forme-case .desktop-nav a,.forme-case .case-back,.forme-case .mobile-menu a{color:#171717}
.forme-case .menu-button span{background:#171717}.forme-case .nav-cta{color:#171717;border-color:rgba(23,23,23,.22)}
.forme-case .brand .wordmark-light{display:none}.forme-case .brand .wordmark-dark{display:block}
.forme-case .case-hero::before{background:radial-gradient(circle at 72% 42%,rgba(123,128,104,.18),transparent 34%),linear-gradient(180deg,#f4f1ea,#ddd7cd)}
.forme-case .case-hero h1,.forme-case .case-section h2,.forme-case .identity-tagline{font-family:"Playfair Display",serif;font-weight:500}
.forme-case .case-hero h1 span,.forme-case .case-section h2 em{color:#7b8068;font-style:italic}
.forme-case .case-tags span,.forme-case .campaign-grid figure,.forme-case .services-list article{border-color:rgba(23,23,23,.15)}
.forme-case .case-hero-art img,.forme-case .feature-spread img{box-shadow:0 25px 60px rgba(42,36,30,.18)}
.forme-case .case-section{border-color:rgba(23,23,23,.11)}
.forme-case .identity-board{background:#ddd7cd;color:#171717}
.forme-case .identity-board::after{content:"F";color:rgba(23,23,23,.045)}
.forme-case .identity-logo{font-family:"Playfair Display",serif;letter-spacing:-.075em}
.forme-case .identity-logo span{color:#7b8068;font-style:italic}
.swatch.forme-white{background:#f4f1ea;color:#171717}.swatch.forme-black{background:#171717;color:#f4f1ea}.swatch.forme-stone{background:#c8c1b7;color:#171717}.swatch.forme-olive{background:#7b8068;color:#f4f1ea}
.forme-case .case-cta{background:#7b8068;color:#f4f1ea}.forme-case .case-cta a{color:#f4f1ea;border-color:rgba(244,241,234,.45)}
.forme-grid{grid-template-columns:repeat(3,1fr)}
.noir-seven-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.forme-grid,.noir-seven-grid{grid-template-columns:repeat(2,1fr)}}
