/* ======================================
RESET
====================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

/* ======================================
BASE / GLOBAL
====================================== */

body{
font-family:'Inter',sans-serif;
background:#0f0f0f;
color:#ffffff;
line-height:1.6;
animation:pageFade .6s ease;
}

a{
text-decoration:none;
color:inherit;
}

hr{
margin:30px 0;
opacity:.15;
border:none;
height:1px;
background:rgba(255,255,255,.15);
}

h1{
font-size:clamp(2.5rem,4vw,3.5rem);
letter-spacing:-1px;
}

h2{
font-size:1.8rem;
letter-spacing:-.5px;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}

section{
margin-bottom:60px;
}

section:not(:last-child){
border-bottom:1px solid rgba(255,255,255,.05);
padding-bottom:40px;
}

/* ======================================
NAVIGATION
====================================== */

nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:16px 5%;
position:sticky;
top:0;
background:#0f0f0f;
z-index:100;

width:100vw;
margin-left:calc(-50vw + 50%)
}

nav h1{
font-weight:800;
letter-spacing:-1px;
}

nav ul{
display:flex;
gap:40px;
list-style:none;
}

nav ul li a{
font-weight:400;
opacity:.7;
transition:opacity .3s ease;
}

nav ul li a:hover{
opacity:1;
}

/* ======================================
DROPDOWN
====================================== */

.dropdown{
position:relative;
}

.dropdown-menu{
position:absolute;
top:100%;
left:0;
background:#1a1a1a;
list-style:none;
padding:6px 0;
border-radius:8px;
min-width:180px;
opacity:0;
transform:translateY(10px);
transition:all .2s ease;
pointer-events:none;
}

.dropdown:hover .dropdown-menu{
opacity:1;
transform:translateY(0);
pointer-events:auto;
}

.dropdown-menu li{
padding:0;
}

.dropdown-menu li a{
display:block;
padding:8px 14px;
line-height:1.15;
opacity:.8;
}

.dropdown-menu li a:hover{
opacity:1;
}

/* ======================================
HOMEPAGE HERO
====================================== */

.hero-home{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center;
padding:70px 0 40px;
}

.hero-left h1{
font-size:3rem;
margin-bottom:12px;
}

.hero-left p{
max-width:420px;
opacity:.7;
margin-bottom:16px;
}

.hero-cta{
display:inline-block;
margin-top:10px;
font-weight:600;
border-bottom:1px solid white;
padding-bottom:4px;
}

.hero-right{
display:flex;
justify-content:center;
align-items:flex-start;
}

@media(max-width:900px){

.hero-home{
grid-template-columns:1fr;
gap:40px;
}

}

/* ======================================
FEATURED CAMPAIGN
====================================== */

.featured-home-card{
position:relative;
display:block;
overflow:hidden;
border-radius:16px;
max-width:520px;
}

.featured-home-card img{
width:100%;
display:block;
border-radius:16px;
transition:transform .4s ease;
}

.featured-home-card:hover img{
transform:scale(1.05);
}

.featured-overlay{
position:absolute;
bottom:20px;
left:20px;
background:rgba(0,0,0,.65);
padding:14px 16px;
border-radius:8px;
}

.featured-overlay span{
font-size:.75rem;
opacity:.7;
display:block;
margin-bottom:4px;
}

.featured-overlay h3{
margin:0;
}

/* ======================================
CAMPAIGN CATEGORIES
====================================== */

.campaign-categories{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:40px;
margin:60px 0;
}

.category h3{
margin-bottom:10px;
}

.category p{
opacity:.6;
font-size:.9rem;
}

/* ======================================
CAMPAIGN GRID
====================================== */

.campaign-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
}

@media(max-width:1000px){

.campaign-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:600px){

.campaign-grid{
grid-template-columns:1fr;
}

}

/* ======================================
CAMPAIGN CARD
====================================== */

.campaign-card{
position:relative;
overflow:hidden;
border-radius:16px;

transition:
opacity .25s ease,
transform .25s ease,
box-shadow .3s ease;

opacity:0;
transform:translateY(30px);
animation:cardReveal .6s ease forwards;
}

.campaign-card img{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:transform .6s ease;
}

.campaign-card.featured img{
object-fit:contain;
background:#192A48;
}

.campaign-card:hover{
transform:translateY(-8px);
box-shadow:
0 30px 70px rgba(0,0,0,.45),
0 0 0 1px rgba(255,255,255,.05);
}

.campaign-card:hover img{
transform:scale(1.1);
}

.campaign-overlay{
position:absolute;
bottom:0;
left:0;
width:100%;
padding:20px;
background:linear-gradient(transparent,rgba(0,0,0,.7));
opacity:0;
transition:opacity .3s ease;
}

.campaign-card:hover .campaign-overlay{
opacity:1;
}

/* ======================================
FILTERS
====================================== */

.campaign-filters{
display:flex;
gap:20px;
margin-bottom:50px;
}

.campaign-filters button{
background:none;
border:none;
color:white;
opacity:.5;
cursor:pointer;
font-size:.9rem;
}

.campaign-filters button:hover{
opacity:1;
}

.campaign-filters button.active{
opacity:1;
}

/* ======================================
MOCK CAMPAIGNS PAGE
====================================== */

.work-page{
padding:40px 0;
}

.work-page h2{
font-size:2.5rem;
margin-bottom:20px;
}

.portfolio-count{
margin-bottom:30px;
font-size:.8rem;
letter-spacing:1px;
opacity:.4;
text-transform:uppercase;
}

.portfolio-progress{
margin:15px 0 .1px;
font-size:.8rem;
letter-spacing:1px;
text-transform:uppercase;
opacity:.5;
}

.campaign-intro-card{
background:#141414;
border-radius:16px;
padding:40px;
display:flex;
flex-direction:column;
justify-content:center;
border:1px solid rgba(255,255,255,.05);
}

/* ======================================
CASE STUDY LAYOUT
====================================== */

.case-study{
padding:40px 0;
}

.campaign-title{
margin-bottom:6px;
}

.campaign-meta{
opacity:.6;
margin-bottom:40px;
}

.campaign-layout{
display:grid;
grid-template-columns:420px 1fr;
gap:60px;
align-items:start;
}

@media(max-width:900px){

.campaign-layout{
grid-template-columns:1fr;
}

}

/* ======================================
HERO EXECUTION
====================================== */

.hero-execution{
display:flex;
align-items:flex-start;
}

.hero-execution img{
width:100%;
border-radius:12px;
display:block;
box-shadow:0 20px 60px rgba(0,0,0,.6);
}

/* ======================================
CAMPAIGN DETAILS
====================================== */

.campaign-details{
display:flex;
flex-direction:column;
gap:18px;
}

.info-card{
background:#151515;
padding:20px;
border-radius:10px;
border:1px solid rgba(255,255,255,.05);
}

.info-card h4{
font-size:.75rem;
letter-spacing:1px;
text-transform:uppercase;
opacity:.6;
margin-bottom:8px;
}

/* ======================================
EXECUTION SYSTEM
====================================== */

.execution-section{
display:flex;
flex-direction:column;
gap:70px;
margin-top:40px;
}

.execution-row{
display:flex;
flex-direction:column;
gap:18px;
}

.execution-number{
font-size:.75rem;
letter-spacing:1px;
text-transform:uppercase;
opacity:.5;
}

.execution-pair{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
}

@media(max-width:700px){

.execution-pair{
grid-template-columns:1fr;
}

}

.execution{
opacity:0;
transform:translateY(20px);
animation:executionReveal .6s ease forwards;
}

.execution img{
width:100%;
aspect-ratio:4/5;
object-fit:contain;
display:block;
border-radius:10px;
cursor:pointer;
transition:transform .25s ease;
}

.execution img:hover{
transform:scale(1.03);
}

/* ======================================
CASE NAV
====================================== */

.campaign-nav{
margin-top:100px;
display:flex;
justify-content:space-between;
font-size:.9rem;
}

.prev-campaign{
opacity:.6;
}

.prev-campaign:hover{
opacity:1;
}

.next-campaign{
font-weight:600;
opacity:.7;
transition:opacity .2s;
}

.next-campaign:hover{
opacity:1;
}

/* ======================================
LIGHTBOX
====================================== */

#lightbox{
position:fixed;
inset:0;
background:rgba(0,0,0,0.9);
display:flex;
align-items:center;
justify-content:center;
opacity:0;
visibility:hidden;
transition:opacity .3s ease;
z-index:1000;
}

#lightbox.active{
opacity:1;
visibility:visible;
}

#lightbox img{
max-width:85%;
max-height:85%;
border-radius:12px;
transform:scale(.9);
opacity:0;
transition:transform .3s ease,opacity .3s ease;
box-shadow:0 30px 80px rgba(0,0,0,.7);
}

#lightbox.active img{
transform:scale(1);
opacity:1;
}

/* ======================================
ANIMATIONS
====================================== */

@keyframes pageFade{
from{
opacity:0;
transform:translateY(10px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes executionReveal{
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes cardReveal{
to{
opacity:1;
transform:translateY(0);
}
}

body{
overflow-x:hidden;
}

img{
max-width:100%;
}

.eyebrow{
font-size:.78rem;
letter-spacing:1.8px;
text-transform:uppercase;
opacity:.58;
margin-bottom:12px;
}

.section-intro,
.about-copy{
max-width:700px;
opacity:.78;
}

.section-intro{
margin:10px 0 28px;
}

nav a:focus-visible,
.hero-cta:focus-visible,
.campaign-card:focus-visible,
.featured-home-card:focus-visible,
.campaign-filters button:focus-visible,
.execution img:focus-visible,
.execution-grid img:focus-visible{
outline:2px solid #ffffff;
outline-offset:4px;
opacity:1;
}

.dropdown:focus-within .dropdown-menu,
.dropdown.open .dropdown-menu{
opacity:1;
transform:translateY(0);
pointer-events:auto;
}

.dropdown-toggle{
display:inline-flex;
align-items:center;
gap:8px;
}

.dropdown-toggle::after{
content:"▾";
font-size:.7rem;
opacity:.7;
}

.hero-cta{
transition:opacity .2s ease,border-color .2s ease;
}

.hero-cta:hover{
opacity:1;
}

.campaign-card:focus-visible,
.featured-home-card:focus-visible{
transform:translateY(-6px);
box-shadow:0 24px 60px rgba(0,0,0,.4);
}

.campaign-card:focus-visible .campaign-overlay,
.campaign-card:hover .campaign-overlay{
opacity:1;
}

.execution-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
margin-top:40px;
}

.execution-grid img{
width:100%;
aspect-ratio:4/5;
object-fit:contain;
display:block;
border-radius:10px;
cursor:pointer;
transition:transform .25s ease;
}

.execution-grid img:hover{
transform:scale(1.03);
}

.contact{
padding:24px 0 10px;
}

.contact p,
footer{
opacity:.72;
}

.contact a{
display:inline-block;
margin-top:8px;
font-weight:600;
}

.personal-projects-page{
background:
radial-gradient(circle at 14% 14%, rgba(255, 108, 61, .16), transparent 24%),
radial-gradient(circle at 84% 12%, rgba(46, 92, 158, .16), transparent 22%),
linear-gradient(180deg, #0f1013 0%, #0a0b0f 58%, #07080b 100%);
}

.personal-shell{
padding:56px 0 20px;
}

.personal-page-head{
margin-bottom:22px;
}

.personal-page-head h2{
max-width:15ch;
}

.personal-page-toolbar{
display:grid;
grid-template-columns:auto auto;
gap:16px;
align-items:center;
margin-bottom:28px;
justify-content:start;
}

.personal-status-pill{
display:inline-flex;
align-items:center;
padding:14px 18px;
border-radius:999px;
background:rgba(255,255,255,.03);
border:1px solid rgba(255,255,255,.07);
font-size:.76rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
opacity:.78;
}

.personal-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
gap:20px;
align-items:stretch;
}

.personal-intro-card,
.personal-track-card{
background:rgba(255,255,255,.03);
border:1px solid rgba(255,255,255,.07);
border-radius:24px;
box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.personal-intro-card{
background:
linear-gradient(135deg, rgba(255, 108, 61, .12), transparent 56%),
rgba(255,255,255,.03);
}

.personal-intro-card h3{
max-width:11ch;
}

.personal-track-card{
padding:28px;
min-height:260px;
position:relative;
overflow:hidden;
}

.personal-track-card::before{
content:"";
position:relative;
z-index:0;
}

.personal-track-card::after{
content:"";
position:absolute;
inset:auto -40px -40px auto;
width:140px;
height:140px;
border-radius:999px;
opacity:.18;
pointer-events:none;
}

.concept-track::after{background:#ff6c3d;}
.design-track::after{background:#356fcb;}
.writing-track::after{background:#f0c247;}
.personal-process-card::after{background:#ffffff;}

.personal-track-card > *{
position:relative;
z-index:1;
}

.personal-track-card h3{
font-size:1.75rem;
line-height:.95;
letter-spacing:-.04em;
margin:6px 0 10px;
max-width:10ch;
}

.personal-track-card p:last-child{
max-width:28ch;
opacity:.8;
}

.personal-process-card{
background:
linear-gradient(135deg, rgba(46, 92, 158, .12), transparent 56%),
rgba(255,255,255,.03);
}

@media(max-width:900px){
.campaign-categories{
grid-template-columns:repeat(2,1fr);
}

.campaign-overlay{
opacity:1;
background:linear-gradient(transparent,rgba(0,0,0,.82));
}

.personal-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}

@media(max-width:720px){
nav{
flex-direction:column;
align-items:flex-start;
gap:16px;
padding:16px 5% 18px;
}

nav ul{
flex-wrap:wrap;
gap:18px;
}

.campaign-filters{
flex-wrap:wrap;
row-gap:12px;
}

.campaign-nav{
gap:18px;
flex-direction:column;
}

.personal-page-toolbar{
grid-template-columns:1fr;
justify-content:stretch;
}
}

@media(max-width:600px){
.campaign-categories,
.execution-grid{
grid-template-columns:1fr;
}

.personal-grid{
grid-template-columns:1fr;
}

.personal-track-card{
padding:22px;
min-height:220px;
}
}


.home-page{
background:
radial-gradient(circle at top left, rgba(182, 154, 110, .18), transparent 32%),
radial-gradient(circle at 85% 12%, rgba(255, 255, 255, .08), transparent 18%),
linear-gradient(180deg, #111111 0%, #0f0f0f 52%, #0b0b0b 100%);
}

.home-page .container{
max-width:1240px;
}

.home-page nav{
background:rgba(15,15,15,.82);
backdrop-filter:blur(16px);
border-bottom:1px solid rgba(255,255,255,.05);
}

.home-page h1,
.home-page h2,
.home-page .campaign-overlay h3,
.home-page .featured-overlay h3{
font-family:'Cormorant Garamond', serif;
font-weight:600;
letter-spacing:-.03em;
}

.editorial-hero{
grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
gap:56px;
padding:92px 0 72px;
align-items:end;
}

.editorial-copy h1{
font-size:clamp(4rem, 8vw, 6.6rem);
line-height:.92;
max-width:8ch;
margin-bottom:22px;
text-wrap:balance;
}

.hero-lede{
font-size:1.05rem;
max-width:560px;
opacity:.82;
}

.hero-actions{
display:flex;
flex-wrap:wrap;
gap:22px;
margin:30px 0 34px;
align-items:center;
}

.home-page .hero-cta{
border:1px solid rgba(255,255,255,.18);
border-bottom:1px solid rgba(255,255,255,.18);
padding:14px 18px;
border-radius:999px;
background:rgba(255,255,255,.04);
}

.home-page .hero-cta:hover{
background:rgba(255,255,255,.08);
}

.hero-secondary-link{
font-size:.92rem;
letter-spacing:.08em;
text-transform:uppercase;
opacity:.72;
}

.hero-secondary-link:hover{
opacity:1;
}

.hero-notes{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
padding-top:24px;
border-top:1px solid rgba(255,255,255,.08);
}

.hero-note{
padding-right:8px;
}

.hero-note span,
.card-kicker,
.hero-caption-label{
display:block;
font-size:.72rem;
letter-spacing:.14em;
text-transform:uppercase;
opacity:.56;
margin-bottom:10px;
}

.hero-note p{
font-size:.95rem;
opacity:.82;
}

.editorial-spotlight{
position:relative;
}

.premium-featured-card{
max-width:none;
border-radius:28px;
box-shadow:0 35px 100px rgba(0,0,0,.4);
}

.premium-featured-card::before{
content:"";
position:absolute;
inset:0;
border:1px solid rgba(255,255,255,.08);
border-radius:28px;
pointer-events:none;
}

.premium-featured-card img{
aspect-ratio:4/5;
object-fit:cover;
}

.premium-featured-overlay{
left:24px;
bottom:24px;
right:24px;
background:linear-gradient(180deg, rgba(11,11,11,.35), rgba(11,11,11,.82));
backdrop-filter:blur(10px);
padding:18px 18px 16px;
border:1px solid rgba(255,255,255,.08);
}

.premium-featured-overlay p{
margin-top:6px;
opacity:.8;
}

.hero-caption-card{
position:absolute;
left:-40px;
bottom:28px;
width:min(280px, 46vw);
padding:18px 18px 16px;
background:#e9dfd0;
color:#171717;
border-radius:20px;
box-shadow:0 20px 60px rgba(0,0,0,.28);
}

.hero-caption-text{
line-height:1.5;
}

.section-heading-row{
display:grid;
grid-template-columns:220px 1fr;
gap:28px;
align-items:start;
}

.home-page .section-heading-row h2{
font-size:2.7rem;
line-height:.95;
}

.editorial-categories{
grid-template-columns:repeat(4,1fr);
gap:28px;
}

.editorial-categories .section-heading-row{
grid-column:1 / -1;
margin-bottom:8px;
}

.editorial-categories .category,
.editorial-about,
.editorial-footer,
.editorial-card{
background:rgba(255,255,255,.025);
border:1px solid rgba(255,255,255,.06);
box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.editorial-categories .category{
padding:24px;
border-radius:18px;
min-height:170px;
}

.editorial-categories .category h3{
font-size:1.15rem;
margin-bottom:20px;
}

.editorial-grid{
grid-template-columns:1.25fr .75fr;
grid-template-rows:auto auto;
gap:26px;
}

.editorial-card{
border-radius:24px;
min-height:320px;
}

.editorial-card-large{
grid-row:span 2;
min-height:0;
}

.editorial-card img{
height:100%;
}

.editorial-overlay{
opacity:1;
padding:24px;
background:linear-gradient(180deg, transparent 18%, rgba(8,8,8,.84) 100%);
}

.editorial-overlay h3{
font-size:2rem;
margin-bottom:8px;
}

.editorial-card:not(.editorial-card-large) .editorial-overlay h3{
font-size:1.8rem;
}

.editorial-overlay p:last-child{
max-width:28ch;
opacity:.82;
}

.editorial-about{
padding:34px 28px;
border-radius:22px;
}

.about-layout{
grid-template-columns:220px minmax(0, 1fr);
}

.editorial-footer{
padding:34px 28px 42px;
border-radius:22px;
border:1px solid rgba(255,255,255,.06);
}

.editorial-footer p{
max-width:560px;
margin:10px 0 14px;
}

.editorial-footer a{
font-size:1.1rem;
font-weight:600;
}

@media(max-width:1100px){
.hero-caption-card{
left:20px;
bottom:20px;
}

.hero-notes,
.editorial-categories{
grid-template-columns:1fr 1fr;
}

.section-heading-row,
.about-layout{
grid-template-columns:1fr;
}

.editorial-grid{
grid-template-columns:1fr 1fr;
}

.editorial-card-large{
grid-row:auto;
grid-column:1 / -1;
aspect-ratio:16/11;
}
}

@media(max-width:900px){
.editorial-hero{
grid-template-columns:1fr;
gap:34px;
padding-top:72px;
}

.editorial-copy h1{
max-width:10ch;
}

.hero-caption-card{
position:static;
width:100%;
margin-top:18px;
}
}

@media(max-width:640px){
.hero-notes,
.editorial-categories,
.editorial-grid{
grid-template-columns:1fr;
}

.home-page .section-heading-row h2{
font-size:2.2rem;
}

.editorial-copy h1{
font-size:clamp(3.2rem, 16vw, 4.5rem);
}
}


.agency-home{
background:
radial-gradient(circle at top left, rgba(216, 59, 31, .18), transparent 28%),
radial-gradient(circle at 88% 10%, rgba(41, 92, 255, .16), transparent 20%),
linear-gradient(180deg, #111111 0%, #0d0d0d 55%, #090909 100%);
}

.agency-home .container{
max-width:1240px;
}

.agency-home nav{
background:rgba(10,10,10,.84);
backdrop-filter:blur(14px);
border-bottom:1px solid rgba(255,255,255,.06);
}

.agency-home h1,
.agency-home h2,
.agency-home h3{
font-family:'Inter',sans-serif;
letter-spacing:-.04em;
}

.agency-home .eyebrow,
.agency-home .agency-label{
font-size:.76rem;
font-weight:700;
letter-spacing:.14em;
text-transform:uppercase;
opacity:.62;
}

.agency-hero{
display:grid;
grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
gap:36px;
align-items:stretch;
padding:72px 0 34px;
}

.agency-hero-copy,
.agency-hero-panel,
.agency-strip-item,
.agency-category-card,
.agency-about,
.agency-footer{
background:rgba(255,255,255,.03);
border:1px solid rgba(255,255,255,.07);
box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.agency-hero-copy{
padding:40px;
border-radius:28px;
display:flex;
flex-direction:column;
justify-content:space-between;
min-height:100%;
}

.agency-title{
font-size:clamp(3.3rem, 7vw, 6.2rem);
line-height:.9;
max-width:10ch;
margin:10px 0 20px;
}

.agency-lede{
max-width:58ch;
font-size:1.04rem;
opacity:.84;
}

.agency-actions{
display:flex;
flex-wrap:wrap;
gap:16px;
margin-top:28px;
align-items:center;
}

.agency-primary-cta{
border:1px solid #ffffff;
border-bottom:1px solid #ffffff;
padding:14px 18px;
border-radius:999px;
background:#ffffff;
color:#111111;
font-weight:800;
}

.agency-primary-cta:hover{
background:#f0f0f0;
}

.agency-secondary-link{
font-size:.92rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
opacity:.78;
}

.agency-feature-card{
max-width:none;
height:100%;
border-radius:28px;
display:grid;
grid-template-rows:minmax(0,1fr) auto;
background:#131313;
}

.agency-feature-card img{
width:100%;
height:100%;
min-height:420px;
object-fit:cover;
}

.agency-feature-meta{
padding:24px;
display:grid;
gap:8px;
background:#131313;
}

.agency-feature-meta h2{
font-size:2rem;
}

.agency-feature-meta p:last-child{
opacity:.8;
max-width:32ch;
}

.agency-strip{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin:0 0 60px;
}

.agency-strip-item{
padding:22px 22px 20px;
border-radius:20px;
}

.agency-strip-item span{
display:block;
font-size:2.4rem;
font-weight:800;
letter-spacing:-.05em;
margin-bottom:8px;
}

.agency-strip-item p{
opacity:.76;
text-transform:uppercase;
font-size:.82rem;
letter-spacing:.08em;
}

.agency-sections{
padding:0;
border-bottom:none;
margin-bottom:60px;
}

.agency-section-head{
display:grid;
grid-template-columns:220px minmax(0,1fr);
gap:24px;
align-items:start;
margin-bottom:26px;
}

.agency-section-head h2{
font-size:clamp(2rem, 4vw, 3.3rem);
line-height:.94;
max-width:15ch;
}

.agency-category-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:18px;
}

.agency-category-card{
padding:26px;
border-radius:22px;
min-height:200px;
position:relative;
overflow:hidden;
}

.agency-category-card::before{
content:"";
position:absolute;
inset:auto -40px -40px auto;
width:120px;
height:120px;
border-radius:999px;
opacity:.18;
}

.agency-category-card h3{
font-size:1.35rem;
margin-bottom:14px;
}

.agency-category-card p{
max-width:24ch;
opacity:.8;
}

.accent-red::before{background:#ff5a36;}
.accent-sand::before{background:#e8c07d;}
.accent-blue::before{background:#3f68ff;}
.accent-white::before{background:#ffffff;}

.agency-work-grid{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:18px;
}

.agency-work-card{
min-height:320px;
border-radius:24px;
background:#141414;
}

.agency-work-card-large{
grid-row:span 2;
min-height:658px;
}

.agency-work-card img{
height:100%;
}

.agency-work-overlay{
opacity:1;
padding:24px;
background:linear-gradient(180deg, transparent 20%, rgba(5,5,5,.9) 100%);
}

.agency-work-overlay h3{
font-size:2rem;
margin:6px 0 8px;
}

.agency-work-card:not(.agency-work-card-large) .agency-work-overlay h3{
font-size:1.6rem;
}

.agency-work-overlay p:last-child{
max-width:30ch;
opacity:.82;
}

.agency-about{
padding:30px;
border-radius:24px;
}

.agency-about-head{
margin-bottom:14px;
}

.agency-about-copy{
max-width:760px;
font-size:1.02rem;
opacity:.82;
}

.agency-footer{
padding:30px;
border-radius:24px;
margin-bottom:48px;
}

.agency-footer h2{
font-size:clamp(1.9rem, 3.5vw, 3rem);
line-height:.96;
max-width:16ch;
margin:8px 0 14px;
}

.agency-footer a{
display:inline-block;
font-size:1.08rem;
font-weight:700;
}

.agency-case-progress{
display:inline-flex;
align-items:center;
margin:28px 0 12px;
padding:12px 16px;
border-radius:999px;
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.07);
font-weight:700;
opacity:.78;
}

.agency-case-study{
padding:20px 0 40px;
}

.agency-campaign-hero{
margin-bottom:0;
padding-bottom:0;
border-bottom:none;
}

.agency-case-head{
margin-bottom:12px;
}

.agency-case-head h1{
font-size:clamp(2.8rem, 6vw, 5rem);
line-height:.92;
max-width:10ch;
}

.agency-case-meta{
max-width:56ch;
font-size:1.05rem;
opacity:.8;
margin-bottom:28px;
}

.agency-case-layout{
grid-template-columns:minmax(320px, 420px) minmax(0, 1fr);
gap:26px;
}

.agency-case-hero-art,
.agency-case-details,
.agency-execution-intro,
.agency-execution-row,
.agency-campaign-nav{
background:rgba(255,255,255,.03);
border:1px solid rgba(255,255,255,.07);
box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.agency-case-hero-art{
padding:18px;
border-radius:26px;
}

.agency-case-hero-art img{
border-radius:18px;
}

.agency-case-details{
padding:18px;
border-radius:26px;
gap:14px;
}

.agency-case-details .info-card{
background:#121212;
border:1px solid rgba(255,255,255,.06);
border-radius:18px;
padding:18px;
}

.agency-case-details .info-card h4{
font-weight:700;
opacity:.62;
}

.agency-execution-intro{
margin:30px 0 24px;
padding:24px 26px;
border-radius:24px;
}

.agency-execution-intro h2{
font-size:clamp(1.8rem, 4vw, 3rem);
line-height:.96;
max-width:12ch;
margin-bottom:10px;
}

.agency-execution-intro p:last-child{
max-width:58ch;
opacity:.8;
}

.agency-execution-section{
gap:24px;
margin-top:0;
}

.agency-execution-row{
padding:18px;
border-radius:24px;
gap:16px;
}

.agency-execution-row .execution-pair{
gap:18px;
}

.agency-execution-row .execution img{
background:#101010;
border:1px solid rgba(255,255,255,.06);
border-radius:18px;
padding:8px;
}

.agency-campaign-nav{
margin-top:32px;
padding:20px 24px;
border-radius:22px;
align-items:center;
}

.agency-campaign-nav a{
font-weight:700;
}

.agency-work-page-shell{
padding:56px 0 20px;
}

.mock-page-head{
margin-bottom:22px;
}

.mock-page-head h2{
max-width:14ch;
}

.mock-page-toolbar{
display:grid;
grid-template-columns:auto 1fr;
gap:20px;
align-items:center;
margin-bottom:28px;
}

.agency-portfolio-count{
margin:0;
padding:14px 18px;
border-radius:999px;
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.07);
font-weight:700;
opacity:.78;
}

.agency-filters{
gap:12px;
margin-bottom:0;
flex-wrap:wrap;
}

.agency-filters button{
padding:12px 16px;
border-radius:999px;
border:1px solid rgba(255,255,255,.08);
background:rgba(255,255,255,.03);
font-weight:700;
letter-spacing:.04em;
text-transform:uppercase;
font-size:.76rem;
opacity:.72;
transition:background .2s ease,border-color .2s ease,opacity .2s ease,color .2s ease;
}

.agency-filters button:hover,
.agency-filters button.active{
opacity:1;
background:#ffffff;
color:#111111;
border-color:#ffffff;
}

.agency-campaign-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
gap:20px;
align-items:stretch;
}

.agency-intro-card{
background:rgba(255,255,255,.03);
border:1px solid rgba(255,255,255,.07);
border-radius:24px;
padding:28px;
gap:16px;
}

.agency-intro-card h3{
font-size:2rem;
line-height:.96;
letter-spacing:-.04em;
max-width:10ch;
}

.agency-campaign-grid.is-filtered .campaign-intro-card{
display:none;
}

.agency-intro-card p:last-child{
max-width:32ch;
opacity:.78;
}

.agency-work-page .campaign-card{
background:#141414;
border:1px solid rgba(255,255,255,.07);
border-radius:24px;
min-height:320px;
opacity:1;
transform:none;
animation:none;
}

.agency-work-page .campaign-card.featured{
grid-column:span 2;
min-height:420px;
}

.agency-campaign-grid.is-filtered .campaign-card.featured{
grid-column:auto;
min-height:320px;
}

.agency-work-page .campaign-card img{
height:100%;
}

.agency-work-page .campaign-card.featured img{
object-fit:cover;
background:none;
}

.agency-work-page .agency-work-overlay{
opacity:0;
padding:24px;
background:linear-gradient(180deg, transparent 20%, rgba(5,5,5,.9) 100%);
transition:opacity .25s ease;
}

.agency-work-page .agency-work-overlay h3{
font-size:1.9rem;
margin:6px 0 8px;
text-shadow:0 2px 16px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.95);
}

.agency-work-page .campaign-card:not(.featured) .agency-work-overlay h3{
font-size:1.5rem;
}

.agency-work-page .agency-work-overlay p,
.agency-work-page .agency-work-overlay .view-project{
text-shadow:0 2px 16px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.95);
}

.agency-work-page .agency-work-overlay p:last-of-type{
max-width:28ch;
opacity:.82;
}

.agency-work-page .campaign-card:hover .agency-work-overlay,
.agency-work-page .campaign-card:focus-visible .agency-work-overlay{
opacity:1;
}

.view-project{
display:inline-block;
margin-top:12px;
font-size:.8rem;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
}

@media(max-width:1080px){
.agency-hero,
.agency-section-head{
grid-template-columns:1fr;
}

.agency-category-grid,
.agency-strip{
grid-template-columns:repeat(2,1fr);
}

.agency-work-grid{
grid-template-columns:1fr 1fr;
}

.mock-page-toolbar{
grid-template-columns:1fr;
align-items:start;
}

.agency-campaign-grid{
grid-template-columns:1fr 1fr;
}

.agency-work-card-large{
grid-column:1 / -1;
grid-row:auto;
min-height:460px;
}

.agency-work-page .campaign-card.featured{
grid-column:1 / -1;
}
}

@media(max-width:760px){
.agency-hero{
padding-top:56px;
}

.agency-title{
font-size:clamp(2.8rem, 14vw, 4.8rem);
}

.agency-strip,
.agency-category-grid,
.agency-work-grid,
.agency-campaign-grid{
grid-template-columns:1fr;
}

.agency-hero-copy,
.agency-about,
.agency-footer,
.agency-category-card,
.agency-strip-item{
padding:24px;
}

.agency-feature-card img{
min-height:300px;
}

.agency-work-page .campaign-card.featured{
min-height:340px;
}

.agency-work-page .agency-work-overlay{
opacity:1;
}
}


.agency-name{
font-size:clamp(1.4rem, 2.6vw, 2rem);
font-weight:900;
letter-spacing:-.05em;
text-transform:uppercase;
margin-bottom:14px;
}

.agency-actions{
align-items:baseline;
}

.agency-primary-cta{
display:inline-flex;
align-items:center;
background:#ff5a36;
border-color:#ff5a36;
color:#ffffff;
box-shadow:0 14px 34px rgba(255, 90, 54, .28);
line-height:1;
}

.agency-primary-cta:hover{
background:#ff734f;
border-color:#ff734f;
}

.agency-secondary-link{
display:inline-block;
padding:0 2px;
line-height:1;
}

.suffolk-redesign{
--suffolk-red:#ff5b3d;
--suffolk-blue:#173864;
--suffolk-cream:#f1dfc4;
--suffolk-panel:rgba(255,255,255,.04);
background:
radial-gradient(circle at 14% 18%, rgba(255, 91, 61, .22), transparent 24%),
radial-gradient(circle at 84% 12%, rgba(23, 56, 100, .38), transparent 26%),
linear-gradient(180deg, #0f0f10 0%, #0a0a0c 58%, #080809 100%);
}

.suffolk-redesign .container{
max-width:1280px;
}

.suffolk-shell{
padding:8px 0 64px;
}

.suffolk-hero{
display:grid;
grid-template-columns:minmax(0, .95fr) minmax(380px, 1.05fr);
gap:18px;
align-items:stretch;
margin-bottom:18px;
}

.suffolk-hero-copy,
.suffolk-hero-art,
.suffolk-story-card,
.suffolk-transition,
.suffolk-execution-row,
.suffolk-campaign-nav{
background:var(--suffolk-panel);
border:1px solid rgba(255,255,255,.07);
box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.suffolk-hero-copy{
padding:16px;
border-radius:32px;
display:flex;
flex-direction:column;
justify-content:space-between;
min-height:100%;
}

.suffolk-kicker-row{
display:flex;
flex-wrap:wrap;
gap:10px;
align-items:center;
margin-bottom:8px;
}

.suffolk-kicker-tag{
padding:6px 10px;
border-radius:999px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.08);
font-size:.74rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

.suffolk-title{
font-size:clamp(2.35rem, 5vw, 4.35rem);
line-height:.88;
letter-spacing:-.07em;
max-width:8.5ch;
margin-bottom:8px;
}

.suffolk-lede{
max-width:58ch;
font-size:.92rem;
opacity:.84;
}

.suffolk-chip-row{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:12px 0 10px;
}

.suffolk-chip-row span{
display:inline-flex;
align-items:center;
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
font-size:.76rem;
font-weight:700;
}

.suffolk-cta-row{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:baseline;
}

.suffolk-hero-art{
position:relative;
padding:8px;
border-radius:32px;
overflow:hidden;
}

.suffolk-hero-art::before{
content:"";
position:absolute;
inset:auto -20% -28% auto;
width:260px;
height:260px;
border-radius:999px;
background:radial-gradient(circle, rgba(255, 91, 61, .36), transparent 68%);
pointer-events:none;
}

.suffolk-hero-art img{
width:100%;
height:100%;
min-height:260px;
object-fit:contain;
border-radius:24px;
border:1px solid rgba(255,255,255,.06);
background:linear-gradient(180deg, rgba(23, 56, 100, .28), rgba(10, 10, 12, .1));
}

.suffolk-art-caption{
position:absolute;
left:20px;
right:20px;
bottom:18px;
padding:10px 12px;
border-radius:18px;
background:rgba(9,9,12,.78);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.08);
}

.suffolk-art-caption p:last-child{
margin-top:6px;
font-size:1rem;
opacity:.86;
max-width:24ch;
}

.suffolk-story-grid{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:22px;
margin-bottom:20px;
}

.suffolk-story-card{
padding:22px;
border-radius:28px;
min-height:200px;
}

.suffolk-story-card-large{
grid-row:span 2;
background:
linear-gradient(135deg, rgba(255, 91, 61, .14), transparent 55%),
var(--suffolk-panel);
}

.suffolk-story-card h2{
font-size:clamp(1.7rem, 3.5vw, 2.8rem);
line-height:.92;
max-width:10ch;
margin-bottom:12px;
}

.suffolk-story-card p{
max-width:34ch;
opacity:.82;
}

.suffolk-story-quote{
background:
linear-gradient(135deg, rgba(23, 56, 100, .35), transparent 70%),
var(--suffolk-panel);
}

.suffolk-story-quote blockquote{
font-size:clamp(1.45rem, 2.5vw, 2rem);
line-height:1;
letter-spacing:-.05em;
max-width:10ch;
}

.suffolk-transition{
padding:22px 24px;
border-radius:28px;
margin-bottom:24px;
background:
linear-gradient(90deg, rgba(255, 91, 61, .12), rgba(23, 56, 100, .16)),
var(--suffolk-panel);
scroll-margin-top:110px;
}

.suffolk-transition h2{
font-size:clamp(1.7rem, 3.5vw, 2.7rem);
line-height:.92;
max-width:14ch;
margin:6px 0 10px;
}

.suffolk-transition p:last-child{
max-width:62ch;
opacity:.82;
}

.suffolk-execution-section{
gap:18px;
margin-top:0;
}

.suffolk-execution-row{
padding:16px;
border-radius:28px;
display:grid;
grid-template-columns:220px minmax(0, 1fr);
gap:16px;
align-items:start;
}

.suffolk-execution-row-alt{
background:
linear-gradient(135deg, rgba(23, 56, 100, .22), transparent 55%),
var(--suffolk-panel);
}

.suffolk-execution-header{
display:flex;
flex-direction:column;
gap:10px;
padding:8px 8px 0 6px;
}

.suffolk-execution-header h3{
font-size:2rem;
line-height:.92;
letter-spacing:-.05em;
max-width:8ch;
}

.suffolk-execution-pair{
gap:16px;
}

.suffolk-execution-row .execution{
opacity:1;
transform:none;
animation:none;
}

.suffolk-execution-row .execution img{
background:#101114;
border:1px solid rgba(255,255,255,.06);
border-radius:22px;
padding:8px;
box-shadow:0 24px 60px rgba(0,0,0,.22);
}

.suffolk-campaign-nav{
margin-top:26px;
padding:22px 24px;
border-radius:26px;
align-items:center;
}

.suffolk-campaign-nav .next-campaign{
padding:12px 16px;
border-radius:999px;
background:var(--suffolk-red);
color:#ffffff;
opacity:1;
}

.suffolk-campaign-nav .next-campaign:hover{
background:#ff735b;
}

.suffolk-campaign-nav .prev-campaign{
opacity:.8;
}

@media(max-width:1100px){
.suffolk-hero,
.suffolk-story-grid{
grid-template-columns:1fr;
}

.suffolk-story-card-large{
grid-row:auto;
}

.suffolk-execution-row{
grid-template-columns:1fr;
}

.suffolk-execution-header h3{
max-width:none;
}
}

@media(max-width:760px){
.suffolk-shell{
padding-top:18px;
}

.suffolk-hero-copy,
.suffolk-hero-art,
.suffolk-story-card,
.suffolk-transition,
.suffolk-execution-row,
.suffolk-campaign-nav{
padding:18px;
}

.suffolk-title{
font-size:clamp(2.9rem, 16vw, 4.8rem);
}

.suffolk-hero-art img{
min-height:320px;
}

.suffolk-art-caption{
left:22px;
right:22px;
bottom:22px;
}

.suffolk-campaign-nav{
flex-direction:column;
gap:14px;
align-items:flex-start;
}
}

.nepal-redesign{
--nepal-teal:#2ba6a1;
--nepal-gold:#d7b66f;
--nepal-night:#10243b;
--nepal-panel:rgba(255,255,255,.04);
background:
radial-gradient(circle at 18% 16%, rgba(43, 166, 161, .22), transparent 24%),
radial-gradient(circle at 84% 14%, rgba(215, 182, 111, .16), transparent 22%),
linear-gradient(180deg, #0c1014 0%, #091018 56%, #070b10 100%);
}

.nepal-redesign .container{
max-width:1280px;
}

.nepal-shell{
padding:24px 0 64px;
}

.nepal-hero{
display:grid;
grid-template-columns:minmax(0, .95fr) minmax(420px, 1.05fr);
gap:20px;
align-items:stretch;
margin-bottom:20px;
}

.nepal-hero-copy,
.nepal-hero-art,
.nepal-story-card,
.nepal-transition,
.nepal-execution-row,
.nepal-campaign-nav{
background:var(--nepal-panel);
border:1px solid rgba(255,255,255,.07);
box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.nepal-hero-copy{
padding:24px;
border-radius:32px;
display:flex;
flex-direction:column;
justify-content:space-between;
min-height:100%;
}

.nepal-kicker-row{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:center;
margin-bottom:10px;
}

.nepal-kicker-tag{
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.08);
font-size:.78rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

.nepal-title{
font-size:clamp(2.9rem, 6.6vw, 5.6rem);
line-height:.88;
letter-spacing:-.07em;
max-width:8ch;
margin-bottom:12px;
}

.nepal-lede{
max-width:58ch;
font-size:1rem;
opacity:.84;
}

.nepal-chip-row{
display:flex;
flex-wrap:wrap;
gap:10px;
margin:20px 0 18px;
}

.nepal-chip-row span{
display:inline-flex;
align-items:center;
padding:10px 14px;
border-radius:999px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
font-size:.84rem;
font-weight:700;
}

.nepal-cta-row{
display:flex;
flex-wrap:wrap;
gap:18px;
align-items:baseline;
}

.nepal-hero-art{
position:relative;
padding:14px;
border-radius:32px;
overflow:hidden;
}

.nepal-hero-art::before{
content:"";
position:absolute;
inset:auto auto -24% -12%;
width:280px;
height:280px;
border-radius:999px;
background:radial-gradient(circle, rgba(43, 166, 161, .28), transparent 68%);
pointer-events:none;
}

.nepal-hero-art img{
width:100%;
height:100%;
min-height:540px;
object-fit:contain;
border-radius:24px;
border:1px solid rgba(255,255,255,.06);
background:linear-gradient(180deg, rgba(16, 36, 59, .3), rgba(9, 16, 24, .1));
}

.nepal-art-caption{
position:absolute;
left:28px;
right:28px;
bottom:28px;
padding:16px 18px;
border-radius:18px;
background:rgba(8,12,18,.78);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.08);
}

.nepal-art-caption p:last-child{
margin-top:6px;
font-size:1rem;
opacity:.86;
max-width:24ch;
}

.nepal-story-grid{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:22px;
margin-bottom:20px;
}

.nepal-story-card{
padding:22px;
border-radius:28px;
min-height:200px;
}

.nepal-story-card-large{
grid-row:span 2;
background:
linear-gradient(135deg, rgba(43, 166, 161, .14), transparent 55%),
var(--nepal-panel);
}

.nepal-story-card h2{
font-size:clamp(1.7rem, 3.5vw, 2.8rem);
line-height:.92;
max-width:10ch;
margin-bottom:12px;
}

.nepal-story-card p{
max-width:34ch;
opacity:.82;
}

.nepal-story-quote{
background:
linear-gradient(135deg, rgba(16, 36, 59, .35), transparent 70%),
var(--nepal-panel);
}

.nepal-story-quote blockquote{
font-size:clamp(1.45rem, 2.5vw, 2rem);
line-height:1;
letter-spacing:-.05em;
max-width:11ch;
}

.nepal-transition{
padding:22px 24px;
border-radius:28px;
margin-bottom:24px;
background:
linear-gradient(90deg, rgba(43, 166, 161, .12), rgba(215, 182, 111, .12)),
var(--nepal-panel);
scroll-margin-top:110px;
}

.nepal-transition h2{
font-size:clamp(1.7rem, 3.5vw, 2.7rem);
line-height:.92;
max-width:14ch;
margin:6px 0 10px;
}

.nepal-transition p:last-child{
max-width:62ch;
opacity:.82;
}

.nepal-execution-section{
gap:18px;
margin-top:0;
}

.nepal-execution-row{
padding:16px;
border-radius:28px;
display:grid;
grid-template-columns:220px minmax(0, 1fr);
gap:16px;
align-items:start;
}

.nepal-execution-row-alt{
background:
linear-gradient(135deg, rgba(16, 36, 59, .25), transparent 55%),
var(--nepal-panel);
}

.nepal-execution-header{
display:flex;
flex-direction:column;
gap:10px;
padding:8px 8px 0 6px;
}

.nepal-execution-header h3{
font-size:2rem;
line-height:.92;
letter-spacing:-.05em;
max-width:8ch;
}

.nepal-execution-pair{
gap:16px;
}

.nepal-execution-row .execution{
opacity:1;
transform:none;
animation:none;
}

.nepal-execution-row .execution img{
background:#0f1419;
border:1px solid rgba(255,255,255,.06);
border-radius:22px;
padding:8px;
box-shadow:0 24px 60px rgba(0,0,0,.22);
}

.nepal-campaign-nav{
margin-top:26px;
padding:22px 24px;
border-radius:26px;
align-items:center;
}

.nepal-campaign-nav .next-campaign{
padding:12px 16px;
border-radius:999px;
background:var(--nepal-teal);
color:#ffffff;
opacity:1;
}

.nepal-campaign-nav .next-campaign:hover{
background:#39bcb6;
}

.nepal-campaign-nav .prev-campaign{
opacity:.8;
}

@media(max-width:1100px){
.nepal-hero,
.nepal-story-grid{
grid-template-columns:1fr;
}

.nepal-story-card-large{
grid-row:auto;
}

.nepal-execution-row{
grid-template-columns:1fr;
}

.nepal-execution-header h3{
max-width:none;
}
}

@media(max-width:760px){
.nepal-shell{
padding-top:18px;
}

.nepal-hero-copy,
.nepal-hero-art,
.nepal-story-card,
.nepal-transition,
.nepal-execution-row,
.nepal-campaign-nav{
padding:18px;
}

.nepal-title{
font-size:clamp(2.9rem, 16vw, 4.8rem);
}

.nepal-hero-art img{
min-height:320px;
}

.nepal-art-caption{
left:22px;
right:22px;
bottom:22px;
}

.nepal-campaign-nav{
flex-direction:column;
gap:14px;
align-items:flex-start;
}
}

.print-case-page{
--print-accent:#ff5b3d;
--print-secondary:#19395f;
--print-panel:rgba(255,255,255,.04);
background:
radial-gradient(circle at 16% 14%, rgba(255, 91, 61, .18), transparent 24%),
radial-gradient(circle at 86% 12%, rgba(25, 57, 95, .34), transparent 24%),
linear-gradient(180deg, #101011 0%, #0a0a0d 60%, #08080a 100%);
}

.print-case-page .container{
max-width:1280px;
}

.printcase-shell{
padding:24px 0 64px;
}

.printcase-hero{
display:grid;
grid-template-columns:minmax(0, .95fr) minmax(420px, 1.05fr);
gap:20px;
align-items:stretch;
margin-bottom:20px;
}

.printcase-hero-copy,
.printcase-hero-art,
.printcase-story-card,
.printcase-transition,
.printcase-execution-row,
.printcase-campaign-nav{
background:var(--print-panel);
border:1px solid rgba(255,255,255,.07);
box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.printcase-hero-copy{
padding:24px;
border-radius:32px;
display:flex;
flex-direction:column;
justify-content:space-between;
min-height:100%;
}

.printcase-kicker-row{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:center;
margin-bottom:10px;
}

.printcase-kicker-tag{
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.08);
font-size:.78rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

.printcase-title{
font-size:clamp(2.9rem, 6.6vw, 5.6rem);
line-height:.88;
letter-spacing:-.07em;
max-width:8ch;
margin-bottom:12px;
}

.printcase-lede{
max-width:58ch;
font-size:1rem;
opacity:.84;
}

.printcase-chip-row{
display:flex;
flex-wrap:wrap;
gap:10px;
margin:20px 0 18px;
}

.printcase-chip-row span{
display:inline-flex;
align-items:center;
padding:10px 14px;
border-radius:999px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
font-size:.84rem;
font-weight:700;
}

.printcase-cta-row{
display:flex;
flex-wrap:wrap;
gap:18px;
align-items:baseline;
}

.printcase-hero-art{
position:relative;
padding:14px;
border-radius:32px;
overflow:hidden;
}

.printcase-hero-art::before{
content:"";
position:absolute;
inset:auto -20% -24% auto;
width:260px;
height:260px;
border-radius:999px;
background:radial-gradient(circle, rgba(255, 91, 61, .22), transparent 68%);
pointer-events:none;
}

.printcase-hero-art img{
width:100%;
height:100%;
min-height:520px;
object-fit:contain;
border-radius:24px;
border:1px solid rgba(255,255,255,.06);
background:linear-gradient(180deg, rgba(25, 57, 95, .22), rgba(10, 10, 13, .08));
}

.printcase-art-caption{
position:absolute;
left:28px;
right:28px;
bottom:28px;
padding:16px 18px;
border-radius:18px;
background:rgba(9,9,12,.78);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.08);
}

.printcase-art-caption p:last-child{
margin-top:6px;
font-size:1rem;
opacity:.86;
max-width:26ch;
}

.printcase-story-grid{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:22px;
margin-bottom:20px;
}

.printcase-story-card{
padding:22px;
border-radius:28px;
min-height:200px;
}

.printcase-story-card-large{
grid-row:span 2;
background:
linear-gradient(135deg, rgba(255, 91, 61, .12), transparent 55%),
var(--print-panel);
}

.printcase-story-card h2{
font-size:clamp(1.7rem, 3.5vw, 2.8rem);
line-height:.92;
max-width:10ch;
margin-bottom:12px;
}

.printcase-story-card p{
max-width:34ch;
opacity:.82;
}

.printcase-story-quote{
background:
linear-gradient(135deg, rgba(25, 57, 95, .3), transparent 70%),
var(--print-panel);
}

.printcase-story-quote blockquote{
font-size:clamp(1.45rem, 2.5vw, 2rem);
line-height:1;
letter-spacing:-.05em;
max-width:11ch;
}

.printcase-transition{
padding:22px 24px;
border-radius:28px;
margin-bottom:24px;
background:
linear-gradient(90deg, rgba(255, 91, 61, .12), rgba(25, 57, 95, .14)),
var(--print-panel);
scroll-margin-top:110px;
}

.printcase-transition h2{
font-size:clamp(1.7rem, 3.5vw, 2.7rem);
line-height:.92;
max-width:14ch;
margin:6px 0 10px;
}

.printcase-transition p:last-child{
max-width:62ch;
opacity:.82;
}

.printcase-execution-section{
gap:18px;
margin-top:0;
}

.printcase-execution-row{
padding:16px;
border-radius:28px;
display:grid;
grid-template-columns:220px minmax(0, 1fr);
gap:16px;
align-items:start;
}

.printcase-execution-row-alt{
background:
linear-gradient(135deg, rgba(25, 57, 95, .22), transparent 55%),
var(--print-panel);
}

.printcase-execution-header{
display:flex;
flex-direction:column;
gap:10px;
padding:8px 8px 0 6px;
}

.printcase-execution-header h3{
font-size:2rem;
line-height:.92;
letter-spacing:-.05em;
max-width:8ch;
}

.printcase-single-execution{
opacity:1;
transform:none;
animation:none;
}

.printcase-single-execution img{
width:100%;
background:#101114;
border:1px solid rgba(255,255,255,.06);
border-radius:22px;
padding:8px;
box-shadow:0 24px 60px rgba(0,0,0,.22);
}

.printcase-campaign-nav{
margin-top:26px;
padding:22px 24px;
border-radius:26px;
align-items:center;
}

.printcase-campaign-nav .next-campaign{
padding:12px 16px;
border-radius:999px;
background:var(--print-accent);
color:#ffffff;
opacity:1;
}

.printcase-campaign-nav .next-campaign:hover{
background:#ff735b;
}

.printcase-campaign-nav .prev-campaign{
opacity:.8;
}

.benjerry-redesign{
--print-accent:#ff6f4a;
--print-secondary:#29466e;
background:
radial-gradient(circle at 14% 14%, rgba(255, 111, 74, .2), transparent 24%),
radial-gradient(circle at 84% 12%, rgba(98, 167, 255, .18), transparent 22%),
linear-gradient(180deg, #121012 0%, #0b0a0d 60%, #09080a 100%);
}

.mbta-redesign{
--print-accent:#1b8dd8;
--print-secondary:#19395f;
background:
radial-gradient(circle at 16% 16%, rgba(27, 141, 216, .22), transparent 24%),
radial-gradient(circle at 82% 12%, rgba(255, 255, 255, .08), transparent 18%),
linear-gradient(180deg, #0d1014 0%, #090d12 60%, #06090d 100%);
}

@media(max-width:1100px){
.printcase-hero,
.printcase-story-grid{
grid-template-columns:1fr;
}

.printcase-story-card-large{
grid-row:auto;
}

.printcase-execution-row{
grid-template-columns:1fr;
}

.printcase-execution-header h3{
max-width:none;
}
}

@media(max-width:760px){
.printcase-shell{
padding-top:18px;
}

.printcase-hero-copy,
.printcase-hero-art,
.printcase-story-card,
.printcase-transition,
.printcase-execution-row,
.printcase-campaign-nav{
padding:18px;
}

.printcase-title{
font-size:clamp(2.9rem, 16vw, 4.8rem);
}

.printcase-hero-art img{
min-height:320px;
}

.printcase-art-caption{
left:22px;
right:22px;
bottom:22px;
}

.printcase-campaign-nav{
flex-direction:column;
gap:14px;
align-items:flex-start;
}
}

.benjerry-case{
--benjerry-orange:#ff6f4a;
--benjerry-blue:#274d83;
--benjerry-cream:#f4e6d1;
background:
radial-gradient(circle at 16% 14%, rgba(255, 111, 74, .22), transparent 24%),
radial-gradient(circle at 84% 12%, rgba(39, 77, 131, .22), transparent 22%),
linear-gradient(180deg, #121013 0%, #0b0a0d 58%, #09080a 100%);
}

.benjerry-case .container{
max-width:1240px;
}

.benjerry-shell{
padding:24px 0 64px;
}

.benjerry-hero{
display:grid;
grid-template-columns:minmax(0, .92fr) minmax(380px, 1.08fr);
gap:20px;
align-items:stretch;
margin-bottom:22px;
}

.benjerry-copy,
.benjerry-hero-art,
.benjerry-card,
.benjerry-transition,
.benjerry-execution-panel,
.benjerry-nav{
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.07);
box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.benjerry-copy{
padding:16px;
border-radius:30px;
}

.benjerry-format{
display:inline-flex;
align-items:center;
margin:6px 0 10px;
padding:6px 10px;
border-radius:999px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.08);
font-size:.74rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

.benjerry-title{
font-size:clamp(2.4rem, 5vw, 4.35rem);
line-height:.9;
letter-spacing:-.07em;
max-width:8.5ch;
margin-bottom:8px;
}

.benjerry-lede{
max-width:56ch;
font-size:.92rem;
opacity:.84;
}

.benjerry-tags{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:12px 0 10px;
}

.benjerry-tags span{
display:inline-flex;
align-items:center;
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
font-size:.76rem;
font-weight:700;
}

.benjerry-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:baseline;
}

.benjerry-hero-art{
position:relative;
padding:8px;
border-radius:30px;
overflow:hidden;
}

.benjerry-hero-art img{
width:100%;
height:100%;
min-height:260px;
object-fit:contain;
border-radius:22px;
border:1px solid rgba(255,255,255,.06);
background:linear-gradient(180deg, rgba(39, 77, 131, .22), rgba(10, 10, 12, .08));
}

.benjerry-art-note{
position:absolute;
left:20px;
right:20px;
bottom:18px;
padding:10px 12px;
border-radius:18px;
background:rgba(10,10,12,.78);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.08);
}

.benjerry-art-note p:last-child{
margin-top:6px;
max-width:26ch;
opacity:.84;
}

.benjerry-overview{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:18px;
margin-bottom:22px;
}

.benjerry-card{
padding:22px;
border-radius:26px;
min-height:190px;
}

.benjerry-card-large{
grid-row:span 3;
background:
linear-gradient(135deg, rgba(255, 111, 74, .14), transparent 55%),
rgba(255,255,255,.04);
}

.benjerry-card h2{
font-size:clamp(1.8rem, 3.5vw, 2.9rem);
line-height:.92;
letter-spacing:-.05em;
max-width:10ch;
margin-bottom:12px;
}

.benjerry-card p{
max-width:34ch;
opacity:.82;
}

.benjerry-transition{
padding:22px 24px;
border-radius:26px;
margin-bottom:22px;
background:
linear-gradient(90deg, rgba(255, 111, 74, .12), rgba(39, 77, 131, .14)),
rgba(255,255,255,.04);
scroll-margin-top:110px;
}

.benjerry-transition h2{
font-size:clamp(1.8rem, 3.5vw, 2.7rem);
line-height:.93;
letter-spacing:-.05em;
max-width:14ch;
margin:6px 0 10px;
}

.benjerry-transition p:last-child{
max-width:60ch;
opacity:.82;
}

.benjerry-executions{
display:flex;
flex-direction:column;
gap:14px;
}

.benjerry-execution-panel{
padding:14px;
border-radius:26px;
display:grid;
grid-template-columns:190px minmax(0,1fr);
gap:14px;
align-items:center;
}

.benjerry-execution-panel-alt{
background:
linear-gradient(135deg, rgba(39, 77, 131, .18), transparent 55%),
rgba(255,255,255,.04);
}

.benjerry-execution-copy{
display:flex;
flex-direction:column;
gap:8px;
padding:4px 4px 0 6px;
}

.benjerry-execution-copy h3{
font-size:1.4rem;
line-height:.92;
letter-spacing:-.05em;
max-width:8ch;
}

.benjerry-execution-art{
opacity:1;
transform:none;
animation:none;
}

.benjerry-execution-art img{
width:100%;
background:#101114;
border:1px solid rgba(255,255,255,.06);
border-radius:22px;
padding:8px;
box-shadow:0 24px 60px rgba(0,0,0,.22);
max-height:min(72vh, 520px);
object-fit:contain;
}

.benjerry-nav{
margin-top:26px;
padding:22px 24px;
border-radius:26px;
align-items:center;
}

.benjerry-nav .next-campaign{
padding:12px 16px;
border-radius:999px;
background:var(--benjerry-orange);
color:#ffffff;
opacity:1;
}

.benjerry-nav .next-campaign:hover{
background:#ff8666;
}

.benjerry-nav .prev-campaign{
opacity:.8;
}

@media(max-width:1100px){
.benjerry-hero,
.benjerry-overview{
grid-template-columns:1fr;
}

.benjerry-card-large{
grid-row:auto;
}

.benjerry-execution-panel{
grid-template-columns:1fr;
}

.benjerry-execution-copy h3{
max-width:none;
}
}

@media(max-width:760px){
.benjerry-shell{
padding-top:18px;
}

.benjerry-copy,
.benjerry-hero-art,
.benjerry-card,
.benjerry-transition,
.benjerry-execution-panel,
.benjerry-nav{
padding:18px;
}

.benjerry-title{
font-size:clamp(2.9rem, 16vw, 4.8rem);
}

.benjerry-hero-art img{
min-height:320px;
}

.benjerry-art-note{
left:22px;
right:22px;
bottom:22px;
}

.benjerry-nav{
flex-direction:column;
gap:14px;
align-items:flex-start;
}
}

.mbta-case{
--benjerry-orange:#1b8dd8;
--benjerry-blue:#19395f;
background:
radial-gradient(circle at 16% 14%, rgba(27, 141, 216, .24), transparent 24%),
radial-gradient(circle at 84% 12%, rgba(255, 255, 255, .08), transparent 18%),
linear-gradient(180deg, #0d1014 0%, #090d12 58%, #06090d 100%);
}

.mbta-case .benjerry-hero-art img{
background:linear-gradient(180deg, rgba(25, 57, 95, .28), rgba(8, 12, 18, .08));
}

.mbta-case .benjerry-card-large{
background:
linear-gradient(135deg, rgba(27, 141, 216, .14), transparent 55%),
rgba(255,255,255,.04);
}

.mbta-case .benjerry-execution-panel-alt{
background:
linear-gradient(135deg, rgba(25, 57, 95, .22), transparent 55%),
rgba(255,255,255,.04);
}

.delta-case{
--delta-red:#d83a34;
--delta-blue:#163a66;
background:
radial-gradient(circle at 16% 14%, rgba(216, 58, 52, .22), transparent 24%),
radial-gradient(circle at 84% 12%, rgba(22, 58, 102, .26), transparent 22%),
linear-gradient(180deg, #101114 0%, #0a0d12 58%, #07090d 100%);
}

.delta-case .container{
max-width:1260px;
}

.delta-shell{
padding:8px 0 64px;
}

.delta-hero{
display:grid;
grid-template-columns:minmax(0, .92fr) minmax(380px, 1.08fr);
gap:20px;
align-items:stretch;
margin-bottom:22px;
}

.delta-copy,
.delta-hero-art,
.delta-card,
.delta-transition,
.delta-execution-panel,
.delta-nav{
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.07);
box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.delta-copy{
padding:16px;
border-radius:30px;
}

.delta-format{
display:inline-flex;
align-items:center;
margin:6px 0 10px;
padding:6px 10px;
border-radius:999px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.08);
font-size:.74rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

.delta-title{
font-size:clamp(2.3rem, 4.9vw, 4.2rem);
line-height:.9;
letter-spacing:-.07em;
max-width:9ch;
margin-bottom:8px;
}

.delta-lede{
max-width:58ch;
font-size:.92rem;
opacity:.84;
}

.delta-tags{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:12px 0 10px;
}

.delta-tags span{
display:inline-flex;
align-items:center;
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
font-size:.76rem;
font-weight:700;
}

.delta-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:baseline;
margin-bottom:10px;
}

.delta-mini-stats{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:10px;
padding-top:10px;
border-top:1px solid rgba(255,255,255,.08);
}

.delta-mini-stats div{
display:flex;
flex-direction:column;
gap:4px;
}

.delta-mini-stats strong{
font-size:1.55rem;
letter-spacing:-.06em;
}

.delta-mini-stats span{
font-size:.7rem;
text-transform:uppercase;
letter-spacing:.08em;
opacity:.68;
}

.delta-hero-art{
position:relative;
padding:8px;
border-radius:30px;
overflow:hidden;
}

.delta-hero-art img{
width:100%;
height:100%;
min-height:260px;
object-fit:cover;
object-position:center top;
border-radius:22px;
border:1px solid rgba(255,255,255,.06);
background:linear-gradient(180deg, rgba(22, 58, 102, .24), rgba(10, 12, 17, .08));
}

.delta-art-note{
position:absolute;
left:20px;
right:20px;
bottom:16px;
padding:10px 12px;
border-radius:18px;
background:rgba(8,10,14,.8);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.08);
}

.delta-art-note p:last-child{
margin-top:6px;
max-width:26ch;
opacity:.84;
}

.delta-overview{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:18px;
margin-bottom:22px;
}

.delta-card{
padding:22px;
border-radius:26px;
min-height:190px;
}

.delta-card-large{
grid-row:span 3;
background:
linear-gradient(135deg, rgba(216, 58, 52, .12), transparent 55%),
rgba(255,255,255,.04);
}

.delta-card h2{
font-size:clamp(1.8rem, 3.5vw, 2.9rem);
line-height:.92;
letter-spacing:-.05em;
max-width:10ch;
margin-bottom:12px;
}

.delta-card p{
max-width:34ch;
opacity:.82;
}

.delta-transition{
padding:22px 24px;
border-radius:26px;
margin-bottom:22px;
background:
linear-gradient(90deg, rgba(216, 58, 52, .12), rgba(22, 58, 102, .14)),
rgba(255,255,255,.04);
scroll-margin-top:110px;
}

.delta-transition h2{
font-size:clamp(1.8rem, 3.5vw, 2.7rem);
line-height:.93;
letter-spacing:-.05em;
max-width:14ch;
margin:6px 0 10px;
}

.delta-transition p:last-child{
max-width:60ch;
opacity:.82;
}

.delta-executions{
display:flex;
flex-direction:column;
gap:18px;
}

.delta-execution-panel{
padding:16px;
border-radius:26px;
display:grid;
grid-template-columns:200px minmax(0,1fr);
gap:16px;
align-items:start;
}

.delta-execution-panel-alt{
background:
linear-gradient(135deg, rgba(22, 58, 102, .18), transparent 55%),
rgba(255,255,255,.04);
}

.delta-execution-copy{
display:flex;
flex-direction:column;
gap:10px;
padding:8px 8px 0 6px;
}

.delta-execution-copy h3{
font-size:1.5rem;
line-height:.92;
letter-spacing:-.05em;
max-width:8ch;
}

.delta-execution-pair{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
}

.delta-execution-art{
opacity:1;
transform:none;
animation:none;
}

.delta-execution-art img{
width:100%;
background:#101114;
border:1px solid rgba(255,255,255,.06);
border-radius:22px;
padding:8px;
box-shadow:0 24px 60px rgba(0,0,0,.22);
max-height:min(68vh, 420px);
object-fit:contain;
}

.delta-nav{
margin-top:26px;
padding:22px 24px;
border-radius:26px;
align-items:center;
}

.delta-nav .next-campaign{
padding:12px 16px;
border-radius:999px;
background:var(--delta-red);
color:#ffffff;
opacity:1;
}

.delta-nav .next-campaign:hover{
background:#e6544c;
}

.delta-nav .prev-campaign{
opacity:.8;
}

@media(max-width:1100px){
.delta-hero,
.delta-overview{
grid-template-columns:1fr;
}

.delta-card-large{
grid-row:auto;
}

.delta-execution-panel{
grid-template-columns:1fr;
}

.delta-execution-copy h3{
max-width:none;
}
}

@media(max-width:760px){
.delta-shell{
padding-top:18px;
}

.delta-copy,
.delta-hero-art,
.delta-card,
.delta-transition,
.delta-execution-panel,
.delta-nav{
padding:18px;
}

.delta-title{
font-size:clamp(2.9rem, 16vw, 4.8rem);
}

.delta-mini-stats,
.delta-execution-pair{
grid-template-columns:1fr;
}

.delta-hero-art img{
min-height:280px;
}

.delta-art-note{
left:22px;
right:22px;
bottom:22px;
}

.delta-nav{
flex-direction:column;
gap:14px;
align-items:flex-start;
}
}

.scrubadub-case{
--scrub-orange:#ff8a3d;
--scrub-blue:#1d4573;
background:
radial-gradient(circle at 14% 14%, rgba(255, 138, 61, .24), transparent 24%),
radial-gradient(circle at 84% 12%, rgba(29, 69, 115, .2), transparent 22%),
linear-gradient(180deg, #111012 0%, #0b0a0d 58%, #08080a 100%);
}

.scrubadub-case .container{
max-width:1260px;
}

.scrubadub-shell{
padding:4px 0 64px;
}

.scrubadub-hero{
display:grid;
grid-template-columns:minmax(0, .92fr) minmax(380px, 1.08fr);
gap:20px;
align-items:stretch;
margin-bottom:10px;
}

.scrubadub-copy,
.scrubadub-hero-art,
.scrubadub-card,
.scrubadub-transition,
.scrubadub-board,
.scrubadub-nav{
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.07);
box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.scrubadub-copy{
padding:12px;
border-radius:30px;
}

.scrubadub-format{
display:inline-flex;
align-items:center;
margin:6px 0 10px;
padding:6px 10px;
border-radius:999px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.08);
font-size:.78rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

.scrubadub-title{
font-size:clamp(1.9rem, 4vw, 3.1rem);
line-height:.9;
letter-spacing:-.07em;
max-width:8.5ch;
margin-bottom:8px;
}

.scrubadub-lede{
max-width:58ch;
font-size:.88rem;
opacity:.84;
}

.scrubadub-tags{
display:flex;
flex-wrap:wrap;
gap:10px;
margin:10px 0 8px;
}

.scrubadub-tags span{
display:inline-flex;
align-items:center;
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
font-size:.74rem;
font-weight:700;
}

.scrubadub-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:baseline;
}

.scrubadub-hero-art{
position:relative;
padding:6px;
border-radius:30px;
overflow:hidden;
}

.scrubadub-hero-art img{
width:100%;
height:100%;
min-height:180px;
object-fit:contain;
object-position:center center;
border-radius:22px;
border:1px solid rgba(255,255,255,.06);
background:linear-gradient(180deg, rgba(29, 69, 115, .24), rgba(10, 10, 12, .08));
}

.scrubadub-art-note{
position:absolute;
left:28px;
right:28px;
bottom:18px;
padding:8px 10px;
border-radius:18px;
background:rgba(8,10,14,.8);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.08);
}

.scrubadub-art-note p:last-child{
margin-top:4px;
max-width:26ch;
opacity:.84;
font-size:.88rem;
}

.scrubadub-overview{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:18px;
margin-bottom:22px;
}

.scrubadub-card{
padding:22px;
border-radius:26px;
min-height:190px;
}

.scrubadub-card-large{
grid-row:span 3;
background:
linear-gradient(135deg, rgba(255, 138, 61, .14), transparent 55%),
rgba(255,255,255,.04);
}

.scrubadub-card h2{
font-size:clamp(1.8rem, 3.5vw, 2.9rem);
line-height:.92;
letter-spacing:-.05em;
max-width:10ch;
margin-bottom:12px;
}

.scrubadub-card p{
max-width:34ch;
opacity:.82;
}

.scrubadub-transition{
padding:22px 24px;
border-radius:26px;
margin-bottom:22px;
background:
linear-gradient(90deg, rgba(255, 138, 61, .12), rgba(29, 69, 115, .14)),
rgba(255,255,255,.04);
scroll-margin-top:110px;
}

.scrubadub-transition h2{
font-size:clamp(1.8rem, 3.5vw, 2.7rem);
line-height:.93;
letter-spacing:-.05em;
max-width:14ch;
margin:6px 0 10px;
}

.scrubadub-transition p:last-child{
max-width:60ch;
opacity:.82;
}

.scrubadub-sequence{
display:flex;
flex-direction:column;
gap:18px;
}

.scrubadub-board{
padding:16px;
border-radius:26px;
display:grid;
grid-template-columns:220px minmax(0,1fr);
gap:16px;
align-items:center;
}

.scrubadub-board-alt{
background:
linear-gradient(135deg, rgba(29, 69, 115, .18), transparent 55%),
rgba(255,255,255,.04);
}

.scrubadub-board-copy{
display:flex;
flex-direction:column;
gap:10px;
padding:8px 8px 0 6px;
}

.scrubadub-board-copy h3{
font-size:1.45rem;
line-height:.92;
letter-spacing:-.05em;
max-width:8ch;
}

.scrubadub-board-copy p{
opacity:.8;
}

.scrubadub-board-art{
opacity:1;
transform:none;
animation:none;
}

.scrubadub-board-art img{
width:100%;
background:#101114;
border:1px solid rgba(255,255,255,.06);
border-radius:22px;
padding:8px;
box-shadow:0 24px 60px rgba(0,0,0,.22);
max-height:min(72vh, 520px);
object-fit:contain;
}

.scrubadub-nav{
margin-top:26px;
padding:22px 24px;
border-radius:26px;
align-items:center;
}

.scrubadub-nav .next-campaign{
padding:12px 16px;
border-radius:999px;
background:var(--scrub-orange);
color:#ffffff;
opacity:1;
}

.scrubadub-nav .next-campaign:hover{
background:#ff9d59;
}

.scrubadub-nav .prev-campaign{
opacity:.8;
}

@media(max-width:1100px){
.scrubadub-hero,
.scrubadub-overview{
grid-template-columns:1fr;
}

.scrubadub-card-large{
grid-row:auto;
}

.scrubadub-board{
grid-template-columns:1fr;
}

.scrubadub-board-copy h3{
max-width:none;
}
}

@media(max-width:760px){
.scrubadub-shell{
padding-top:18px;
}

.scrubadub-copy,
.scrubadub-hero-art,
.scrubadub-card,
.scrubadub-transition,
.scrubadub-board,
.scrubadub-nav{
padding:16px;
}

.scrubadub-title{
font-size:clamp(2.1rem, 13vw, 3.2rem);
}

.scrubadub-hero-art img{
min-height:180px;
}

.scrubadub-art-note{
left:22px;
right:22px;
bottom:22px;
}

.scrubadub-nav{
flex-direction:column;
gap:14px;
align-items:flex-start;
}
}

.chaparritas-case{
--chap-red:#ef5144;
--chap-yellow:#f2b74d;
--chap-blue:#224f86;
background:
radial-gradient(circle at 14% 14%, rgba(239, 81, 68, .22), transparent 24%),
radial-gradient(circle at 84% 12%, rgba(242, 183, 77, .16), transparent 20%),
linear-gradient(180deg, #121013 0%, #0b0a0d 58%, #08080a 100%);
}

.chaparritas-case .container{
max-width:1280px;
}

.chaparritas-shell{
padding:8px 0 64px;
}

.chaparritas-hero{
display:grid;
grid-template-columns:minmax(0, .92fr) minmax(380px, 1.08fr);
gap:20px;
align-items:stretch;
margin-bottom:22px;
}

.chaparritas-copy,
.chaparritas-hero-art,
.chaparritas-card,
.chaparritas-transition,
.chaparritas-country-block,
.chaparritas-execution-row,
.chaparritas-nav{
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.07);
box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.chaparritas-copy{
padding:16px;
border-radius:30px;
}

.chaparritas-format{
display:inline-flex;
align-items:center;
margin:6px 0 10px;
padding:6px 10px;
border-radius:999px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.08);
font-size:.74rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

.chaparritas-title{
font-size:clamp(2.3rem, 4.9vw, 4.2rem);
line-height:.9;
letter-spacing:-.07em;
max-width:8.8ch;
margin-bottom:8px;
}

.chaparritas-lede{
max-width:58ch;
font-size:.92rem;
opacity:.84;
}

.chaparritas-tags{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:12px 0 10px;
}

.chaparritas-tags span{
display:inline-flex;
align-items:center;
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
font-size:.76rem;
font-weight:700;
}

.chaparritas-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:baseline;
}

.chaparritas-hero-art{
position:relative;
padding:8px;
border-radius:30px;
overflow:hidden;
}

.chaparritas-hero-art img{
width:100%;
height:100%;
min-height:240px;
object-fit:contain;
border-radius:22px;
border:1px solid rgba(255,255,255,.06);
background:linear-gradient(180deg, rgba(34, 79, 134, .22), rgba(10, 10, 12, .08));
}

.chaparritas-art-note{
position:absolute;
left:20px;
right:20px;
bottom:16px;
padding:10px 12px;
border-radius:18px;
background:rgba(8,10,14,.8);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.08);
}

.chaparritas-art-note p:last-child{
margin-top:6px;
max-width:26ch;
opacity:.84;
}

.chaparritas-overview{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:18px;
margin-bottom:22px;
}

.chaparritas-card{
padding:22px;
border-radius:26px;
min-height:190px;
}

.chaparritas-card-large{
grid-row:span 3;
background:
linear-gradient(135deg, rgba(239, 81, 68, .14), transparent 55%),
rgba(255,255,255,.04);
}

.chaparritas-card h2{
font-size:clamp(1.8rem, 3.5vw, 2.9rem);
line-height:.92;
letter-spacing:-.05em;
max-width:11ch;
margin-bottom:12px;
}

.chaparritas-card p{
max-width:36ch;
opacity:.82;
}

.chaparritas-transition{
padding:22px 24px;
border-radius:26px;
margin-bottom:22px;
background:
linear-gradient(90deg, rgba(239, 81, 68, .12), rgba(242, 183, 77, .12)),
rgba(255,255,255,.04);
scroll-margin-top:110px;
}

.chaparritas-transition h2{
font-size:clamp(1.8rem, 3.5vw, 2.7rem);
line-height:.93;
letter-spacing:-.05em;
max-width:14ch;
margin:6px 0 10px;
}

.chaparritas-transition p:last-child{
max-width:60ch;
opacity:.82;
}

.chaparritas-country-block{
padding:22px;
border-radius:28px;
margin-bottom:18px;
}

.american-track{
background:
linear-gradient(135deg, rgba(34, 79, 134, .18), transparent 55%),
rgba(255,255,255,.04);
}

.mexican-track{
background:
linear-gradient(135deg, rgba(239, 81, 68, .16), transparent 55%),
rgba(255,255,255,.04);
}

.chaparritas-country-head{
margin-bottom:18px;
}

.chaparritas-country-head h2{
font-size:clamp(2rem, 4vw, 3.2rem);
line-height:.92;
letter-spacing:-.05em;
margin:4px 0 8px;
}

.chaparritas-country-head p:last-child{
max-width:54ch;
opacity:.82;
}

.chaparritas-execution-row{
padding:16px;
border-radius:24px;
display:grid;
grid-template-columns:220px minmax(0,1fr);
gap:16px;
align-items:start;
margin-top:14px;
}

.chaparritas-execution-row-alt{
background:rgba(255,255,255,.03);
}

.chaparritas-execution-copy{
display:flex;
flex-direction:column;
gap:10px;
padding:8px 8px 0 6px;
}

.chaparritas-execution-copy h3{
font-size:1.45rem;
line-height:.92;
letter-spacing:-.05em;
max-width:9ch;
}

.chaparritas-execution-pair{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
}

.chaparritas-execution-art{
opacity:1;
transform:none;
animation:none;
}

.chaparritas-execution-art img{
width:100%;
background:#101114;
border:1px solid rgba(255,255,255,.06);
border-radius:22px;
padding:8px;
box-shadow:0 24px 60px rgba(0,0,0,.22);
max-height:min(70vh, 500px);
object-fit:contain;
}

.chaparritas-nav{
margin-top:26px;
padding:22px 24px;
border-radius:26px;
align-items:center;
}

.chaparritas-nav .next-campaign{
padding:12px 16px;
border-radius:999px;
background:var(--chap-red);
color:#ffffff;
opacity:1;
}

.chaparritas-nav .next-campaign:hover{
background:#f46b60;
}

.chaparritas-nav .prev-campaign{
opacity:.8;
}

@media(max-width:1100px){
.chaparritas-hero,
.chaparritas-overview{
grid-template-columns:1fr;
}

.chaparritas-card-large{
grid-row:auto;
}

.chaparritas-execution-row{
grid-template-columns:1fr;
}

.chaparritas-execution-copy h3{
max-width:none;
}
}

@media(max-width:760px){
.chaparritas-shell{
padding-top:18px;
}

.chaparritas-copy,
.chaparritas-hero-art,
.chaparritas-card,
.chaparritas-transition,
.chaparritas-country-block,
.chaparritas-execution-row,
.chaparritas-nav{
padding:18px;
}

.chaparritas-title{
font-size:clamp(2.9rem, 16vw, 4.8rem);
}

.chaparritas-execution-pair{
grid-template-columns:1fr;
}

.chaparritas-hero-art img{
min-height:280px;
}

.chaparritas-art-note{
left:22px;
right:22px;
bottom:22px;
}

.chaparritas-nav{
flex-direction:column;
gap:14px;
align-items:flex-start;
}
}

.skittles-case{
--skittles-red:#ef4343;
--skittles-yellow:#f7d84b;
--skittles-purple:#6a39c8;
background:
radial-gradient(circle at 14% 14%, rgba(239, 67, 67, .22), transparent 24%),
radial-gradient(circle at 84% 12%, rgba(106, 57, 200, .18), transparent 20%),
linear-gradient(180deg, #121013 0%, #0b0a0d 58%, #08080a 100%);
}

.skittles-case .container{
max-width:1280px;
}

.skittles-shell{
padding:8px 0 64px;
}

.skittles-hero{
display:grid;
grid-template-columns:minmax(0, .92fr) minmax(380px, 1.08fr);
gap:20px;
align-items:stretch;
margin-bottom:22px;
}

.skittles-copy,
.skittles-hero-art,
.skittles-card,
.skittles-transition,
.skittles-storyboard-grid,
.skittles-print-card,
.skittles-nav{
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.07);
box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.skittles-copy{
padding:16px;
border-radius:30px;
}

.skittles-format{
display:inline-flex;
align-items:center;
margin:6px 0 10px;
padding:6px 10px;
border-radius:999px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.08);
font-size:.74rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

.skittles-title{
font-size:clamp(2.3rem, 4.9vw, 4.2rem);
line-height:.9;
letter-spacing:-.07em;
max-width:8.8ch;
margin-bottom:8px;
}

.skittles-lede{
max-width:58ch;
font-size:.92rem;
opacity:.84;
}

.skittles-tags{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:12px 0 10px;
}

.skittles-tags span{
display:inline-flex;
align-items:center;
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
font-size:.76rem;
font-weight:700;
}

.skittles-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:baseline;
}

.skittles-hero-art{
position:relative;
padding:8px;
border-radius:30px;
overflow:hidden;
}

.skittles-hero-art img{
width:100%;
height:100%;
min-height:240px;
object-fit:contain;
border-radius:22px;
border:1px solid rgba(255,255,255,.06);
background:linear-gradient(180deg, rgba(106, 57, 200, .18), rgba(10, 10, 12, .08));
}

.skittles-art-note{
position:absolute;
left:20px;
right:20px;
bottom:16px;
padding:10px 12px;
border-radius:18px;
background:rgba(8,10,14,.8);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.08);
}

.skittles-art-note p:last-child{
margin-top:6px;
max-width:26ch;
opacity:.84;
}

.skittles-overview{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:18px;
margin-bottom:22px;
}

.skittles-card{
padding:22px;
border-radius:26px;
min-height:190px;
}

.skittles-card-large{
grid-row:span 3;
background:
linear-gradient(135deg, rgba(239, 67, 67, .12), transparent 55%),
rgba(255,255,255,.04);
}

.skittles-card h2{
font-size:clamp(1.8rem, 3.5vw, 2.9rem);
line-height:.92;
letter-spacing:-.05em;
max-width:10ch;
margin-bottom:12px;
}

.skittles-card p{
max-width:36ch;
opacity:.82;
}

.skittles-transition{
padding:22px 24px;
border-radius:26px;
margin-bottom:22px;
background:
linear-gradient(90deg, rgba(239, 67, 67, .12), rgba(106, 57, 200, .12)),
rgba(255,255,255,.04);
scroll-margin-top:110px;
}

.skittles-transition h2{
font-size:clamp(1.8rem, 3.5vw, 2.7rem);
line-height:.93;
letter-spacing:-.05em;
max-width:14ch;
margin:6px 0 10px;
}

.skittles-transition p:last-child{
max-width:60ch;
opacity:.82;
}

.skittles-storyboard-grid{
padding:18px;
border-radius:28px;
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:14px;
margin-bottom:22px;
}

.skittles-frame{
position:relative;
opacity:1;
transform:none;
animation:none;
}

.skittles-frame span{
position:absolute;
top:10px;
left:10px;
z-index:2;
padding:6px 8px;
border-radius:999px;
background:rgba(8,10,14,.78);
font-size:.72rem;
font-weight:800;
letter-spacing:.08em;
}

.skittles-frame img{
width:100%;
background:#101114;
border:1px solid rgba(255,255,255,.06);
border-radius:18px;
padding:6px;
box-shadow:0 18px 40px rgba(0,0,0,.2);
}

.skittles-frame p{
margin-top:10px;
font-size:.88rem;
line-height:1.45;
opacity:.82;
}

.skittles-print-card{
padding:18px;
border-radius:28px;
display:grid;
grid-template-columns:260px minmax(0,1fr);
gap:18px;
align-items:start;
}

.skittles-print-copy{
display:flex;
flex-direction:column;
gap:10px;
padding:6px 4px 0 2px;
}

.skittles-print-copy h2{
font-size:clamp(1.7rem, 3.3vw, 2.5rem);
line-height:.93;
letter-spacing:-.05em;
max-width:10ch;
}

.skittles-print-copy p:last-child{
opacity:.82;
}

.skittles-print-art{
opacity:1;
transform:none;
animation:none;
}

.skittles-print-art img{
width:100%;
background:#101114;
border:1px solid rgba(255,255,255,.06);
border-radius:22px;
padding:8px;
box-shadow:0 24px 60px rgba(0,0,0,.22);
max-height:min(76vh, 620px);
object-fit:contain;
}

.skittles-nav{
margin-top:26px;
padding:22px 24px;
border-radius:26px;
align-items:center;
}

.skittles-nav .next-campaign{
padding:12px 16px;
border-radius:999px;
background:var(--skittles-red);
color:#ffffff;
opacity:1;
}

.skittles-nav .next-campaign:hover{
background:#f05d5d;
}

.skittles-nav .prev-campaign{
opacity:.8;
}

@media(max-width:1100px){
.skittles-hero,
.skittles-overview,
.skittles-print-card{
grid-template-columns:1fr;
}

.skittles-card-large{
grid-row:auto;
}

.skittles-storyboard-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}

@media(max-width:760px){
.skittles-shell{
padding-top:18px;
}

.skittles-copy,
.skittles-hero-art,
.skittles-card,
.skittles-transition,
.skittles-storyboard-grid,
.skittles-print-card,
.skittles-nav{
padding:18px;
}

.skittles-title{
font-size:clamp(2.9rem, 16vw, 4.8rem);
}

.skittles-storyboard-grid{
grid-template-columns:1fr;
}

.skittles-hero-art img{
min-height:280px;
}

.skittles-art-note{
left:22px;
right:22px;
bottom:22px;
}

.skittles-nav{
flex-direction:column;
gap:14px;
align-items:flex-start;
}
}

.lego-case{
--lego-red:#e5443a;
--lego-yellow:#f1c844;
--lego-blue:#295ca0;
background:
radial-gradient(circle at 14% 14%, rgba(229, 68, 58, .2), transparent 24%),
radial-gradient(circle at 84% 12%, rgba(41, 92, 160, .18), transparent 22%),
linear-gradient(180deg, #121013 0%, #0b0a0d 58%, #08080a 100%);
}

.lego-case .container{
max-width:1280px;
}

.lego-shell{
padding:8px 0 64px;
}

.lego-hero{
display:grid;
grid-template-columns:minmax(0, .92fr) minmax(380px, 1.08fr);
gap:20px;
align-items:stretch;
margin-bottom:22px;
}

.lego-copy,
.lego-hero-art,
.lego-card,
.lego-transition,
.lego-example-card,
.lego-format-block,
.lego-nav{
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.07);
box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.lego-copy{
padding:16px;
border-radius:30px;
}

.lego-format{
display:inline-flex;
align-items:center;
margin:6px 0 10px;
padding:6px 10px;
border-radius:999px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.08);
font-size:.74rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

.lego-title{
font-size:clamp(2.3rem, 4.9vw, 4.2rem);
line-height:.9;
letter-spacing:-.07em;
max-width:8.8ch;
margin-bottom:8px;
}

.lego-lede{
max-width:58ch;
font-size:.92rem;
opacity:.84;
}

.lego-tags{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:12px 0 10px;
}

.lego-tags span{
display:inline-flex;
align-items:center;
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
font-size:.76rem;
font-weight:700;
}

.lego-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:baseline;
}

.lego-hero-art{
position:relative;
padding:8px;
border-radius:30px;
overflow:hidden;
}

.lego-hero-art img{
width:100%;
height:100%;
min-height:240px;
object-fit:contain;
border-radius:22px;
border:1px solid rgba(255,255,255,.06);
background:linear-gradient(180deg, rgba(41, 92, 160, .18), rgba(10, 10, 12, .08));
}

.lego-art-note{
position:absolute;
left:20px;
right:20px;
bottom:16px;
padding:10px 12px;
border-radius:18px;
background:rgba(8,10,14,.8);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.08);
}

.lego-art-note p:last-child{
margin-top:6px;
max-width:26ch;
opacity:.84;
}

.lego-overview{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:18px;
margin-bottom:22px;
}

.lego-card{
padding:22px;
border-radius:26px;
min-height:190px;
}

.lego-card-large{
grid-row:span 3;
background:
linear-gradient(135deg, rgba(229, 68, 58, .12), transparent 55%),
rgba(255,255,255,.04);
}

.lego-card h2{
font-size:clamp(1.8rem, 3.5vw, 2.9rem);
line-height:.92;
letter-spacing:-.05em;
max-width:10ch;
margin-bottom:12px;
}

.lego-card p{
max-width:36ch;
opacity:.82;
}

.lego-transition{
padding:22px 24px;
border-radius:26px;
margin-bottom:22px;
background:
linear-gradient(90deg, rgba(229, 68, 58, .12), rgba(241, 200, 68, .12)),
rgba(255,255,255,.04);
scroll-margin-top:110px;
}

.lego-transition h2{
font-size:clamp(1.8rem, 3.5vw, 2.7rem);
line-height:.93;
letter-spacing:-.05em;
max-width:14ch;
margin:6px 0 10px;
}

.lego-transition p:last-child{
max-width:60ch;
opacity:.82;
}

.lego-example-card{
padding:14px;
border-radius:24px;
display:grid;
grid-template-columns:230px minmax(0,1fr);
gap:14px;
align-items:start;
margin-bottom:18px;
}

.lego-example-copy{
display:flex;
flex-direction:column;
gap:8px;
padding:2px 2px 0 0;
}

.lego-example-copy h2{
font-size:clamp(1.45rem, 2.8vw, 2.15rem);
line-height:.93;
letter-spacing:-.05em;
max-width:10ch;
}

.lego-example-art{
display:flex;
align-items:center;
justify-content:center;
}

.lego-example-copy p:last-child{
opacity:.82;
font-size:.88rem;
}

.lego-example-art img{
width:auto;
max-width:100%;
aspect-ratio:auto;
max-height:min(54vh, 360px);
}

.lego-format-block{
padding:22px;
border-radius:28px;
margin-bottom:18px;
}

.instagram-track{
background:
linear-gradient(135deg, rgba(41, 92, 160, .16), transparent 55%),
rgba(255,255,255,.04);
}

.transit-track{
background:
linear-gradient(135deg, rgba(241, 200, 68, .14), transparent 55%),
rgba(255,255,255,.04);
}

.lego-format-head{
margin-bottom:18px;
}

.lego-format-head h2{
font-size:clamp(2rem, 4vw, 3.2rem);
line-height:.92;
letter-spacing:-.05em;
margin:4px 0 8px;
}

.lego-format-head p:last-child{
max-width:54ch;
opacity:.82;
}

.lego-insta-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:14px;
}

.lego-transit-posters{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
margin-bottom:14px;
}

.lego-transit-example{
display:block;
}

.lego-format-art{
opacity:1;
transform:none;
animation:none;
}

.lego-format-art img{
width:100%;
background:#101114;
border:1px solid rgba(255,255,255,.06);
border-radius:22px;
padding:8px;
box-shadow:0 24px 60px rgba(0,0,0,.22);
object-fit:contain;
}

.lego-insta-grid .lego-format-art img{
max-height:min(68vh, 480px);
}

.lego-transit-posters .lego-format-art img{
max-height:min(72vh, 560px);
}

.lego-train-art img{
max-height:min(74vh, 620px);
}

.lego-nav{
margin-top:22px;
padding:22px 24px;
border-radius:26px;
align-items:center;
}

.lego-nav .next-campaign{
padding:12px 16px;
border-radius:999px;
background:var(--lego-red);
color:#ffffff;
opacity:1;
}

.lego-nav .next-campaign:hover{
background:#ed5d54;
}

.lego-nav .prev-campaign{
opacity:.8;
}

@media(max-width:1100px){
.lego-hero,
.lego-overview,
.lego-example-card{
grid-template-columns:1fr;
}

.lego-card-large{
grid-row:auto;
}

.lego-insta-grid{
grid-template-columns:1fr 1fr;
}
}

@media(max-width:760px){
.lego-shell{
padding-top:16px;
}

.lego-copy,
.lego-hero-art,
.lego-card,
.lego-transition,
.lego-example-card,
.lego-format-block,
.lego-nav{
padding:18px;
}

.lego-title{
font-size:clamp(2.9rem, 16vw, 4.8rem);
}

.lego-insta-grid,
.lego-transit-posters{
grid-template-columns:1fr;
}

.lego-hero-art img{
min-height:220px;
}

.lego-art-note{
left:22px;
right:22px;
bottom:22px;
}

.lego-nav{
flex-direction:column;
gap:14px;
align-items:flex-start;
}
}
