@font-face{font-family:Archivo;src:url('assets/archivo-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--brand-red:#da1a32;--red:var(--brand-red);--ink:#151515;--paper:#fbfbfa;--line:#d4d4d0;--gutter:clamp(1.25rem,3.2vw,4rem);--font:Archivo,'Helvetica Neue',Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:3rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1rem;-webkit-font-smoothing:antialiased}body.menu-open,body.projects-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:6px}p,h1,h2,h3{margin:0}button{color:inherit}::selection{background:var(--red);color:#fff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;background:var(--ink);color:#fff;padding:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}
.header{min-height:96px;margin:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:2rem;position:relative;z-index:40}.wordmark{font-size:2.25rem;letter-spacing:-.085em;font-weight:900;line-height:.86;display:inline-flex;flex-direction:column;align-items:flex-end}.wordmark span{font-size:.6rem;line-height:1.4;letter-spacing:.24em;font-weight:700;padding-top:.5rem}.desktop-nav{display:flex;align-items:center;gap:clamp(2rem,4vw,4.5rem);font-size:.9375rem;font-weight:500}.desktop-nav :is(a,button){position:relative;padding:.7rem 0;border:0;background:none;cursor:pointer}.desktop-nav :is(a,button):after{content:'';position:absolute;height:1px;bottom:3px;left:0;right:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav :is(a,button):hover:after{transform:scaleX(1)}.nav-count{font-size:.75rem;margin-left:.3rem;vertical-align:super}.contact-link span{margin-left:1.1rem;font-size:1.4rem}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}.mobile-menu{position:fixed;inset:0;z-index:35;padding:145px var(--gutter) 2rem;background:var(--red);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between}.mobile-menu nav :is(a,button){display:flex;width:100%;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid #ffffff60;background:none;color:inherit;text-align:left;font-size:clamp(2rem,9vw,4rem);font-weight:600;letter-spacing:-.06em;padding:1.2rem 0;cursor:pointer}.mobile-menu nav :is(a,button) span{font-size:.875rem;letter-spacing:0}.mobile-menu p{line-height:1.5;font-size:.9375rem}
.hero{padding:1.75rem var(--gutter) 2.5rem}.hero-overline{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;font-size:.75rem;letter-spacing:.045em;line-height:1.5;font-weight:500}.hero-overline p:last-child{text-align:right}.hero-overline p:last-child>span:first-child{margin:0 .4rem}.hero h1{font-size:clamp(2.75rem,11.3vw,12rem);font-weight:600;line-height:.96;letter-spacing:-.072em;color:var(--red);padding:2.8rem 0 2rem}.hero h1>span{display:block;white-space:nowrap}.hero h1 strong{font-weight:850}.hero h1>span:last-child{padding-left:12.2%}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding-top:1rem}.hero-bottom>p{font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.42;max-width:25rem;letter-spacing:-.02em}.explore-link{display:inline-flex;align-items:center;gap:1rem;font-size:.9375rem;font-weight:500}.circle-arrow{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid #bbbcb7;border-radius:50%;font-size:1.4rem;transition:background .25s,border-color .25s,transform .25s}.explore-link:hover .circle-arrow{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(4px)}
.work{padding:1rem var(--gutter) 6rem}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 0 1.5rem;border-top:1px solid var(--line)}.section-heading h2{font-size:1.2rem;font-weight:500;letter-spacing:-.03em}.small-label{font-size:.75rem;font-weight:500;line-height:1.5;letter-spacing:.025em}.archive-link{border:0;background:none;padding:.35rem 0;border-bottom:1px solid var(--ink);font-size:.75rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase;cursor:pointer}.archive-link span{margin-left:1.25rem}.project-visual{display:block;position:relative;overflow:hidden;background:#e8e6e1;isolation:isolate}.project-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.25,1)}.project-featured .project-visual{aspect-ratio:1.96}.project-visual:hover img{transform:scale(1.035)}.image-index{position:absolute;left:1.25rem;top:1.25rem;line-height:1;font-size:.75rem;color:#fff;background:#111b;padding:.65rem .8rem;border-radius:2px;backdrop-filter:blur(8px)}.project-open{display:flex;align-items:center;gap:.5rem;position:absolute;right:1.25rem;bottom:1.25rem;border-radius:50%;height:110px;width:110px;background:var(--paper);color:var(--ink);font-size:.875rem;justify-content:center;transform:translateY(130px);transition:transform .35s cubic-bezier(.2,.7,.25,1)}.project-visual:hover .project-open,.project-visual:focus-visible .project-open{transform:translateY(0)}.project-caption{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;padding:1.25rem 0 0}.project-caption h3{font-size:clamp(1.45rem,2.1vw,2rem);font-weight:600;letter-spacing:-.045em}.project-caption p{margin-top:.5rem;font-size:.9375rem;color:#5b5b58;line-height:1.4}.project-discipline{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;font-size:.75rem;font-weight:500;line-height:1.5;letter-spacing:.02em}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:4rem}.project-grid .project-visual{aspect-ratio:1.13}.project-offset{margin-top:8rem}.project-grid .project-caption{flex-wrap:wrap;gap:.8rem}.project-grid .project-caption>.small-label{padding-top:.3rem}
.studio{display:grid;grid-template-columns:1.25fr 1fr;gap:4rem;padding:5.5rem var(--gutter) 6rem;border-top:1px solid var(--line)}.studio-heading h2{font-size:clamp(2.7rem,5.2vw,5.25rem);line-height:1.02;letter-spacing:-.06em;font-weight:600;margin-top:2rem}.studio-heading h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--red)}.studio-copy{padding-top:3.2rem;max-width:32rem;justify-self:end}.studio-copy p{font-size:1.125rem;line-height:1.6;letter-spacing:-.015em;color:#52524f}.studio-copy p:first-child{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.23;letter-spacing:-.04em;font-weight:500;color:var(--ink);margin-bottom:1.75rem}.studio-copy p+p{margin-top:1rem}.underlined-link{display:inline-flex;align-items:center;gap:1.5rem;padding:.8rem 0;border-bottom:1px solid currentColor;font-weight:500;font-size:.9375rem;margin-top:1.8rem}.underlined-link span{font-size:1.35rem;transition:transform .25s}.underlined-link:hover span{transform:translate(3px,-3px)}
.services{display:grid;grid-template-columns:.85fr 1.4fr;gap:5rem;padding:4rem var(--gutter) 7rem}.services-intro h2{font-size:clamp(1.7rem,2.75vw,2.7rem);line-height:1.12;letter-spacing:-.05em;font-weight:600}.services-intro p{font-size:.9375rem;line-height:1.5;color:#5b5b58;margin-top:1.5rem}.service-list{border-top:1px solid var(--ink)}details{border-bottom:1px solid var(--line)}summary{display:grid;grid-template-columns:2rem 1fr 1.5rem;align-items:center;gap:1.2rem;cursor:pointer;list-style:none;padding:1.6rem 0;font-size:clamp(1.05rem,1.6vw,1.5rem);letter-spacing:-.025em;font-weight:500}summary::-webkit-details-marker{display:none}.service-number{font-size:.75rem;letter-spacing:0;font-weight:400}.details-icon{text-align:right;font-size:1.6rem;font-weight:400;transition:transform .2s}details[open] .details-icon{transform:rotate(45deg)}details[open] summary{color:var(--red)}details>p{padding:0 2.7rem 1.6rem 3.2rem;color:#52524f;font-size:1rem;line-height:1.65;max-width:42rem}
.contact{background:var(--red);color:var(--paper);padding:2.5rem var(--gutter) 3rem}.contact-top{display:flex;justify-content:space-between;gap:1.5rem}.contact-main{display:flex;justify-content:space-between;align-items:center;margin:4rem 0 2.5rem}.contact-main h2{font-size:clamp(3rem,10.2vw,10rem);font-weight:600;letter-spacing:-.075em;line-height:.98}.contact-main h2 em{font-style:normal;font-weight:850}.contact-arrow{font-family:Arial,sans-serif;font-size:clamp(4rem,15vw,16rem);line-height:1;display:block;transition:transform .35s;padding:0 1rem 2rem}.contact-main:hover .contact-arrow{transform:translate(8px,-8px)}.contact-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.contact-bottom p{font-size:1rem;line-height:1.4}.contact-bottom a{font-size:clamp(1.05rem,2vw,1.75rem);letter-spacing:-.03em;border-bottom:1px solid #ffffff80;padding-bottom:.45rem}.contact-bottom a span{margin-left:2rem}.footer{padding:2.8rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer .wordmark{font-size:1.8rem}.footer p,.footer>a:last-child{font-size:.875rem}.footer p{color:#5b5b58}
@media(min-width:1700px){.hero,.work,.studio,.services,.contact,.footer{padding-left:max(var(--gutter),calc((100vw - 1560px)/2));padding-right:max(var(--gutter),calc((100vw - 1560px)/2))}.header{margin-left:max(var(--gutter),calc((100vw - 1560px)/2));margin-right:max(var(--gutter),calc((100vw - 1560px)/2))}}
@media(max-width:1000px){.hero h1>span:last-child{padding-left:8%}.project-grid{gap:1.4rem}.project-offset{margin-top:5rem}.studio{gap:2.5rem;grid-template-columns:1fr 1fr}.services{grid-template-columns:.7fr 1.4fr;gap:2.5rem}.project-caption{flex-wrap:wrap}.project-discipline{align-items:flex-start}.hero-bottom>p{font-size:1rem}.section-heading>.small-label{font-size:.75rem}.footer{flex-wrap:wrap}}
@media(max-width:650px){html{scroll-padding-top:1.5rem}.header{min-height:90px}.wordmark{font-size:1.9rem}.desktop-nav{display:none}.menu-toggle{display:flex;gap:1rem;align-items:center;border:0;background:none;padding:.75rem 0;font-size:.9375rem}.menu-toggle>span{font-size:1.5rem;line-height:1;transition:transform .2s}.menu-open .header{color:var(--paper);border-color:#ffffff50}.menu-open .menu-toggle>span{transform:rotate(45deg)}.hero{padding-top:1.5rem;padding-bottom:2.5rem}.hero-overline{font-size:.75rem;gap:1rem}.hero-overline p{max-width:12rem}.hero-overline p:last-child{max-width:9rem}.hero h1{font-size:clamp(2.65rem,12vw,5rem);padding:3rem 0 1.8rem;letter-spacing:-.07em;line-height:1.05}.hero h1>span:last-child{padding-left:0}.hero-bottom{align-items:flex-start;flex-direction:column-reverse;gap:1.8rem;padding-top:.5rem}.hero-bottom>p{font-size:1.0625rem;line-height:1.45;max-width:24rem}.explore-link{font-size:.875rem}.circle-arrow{height:40px;width:40px}.work{padding-top:.5rem;padding-bottom:3.25rem}.section-heading{align-items:flex-start;padding-bottom:1.1rem}.section-heading h2{font-size:1.1rem;white-space:nowrap}.section-heading>.small-label{font-size:.75rem;text-align:right;max-width:9rem}.project-featured .project-visual{aspect-ratio:1.18}.project-caption{padding-top:1rem;gap:.8rem}.project-caption h3{font-size:1.5rem}.project-caption p{font-size:.875rem}.project-discipline{font-size:.75rem;gap:.25rem}.project-grid{display:block;margin-top:2.5rem}.project-grid .project-visual{aspect-ratio:1.06}.project-offset{margin-top:2.5rem}.image-index{top:.75rem;left:.75rem;font-size:.75rem;padding:.5rem .65rem}.project-open{transform:none;height:40px;width:auto;right:.75rem;bottom:.75rem;border-radius:2px;padding:0 .85rem;font-size:.8125rem}.studio{display:block;padding-top:3rem;padding-bottom:2.5rem}.studio-heading h2{font-size:3rem;margin-top:1.5rem}.studio-copy{padding-top:2rem;max-width:none}.studio-copy p{font-size:1rem}.studio-copy p:first-child{font-size:1.4rem;max-width:20rem}.underlined-link{margin-top:1rem}.services{display:block;padding-top:2rem;padding-bottom:3.5rem}.services-intro{display:flex;justify-content:space-between;gap:1.5rem;margin-bottom:2.5rem}.services-intro h2{font-size:1.6rem}.services-intro p{font-size:.875rem;max-width:9rem;margin:0;align-self:flex-end}summary{grid-template-columns:1.3rem 1fr 1rem;gap:.7rem;font-size:1.05rem;padding:1.4rem 0}details>p{padding-left:2rem;padding-right:1rem}.contact{padding-top:1.75rem;padding-bottom:2rem}.contact-top>.small-label{max-width:11rem;font-size:.75rem}.contact-top>.small-label:last-child{text-align:right;max-width:7.5rem}.contact-main{margin:3rem 0 2.5rem}.contact-main h2{font-size:clamp(2.7rem,11.3vw,4.6rem)}.contact-arrow{font-size:4rem;padding:0 0 1rem}.contact-bottom{align-items:flex-start;flex-direction:column;gap:1.5rem}.contact-bottom p{font-size:.9375rem}.contact-bottom a{font-size:1.25rem}.footer{display:grid;grid-template-columns:1fr 1fr;padding-top:2rem;padding-bottom:2rem;gap:1.6rem 1rem}.footer .wordmark{justify-self:start}.footer p:nth-child(2){text-align:right}.footer p,.footer>a:last-child{font-size:.75rem}.footer>a:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.wordmark img{display:block;width:190px;height:auto;filter:brightness(0)}.footer .wordmark img{width:150px}.menu-open .header .wordmark img{filter:none}@media(max-width:650px){.header .wordmark img{width:158px}.project-open{font-size:.875rem}}

/* Project index: Big Boom's visual archive */
.project-index{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--red);color:var(--paper);overflow:hidden;opacity:0;transform:translateY(-2rem);transition:opacity .3s ease,transform .45s cubic-bezier(.16,1,.3,1)}.project-index::backdrop{background:#101010aa;backdrop-filter:blur(5px)}.project-index.is-visible{opacity:1;transform:none}.project-index-shell{min-height:100%;height:100%;padding:0 var(--gutter) 1.5rem;display:grid;grid-template-rows:96px 1fr auto}.project-index-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #ffffff70;font-size:.75rem;letter-spacing:.04em}.project-index-logo{justify-self:start;display:block}.project-index-logo img{display:block;width:190px;height:auto}.project-index-close{justify-self:end;display:flex;align-items:center;gap:1rem;border:0;background:none;color:inherit;padding:.7rem 0;cursor:pointer}.project-index-close b{font-size:2rem;line-height:.6;font-weight:300}.project-index-body{display:grid;grid-template-columns:minmax(18rem,.65fr) minmax(30rem,1.35fr);gap:clamp(2rem,5vw,7rem);min-height:0;padding:clamp(2.25rem,4vw,4.5rem) 0}.project-index-intro{position:relative;display:flex;flex-direction:column;min-height:0}.index-eyebrow{font-size:.75rem;line-height:1.45;letter-spacing:.035em}.project-index-intro h2{font-size:clamp(3.4rem,6vw,7.5rem);line-height:.87;letter-spacing:-.075em;font-weight:590;margin-top:auto;margin-bottom:auto}.project-index-intro h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.impact-mark{width:min(13rem,45%);aspect-ratio:1;align-self:flex-end;border:1px solid #ffffff80;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.45rem;transform:rotate(-11deg);font-size:.55rem;letter-spacing:.1em;line-height:1}.impact-mark b{font-size:2.2rem;font-weight:400}.project-index-list{align-self:center;position:relative;padding-bottom:clamp(10rem,15vw,14rem);border-top:1px solid #ffffff80}.index-project{display:grid;grid-template-columns:2.4rem minmax(12rem,1fr) minmax(11rem,.62fr) 2rem;align-items:center;gap:1rem;border-bottom:1px solid #ffffff80;padding:clamp(1rem,1.7vw,1.6rem) .25rem;color:#ffffffa8;transition:color .25s,padding .25s,background .25s;position:relative;z-index:2}.index-project:before{content:'';position:absolute;inset:0;background:var(--paper);transform:scaleY(0);transform-origin:bottom;z-index:-1;transition:transform .28s cubic-bezier(.2,.7,.25,1)}.index-project:hover,.index-project:focus-visible,.index-project.is-active{color:var(--ink);padding-left:1rem;padding-right:1rem}.index-project:hover:before,.index-project:focus-visible:before,.index-project.is-active:before{transform:scaleY(1)}.index-number,.index-meta{font-size:.7rem;line-height:1.35;text-transform:uppercase;letter-spacing:.035em}.index-title{font-size:clamp(1.5rem,2.4vw,3rem);font-weight:600;letter-spacing:-.055em;line-height:1}.index-arrow{font-size:1.5rem;text-align:right}.index-preview{position:absolute;bottom:0;right:0;width:clamp(11rem,18vw,19rem);height:clamp(8rem,12vw,12rem);overflow:hidden;background:var(--red);z-index:3;transform:rotate(2.25deg);box-shadow:-12px 14px 0 var(--red)}.index-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .25s,transform .55s cubic-bezier(.2,.7,.25,1)}.index-preview img.is-active{opacity:1;transform:scale(1)}.index-preview>span{position:absolute;left:.6rem;bottom:.55rem;background:var(--ink);color:#fff;padding:.35rem .45rem;font-size:.52rem;letter-spacing:.08em}.project-index-foot{display:flex;justify-content:space-between;border-top:1px solid #ffffff70;padding-top:1rem;font-size:.65rem;letter-spacing:.045em}

/* Project detail pages */
.case-page{background:var(--paper)}.case-page .header{background:var(--paper)}.case-main{overflow:hidden}.case-hero{padding:2rem var(--gutter) 3rem}.case-kicker{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;border-top:1px solid var(--line);padding-top:1rem;font-size:.72rem;line-height:1.4;text-transform:uppercase;letter-spacing:.035em}.case-kicker span:nth-child(2){text-align:center}.case-kicker span:last-child{text-align:right}.case-hero h1{font-size:clamp(4.1rem,11.5vw,12rem);font-weight:620;line-height:.84;letter-spacing:-.083em;color:var(--red);padding:clamp(4rem,8vw,8rem) 0 clamp(3.2rem,6vw,6rem)}.case-hero h1 span{display:block}.case-hero h1 span:last-child{text-align:right}.case-lead{display:grid;grid-template-columns:1fr minmax(18rem,38rem);gap:3rem;align-items:end}.case-lead .case-number{font-size:clamp(4rem,8vw,8rem);line-height:.72;color:#d0d0cb;letter-spacing:-.08em;font-weight:600}.case-lead p{font-size:clamp(1.45rem,2.6vw,2.65rem);line-height:1.12;letter-spacing:-.048em;font-weight:500}.case-cover{margin:0 var(--gutter);height:min(75vw,52rem);overflow:hidden;background:#deded8}.case-cover img{width:100%;height:100%;display:block;object-fit:cover}.case-cover.position-top img{object-position:center 30%}.case-cover.brand-cover{background:var(--red);padding:clamp(2rem,8vw,8rem)}.case-cover.brand-cover img{object-fit:contain}.case-story{display:grid;grid-template-columns:minmax(12rem,.65fr) minmax(19rem,1.35fr);gap:clamp(3rem,8vw,11rem);padding:clamp(4rem,8vw,8rem) var(--gutter)}.case-story-label{font-size:.72rem;line-height:1.5;letter-spacing:.035em;text-transform:uppercase}.case-story-copy>p:first-child{font-size:clamp(1.8rem,3.5vw,3.7rem);line-height:1.07;letter-spacing:-.055em;font-weight:520;max-width:48rem}.case-story-copy>p+p{font-size:1.1rem;line-height:1.65;color:#555550;max-width:42rem;margin-top:2rem}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:4rem;border-top:1px solid var(--ink)}.case-fact{padding-top:1rem}.case-fact span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#777772;margin-bottom:.65rem}.case-fact p{font-size:.9rem;line-height:1.45}.case-impact{margin:0 var(--gutter) clamp(4rem,8vw,8rem);background:var(--red);color:#fff;min-height:clamp(25rem,51vw,48rem);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:3rem}.case-impact:before,.case-impact:after{content:'';position:absolute;width:38vw;aspect-ratio:1;border:1px solid #ffffff65;border-radius:50%}.case-impact:before{left:-12vw;top:-17vw}.case-impact:after{right:-11vw;bottom:-20vw}.case-impact p{font-size:clamp(3rem,8.5vw,9rem);line-height:.87;letter-spacing:-.075em;font-weight:610;text-align:center;position:relative;z-index:2}.case-impact p em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.case-detail-image{position:absolute;width:clamp(11rem,22vw,23rem);height:clamp(15rem,31vw,31rem);object-fit:cover;right:6%;top:50%;transform:translateY(-50%) rotate(5deg);box-shadow:-18px 18px 0 var(--red);z-index:1}.case-impact.has-image p{width:78%;text-align:left;margin-right:auto}.case-notes{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:0 var(--gutter) clamp(5rem,9vw,9rem)}.case-note{border-top:1px solid var(--ink);padding-top:1.1rem;display:grid;grid-template-columns:3rem 1fr;gap:1rem}.case-note span{font-size:.7rem}.case-note h2{font-size:clamp(1.35rem,2.2vw,2.2rem);font-weight:550;letter-spacing:-.04em;margin-bottom:1rem}.case-note p{font-size:.98rem;line-height:1.55;color:#555550;max-width:31rem}.next-project{display:grid;grid-template-columns:1fr 1fr;min-height:34rem;background:var(--ink);color:#fff}.next-project-copy{padding:clamp(2rem,5vw,5rem) var(--gutter);display:flex;flex-direction:column;justify-content:space-between}.next-project-copy>span{font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.next-project-copy h2{font-size:clamp(3rem,6vw,7rem);line-height:.9;letter-spacing:-.07em;font-weight:600}.next-project-copy h2 span{display:block}.next-project-copy>p{font-size:.9rem}.next-project-visual{overflow:hidden;position:relative}.next-project-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.25,1)}.next-project:hover .next-project-visual img{transform:scale(1.04)}.next-project-visual>span{position:absolute;right:1.5rem;bottom:1.5rem;width:5rem;aspect-ratio:1;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:1.6rem}.case-page .footer{background:var(--ink);color:#fff;border-top:1px solid #ffffff38}.case-page .footer .wordmark img{filter:none}.case-page .footer p{color:#ffffff9c}

@media(max-width:900px){.project-index-body{grid-template-columns:.5fr 1fr;gap:2rem}.project-index-intro h2{font-size:clamp(3rem,7vw,5rem)}.index-project{grid-template-columns:2rem 1fr 2rem}.index-meta{display:none}.case-story{gap:3rem}.case-impact.has-image p{width:65%}}
@media(max-width:650px){.project-index{overflow:auto}.project-index-shell{min-height:100%;height:auto;grid-template-rows:90px auto auto;padding-bottom:1.25rem}.project-index-top{grid-template-columns:1fr 1fr}.project-index-top>span{display:none}.project-index-logo img{width:158px}.project-index-body{display:block;padding:2.25rem 0 3rem}.project-index-intro{min-height:13.5rem}.project-index-intro h2{font-size:3.7rem;line-height:.88;margin:1.6rem 0 0}.impact-mark{position:absolute;width:6.5rem;right:.2rem;bottom:.3rem;font-size:.44rem}.impact-mark b{font-size:1.35rem}.project-index-list{padding-bottom:9.5rem}.index-project{grid-template-columns:1.6rem 1fr 1.5rem;gap:.5rem;padding:1.15rem .1rem}.index-project:hover,.index-project:focus-visible,.index-project.is-active{padding-left:.6rem;padding-right:.6rem}.index-title{font-size:1.62rem}.index-number{font-size:.62rem}.index-preview{width:10.5rem;height:7.5rem;right:.75rem}.project-index-foot{font-size:.57rem;gap:2rem}.project-index-foot span:last-child{text-align:right}.archive-link{font-size:.67rem}.archive-link span{margin-left:.5rem}.case-hero{padding-top:1.5rem;padding-bottom:2rem}.case-kicker{grid-template-columns:1fr auto}.case-kicker span:nth-child(2){display:none}.case-hero h1{font-size:clamp(3.5rem,18vw,6rem);line-height:.86;padding:4rem 0 3rem}.case-lead{grid-template-columns:1fr;gap:1.8rem}.case-lead .case-number{font-size:3.75rem}.case-lead p{font-size:1.65rem;max-width:22rem}.case-cover{height:116vw}.case-story{display:block;padding-top:3.5rem;padding-bottom:4rem}.case-story-copy{margin-top:2.5rem}.case-story-copy>p:first-child{font-size:2rem}.case-story-copy>p+p{font-size:1rem;margin-top:1.5rem}.case-facts{grid-template-columns:1fr;margin-top:3rem}.case-fact{display:grid;grid-template-columns:5rem 1fr;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.case-fact span{margin:0}.case-impact{margin-bottom:4rem;min-height:29rem;padding:1.5rem}.case-impact p{font-size:3.4rem}.case-impact.has-image{align-items:flex-start}.case-impact.has-image p{width:100%;font-size:3rem;padding-top:1rem}.case-detail-image{width:48%;height:50%;right:8%;top:auto;bottom:7%;transform:rotate(5deg)}.case-notes{grid-template-columns:1fr;padding-bottom:4.5rem}.case-note{grid-template-columns:2rem 1fr}.next-project{grid-template-columns:1fr;min-height:42rem}.next-project-copy{min-height:21rem}.next-project-copy h2{font-size:3.5rem}.next-project-visual{min-height:21rem}}

/* Expanded archive and Bombi */
.hero-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:end}
.hero-bottom>p{justify-self:end}
.bombi-signature{display:flex;align-items:center;gap:.8rem;justify-self:center;transform:rotate(-3deg)}
.bombi-signature img{width:58px;height:58px;object-fit:contain}
.bombi-signature span{font-size:.58rem;line-height:1.35;letter-spacing:.065em;font-weight:650}
.croissant-thumb{object-position:center 18%}
.project-index-body{grid-template-columns:minmax(18rem,.58fr) minmax(31rem,1.42fr);gap:clamp(2rem,5vw,6rem);padding:clamp(1.5rem,3vw,3rem) 0;overflow:hidden}
.project-index-intro{display:grid;grid-template-rows:auto auto 1fr;align-content:start;position:relative;min-height:0}
.project-index-intro h2{font-size:clamp(3.2rem,5.4vw,6.5rem);margin:1.4rem 0 1.8rem}
.project-index-list{align-self:stretch;position:relative;padding:0;border-top:1px solid #ffffff80;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#fff8 transparent}
.project-index-list::-webkit-scrollbar{width:4px}
.project-index-list::-webkit-scrollbar-thumb{background:#fff8}
.index-project{grid-template-columns:2.2rem minmax(11rem,1fr) minmax(10rem,.7fr) 1.7rem;gap:.8rem;padding:.82rem .25rem}
.index-title{font-size:clamp(1.15rem,1.65vw,1.95rem)}
.index-preview{position:relative;bottom:auto;right:auto;width:min(78%,22rem);height:auto;aspect-ratio:1.25;align-self:end;margin-top:auto;overflow:hidden;background:var(--red);z-index:3;transform:rotate(2deg);box-shadow:-10px 12px 0 var(--red)}
.index-bombi{position:absolute;right:2%;bottom:0;width:clamp(4.5rem,7vw,7rem);height:auto;filter:brightness(0) invert(1);z-index:4;transform:rotate(10deg)}
.impact-mark{display:none}
.case-hero h1.title-wide{font-size:clamp(3.4rem,9.2vw,9.5rem)}
.case-cover.portrait-cover{display:grid;place-items:center;padding:clamp(1.5rem,5vw,5rem)}
.case-cover.portrait-cover img{width:auto;max-width:72%;height:100%;object-fit:contain}
.case-cover.croissant-cover{background:#1b1210}
.case-cover.bvr-cover{background:#e6e0d4}
.case-cover.opti-cover{background:#f1f1ef}
.case-cover.h50-cover{background:#b5ba92}
.case-cover.attic-cover{background:#181818}
.case-cover.chocolate-cover{background:#ead7cb}
.case-detail-image.detail-bombi{object-fit:contain;background:#fff;padding:2rem}
@media(max-width:900px){.project-index-body{grid-template-columns:minmax(14rem,.5fr) minmax(25rem,1fr);gap:2rem}.index-project{grid-template-columns:1.8rem 1fr 1.5rem;padding:.82rem .15rem}.index-meta{display:none}}
@media(max-width:650px){.hero-bottom{display:flex}.bombi-signature{align-self:flex-end;margin:-.5rem 0 .2rem}.bombi-signature img{width:50px;height:50px}.project-index-body{display:block;overflow:visible;padding:2rem 0 3rem}.project-index-intro{display:block;min-height:11rem}.project-index-intro h2{font-size:3.45rem;margin:1.4rem 0 0}.project-index-list{overflow:visible;margin-top:1.5rem}.index-preview{display:none}.index-bombi{width:4.3rem;right:.4rem;bottom:.2rem}.index-project{padding:1rem .1rem}.index-title{font-size:1.38rem}.case-hero h1.title-wide{font-size:clamp(2.6rem,12vw,5rem)}.case-cover.portrait-cover{padding:1rem}.case-cover.portrait-cover img{max-width:100%;width:100%}}

/* Big Boom / editorial layer — air, ink, a little mischief. */
:root{--ink:#111}
img{max-width:100%}
.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}
.small-label,.index-eyebrow,.case-story-label,.case-kicker,.case-fact span,.chapter-index,.index-number,.index-meta,.project-index-foot,.index-preview>span{font-size:.75rem}
.index-preview>span{letter-spacing:.04em}
.bombi-signature span{font-size:.75rem;letter-spacing:.02em}
.hero-bottom{grid-template-columns:1fr auto 1.1fr;gap:clamp(1rem,2vw,2rem)}
.bombi-signature{gap:.65rem}
.hero-bottom .explore-link{line-height:1.4}
.studio-editorial{background:var(--ink);color:var(--paper);border:0;padding-top:6rem;padding-bottom:6rem;gap:5rem}
.studio-editorial .studio-heading h2{font-size:clamp(2.9rem,5vw,6rem);line-height:1.04}
.studio-editorial .studio-copy{padding-top:0;position:relative}
.studio-editorial .studio-copy p{color:#bcbcb8;max-width:34rem}
.studio-editorial .studio-copy p:first-of-type{color:var(--paper);font-size:clamp(1.6rem,2.35vw,2.5rem);line-height:1.22;letter-spacing:-.04em;margin:2.2rem 0 1.5rem}
.origin-note{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;font-size:.75rem;line-height:1.5;letter-spacing:.03em}
.origin-note>span:nth-child(2){font-size:1.6rem;color:var(--red)}
.studio-bombi{display:block;width:6.5rem;height:auto;margin:2rem 0 0 auto;filter:grayscale(1) brightness(0) invert(1)}
.studio-editorial .underlined-link{margin-top:2.5rem}
.services{padding-top:5.5rem}

/* Motion is applied to the original Bombi artwork, never a redrawn mascot. */
.bombi-animated{animation:bombi-bob 6s cubic-bezier(.45,0,.55,1) infinite;transform-origin:50% 85%}
@keyframes bombi-bob{0%,55%,100%{transform:translateY(0) rotate(-5deg)}12%{transform:translateY(-7px) rotate(5deg)}25%{transform:translateY(0) rotate(-3deg)}35%{transform:translateY(-3px) rotate(2deg)}45%{transform:translateY(0) rotate(-5deg)}}
.motion-paused .bombi-animated{animation-play-state:paused}
.motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:0;background:none;color:inherit;border-bottom:1px solid #888;padding:.6rem 0;font-size:.875rem;line-height:1.4}
.motion-toggle:before{content:'Ⅱ';font-size:.75rem}
.motion-toggle[aria-pressed=true]:before{content:'▷'}
.motion-toggle:disabled{opacity:.7}
.contact-explode{background:var(--ink);color:var(--paper);padding-top:3rem;border-top:1px solid #ffffff40}
.contact-explode .contact-main{gap:1rem;margin:4rem 0 4.5rem}
.contact-explode .contact-main h2{font-size:clamp(3rem,10.4vw,11rem);letter-spacing:-.07em;line-height:1.08}
.contact-explode h2>span{color:var(--red);display:inline-block;transition:transform .35s}
.contact-explode .contact-main:hover h2>span{transform:rotate(-10deg) translateY(-.03em)}
.contact-explode .contact-arrow{font-size:clamp(3rem,8vw,9rem);padding:0;flex-shrink:0}
.contact-explode .contact-bottom{color:#c7c7c3}
.footer-editorial{background:var(--ink);color:var(--paper);border-top:1px solid #ffffff30;display:grid;grid-template-columns:1fr 1fr auto auto;gap:2rem}
.footer-editorial .wordmark{justify-self:start}
.footer-editorial .wordmark img{filter:none}
.footer-editorial p{color:#bcbcb8}
.footer-editorial .motion-toggle{justify-self:end}

/* A two-coast story. */
.about-page .header{margin:0;padding:0 var(--gutter);background:var(--ink);color:var(--paper);border-color:#ffffff40}
.about-page .header .wordmark img{filter:none}
.about-main{overflow:hidden}
.about-hero{padding:1.8rem var(--gutter) 3.5rem;background:var(--ink);color:var(--paper)}
.about-kicker{display:flex;justify-content:space-between;gap:2rem;font-size:.75rem;line-height:1.5;letter-spacing:.03em}
.about-kicker span:last-child{text-align:right}
.about-hero h1{font-size:clamp(3rem,7.8vw,9rem);line-height:1.02;letter-spacing:-.065em;font-weight:580;margin:4rem 0 2rem}
.about-hero h1 em,.editorial-heading h2 em,.purpose-top h2 em,.about-method h2 em,.about-bombi h2 em,.development-heading h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--red)}
.about-hero-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;align-items:end}
.about-hero-bottom>p{font-size:clamp(1rem,1.7vw,1.5rem);line-height:1.4;letter-spacing:-.02em;padding-bottom:1rem}
.about-hero-bottom>.explore-link{justify-self:end;padding-bottom:1rem}
.about-mascot{width:min(100%,15rem);justify-self:center;text-align:center;transform:rotate(7deg)}
.about-mascot img{width:100%;height:auto;display:block}
.about-mascot span{display:block;font-size:.75rem;letter-spacing:.025em;margin-top:1.1rem;white-space:nowrap}
.about-history,.about-values,.about-method{padding:6rem var(--gutter)}
.editorial-heading{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:start}
.editorial-heading h2,.purpose-top h2,.about-method h2{font-size:clamp(2.6rem,5vw,5.5rem);letter-spacing:-.055em;line-height:1.05;font-weight:550}
.history-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;margin-top:5rem}
.history-stage{border-top:1px solid var(--ink);padding-top:1.2rem}
.chapter-index{display:block;letter-spacing:.04em;color:#555}
.history-stage h3{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.055em;line-height:1.07;font-weight:550;min-height:7.5rem;padding-top:2rem}
.history-stage p{font-size:1rem;line-height:1.65;color:#555;margin-top:1.4rem;max-width:29rem}
.about-purpose{background:var(--red);padding:4rem var(--gutter) 5.5rem;color:#fff}
.purpose-top{display:grid;grid-template-columns:1fr 2fr;gap:2rem}
.purpose-top h2 em{color:#fff}
.purpose-columns{display:grid;grid-template-columns:1fr 1fr;gap:5rem;margin:4.5rem 0 0 33.33%}
.purpose-columns article{border-top:1px solid #ffffff90;padding-top:1.25rem}
.purpose-columns h3{font-size:clamp(1.6rem,2.4vw,2.5rem);letter-spacing:-.045em;line-height:1.08;font-weight:550;margin:1.5rem 0}
.purpose-columns p{font-size:1.0625rem;line-height:1.6;max-width:30rem}
.about-values{display:grid;grid-template-columns:1fr 1.6fr;gap:5rem}
.values-intro h2{font-size:clamp(2.7rem,4.6vw,5rem);line-height:1.05;letter-spacing:-.06em;font-weight:550;margin-top:2rem}
.values-signature{display:flex;align-items:center;gap:1rem;margin:3rem 0;transform:rotate(-8deg);width:fit-content}
.values-signature img{width:6rem;height:auto;filter:brightness(0)}
.values-signature span{font-size:.75rem;line-height:1.5;letter-spacing:.04em}
.values-list article{display:grid;grid-template-columns:2rem 1fr;gap:1.5rem;border-top:1px solid var(--line);padding:1.7rem 0}
.values-list article:first-child{border-color:var(--ink)}
.values-list article>span{font-size:.75rem;padding-top:.4rem;color:var(--red)}
.values-list h3{font-size:clamp(1.4rem,2.25vw,2.3rem);line-height:1.15;letter-spacing:-.04em;font-weight:550}
.values-list p{font-size:1rem;line-height:1.6;color:#555;margin-top:1rem;max-width:37rem}
.about-method{background:#ecece8;border-top:1px solid var(--line)}
.about-method h2{margin-top:2rem}
.about-method ol{padding:0;margin:4rem 0 0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.about-method li{border-top:1px solid var(--ink);padding-top:1.1rem}
.about-method li>span{font-size:.75rem}
.about-method h3{font-size:clamp(1.4rem,2.2vw,2.2rem);line-height:1.1;letter-spacing:-.04em;font-weight:550;margin:1.75rem 0 1.2rem}
.about-method p{font-size:1rem;line-height:1.55;color:#555;max-width:26rem}
.about-bombi{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center;padding:5rem var(--gutter) 6rem;max-width:90rem;margin:auto}
.bombi-portrait{padding:2rem;text-align:center}
.bombi-portrait img{width:min(100%,24rem);height:auto}
.about-bombi h2{font-size:clamp(2.8rem,4.8vw,5rem);line-height:1.05;letter-spacing:-.055em;font-weight:550;margin:1.5rem 0}
.about-bombi p{font-size:1.125rem;line-height:1.6;max-width:29rem;color:#555}
.about-bombi .motion-toggle{margin-top:1.5rem}

/* Case studies: uninterrupted imagery, then the thinking behind it. */
.editorial-case .case-hero h1{line-height:.94;letter-spacing:-.068em;padding-top:4.5rem;padding-bottom:4rem}
.editorial-case .case-cover{height:auto;aspect-ratio:16/9;background:var(--ink)}
.editorial-case .case-cover.portrait-cover{height:min(80vw,55rem);aspect-ratio:auto;padding:3rem}
.editorial-case .case-cover.portrait-cover img{max-width:100%;width:auto;max-height:100%;height:100%;object-fit:contain}
.editorial-case .case-cover.h50-cover{background:#b5ba92}
.editorial-case .case-cover.bvr-cover{background:#e8e8e5}
.editorial-case .case-cover.opti-cover{background:#f1f1ef}
.editorial-case .case-cover.chocolate-cover{background:#ead7cb}
.editorial-case .case-cover.croissant-cover{background:#181818}
.editorial-case .case-cover.brand-cover{padding:4rem;background:#e8e8e5}
.editorial-case .case-cover.brand-cover img{object-fit:contain;max-height:100%}
.case-story-copy>h2{font-size:clamp(1.8rem,3.5vw,3.7rem);line-height:1.1;letter-spacing:-.045em;font-weight:550;max-width:48rem}
.case-story-copy>h2+p{font-size:1.125rem;line-height:1.65;color:#555;max-width:43rem;margin-top:2rem}
.case-fact p{font-size:.9375rem}
.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2rem;padding:0 var(--gutter) 5rem;align-items:start}
.case-gallery figure{margin:0;min-width:0}
.case-gallery figure:nth-child(2n){padding-top:5rem}
.case-gallery figure:only-child{grid-column:1/-1;width:100%;max-width:72rem;justify-self:center}
.case-gallery img{display:block;width:100%;height:auto;max-height:55rem;object-fit:contain;background:#e8e8e5}
.case-gallery figcaption{display:flex;gap:1.4rem;font-size:.875rem;line-height:1.5;padding-top:1rem;color:#555}
.case-gallery figcaption>span{font-size:.75rem;color:var(--red);padding-top:.1rem}
.gallery-bigboom img[src$="bombi.png"]{padding:4rem;max-height:38rem;background:var(--ink)}
.editorial-case .case-cover.identity-cover{background:var(--ink);padding:2rem}
.case-film{margin:0 var(--gutter) 5rem}
.case-film video{display:block;background:var(--ink);width:100%;height:auto;max-height:85vh}
.case-film figcaption{font-size:.875rem;color:#555;margin-top:1rem}
.case-development{display:grid;grid-template-columns:1fr 1.6fr;gap:7rem;padding:5rem var(--gutter) 6rem;border-top:1px solid var(--line)}
.development-heading h2{font-size:clamp(3rem,5.1vw,5.5rem);line-height:1.02;letter-spacing:-.055em;font-weight:550;margin-top:2.5rem}
.concept-annotation{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:1.6rem;line-height:1.2;letter-spacing:-.04em;color:var(--red);transform:rotate(-6deg);margin:3rem 0 0 1rem;max-width:22rem;border-bottom:1px solid var(--red);padding-bottom:1rem;width:fit-content}
.development-copy article+article{margin-top:3rem}
.development-copy article>.small-label{display:block;font-weight:500}
.development-copy article>p{font-size:1.125rem;line-height:1.7;color:#444;max-width:44rem;margin-top:1.3rem}
.process-steps{list-style:none;padding:0;margin:1.6rem 0 0}
.process-steps li{border-top:1px solid var(--line);padding:1.6rem 0;display:grid;grid-template-columns:2.2rem 1fr;gap:1rem}
.step-number{font-size:.75rem;padding-top:.3rem;color:var(--red)}
.process-steps h3{font-size:1.5rem;line-height:1.2;letter-spacing:-.035em;font-weight:550}
.process-steps p{font-size:1.0625rem;line-height:1.65;color:#555;margin-top:1rem;max-width:42rem}
.case-results{margin:0 var(--gutter) 6rem;background:var(--ink);color:#fff;padding:2rem 2.5rem 3rem}
.result-top{display:flex;justify-content:space-between;gap:2rem;border-bottom:1px solid #ffffff40;padding-bottom:1.2rem}
.result-body{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem}
.result-body h2{font-size:clamp(2rem,3.2vw,3.6rem);line-height:1.08;letter-spacing:-.05em;font-weight:550;color:#fff}
.result-body>div>p{font-size:1.0625rem;line-height:1.6;color:#c8c8c4}
.result-evidence{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem}
.result-evidence>div{border-top:1px solid #ffffff40;padding-top:1.2rem;min-width:0}
.result-evidence strong{font-size:clamp(1.3rem,2.35vw,2.5rem);line-height:1.08;letter-spacing:-.04em;font-weight:550;color:var(--red);display:block}
.result-evidence p{font-size:.875rem;line-height:1.5;color:#bbb;margin-top:.8rem}
.editorial-case .next-project{background:#e8e8e4;color:var(--ink);min-height:25rem}
.editorial-case .next-project-copy{gap:2rem}
.editorial-case .next-project-copy h2{font-size:clamp(2rem,4.5vw,5rem);line-height:1.03;letter-spacing:-.055em}
.editorial-case .next-project-visual{min-width:0;min-height:22rem}

/* The native cursor remains robust in dialogs, while selecting and on touch. */
@media (hover:hover) and (pointer:fine){
  html,body,body *{cursor:url('assets/cursor-dot.svg') 12 12,auto}
  a,a *,button,button *,summary,summary *{cursor:url('assets/cursor-link.svg') 18 18,pointer}
  input,textarea,[contenteditable=true]{cursor:text}
  video,video *{cursor:auto}
}
@media(max-width:1000px){
  .hero-bottom{grid-template-columns:1fr 1fr;gap:1.8rem}.hero-bottom .bombi-signature{grid-row:2;grid-column:2;justify-self:end}.hero-bottom>p{grid-column:2;grid-row:1}.hero-bottom>.explore-link{grid-row:1;align-self:end}
  .studio-editorial{gap:3rem}.origin-note{gap:.4rem .7rem}.about-hero-bottom{grid-template-columns:1fr 1fr}.about-hero-bottom>.explore-link{grid-column:1;grid-row:2;justify-self:start}.about-mascot{grid-column:2;grid-row:1/3;justify-self:end}
  .history-stages{gap:2rem}.purpose-columns{margin-left:0;gap:3rem}.about-values,.case-development{gap:3rem}.about-method ol{grid-template-columns:1fr 1fr;gap:3rem}.about-bombi{gap:3rem}.result-body{gap:2rem}
}
@media(min-width:651px) and (max-width:780px){.project-index-body{grid-template-columns:minmax(12rem,.65fr) minmax(0,1fr);gap:1.5rem}.index-title{font-size:1.2rem}.index-project{grid-template-columns:1.5rem minmax(0,1fr) 1.2rem;gap:.6rem}.project-index-intro h2{font-size:3rem}.index-bombi{width:4rem}.index-preview{width:85%}}
@media(max-width:650px){
  .hero-bottom{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.5rem 1rem}.hero-bottom>p{grid-column:1/-1;grid-row:1;justify-self:start}.hero-bottom>.explore-link{grid-row:2;grid-column:1;font-size:.8125rem}.hero-bottom .bombi-signature{grid-row:2;grid-column:2;align-self:center;justify-self:end;margin:0}.bombi-signature span{display:none}.bombi-signature img{width:3.5rem}
  .studio-editorial{padding:3.5rem var(--gutter);display:block}.studio-editorial .studio-heading h2{font-size:2.7rem}.studio-editorial .studio-copy{margin-top:3rem}.studio-editorial .studio-copy p:first-of-type{font-size:1.55rem}.studio-bombi{width:5.5rem}.services{padding-top:3rem}
  .contact-explode{padding-top:2rem}.contact-explode .contact-main{margin:3.25rem 0}.contact-explode .contact-main h2{font-size:clamp(2.2rem,12vw,5.3rem);line-height:1.1}.contact-explode .contact-arrow{display:none}.contact-explode .contact-top>.small-label{font-size:.75rem}
  .footer-editorial{grid-template-columns:1fr 1fr;gap:1.5rem 1rem}.footer-editorial .motion-toggle{font-size:.8125rem;justify-self:start}.footer-editorial>a:last-child{justify-self:end}
  .about-hero{padding-top:1.5rem;padding-bottom:2.5rem}.about-kicker{font-size:.75rem;gap:1.5rem}.about-kicker>span:last-child{max-width:9rem}.about-hero h1{font-size:clamp(2.5rem,9.7vw,4.7rem);margin:3.5rem 0 2.5rem;line-height:1.07;letter-spacing:-.058em}.about-hero-bottom{gap:1.5rem}.about-hero-bottom>p{font-size:1rem;grid-column:1/-1;padding-bottom:0}.about-mascot{grid-column:2;grid-row:2;max-width:8.5rem;justify-self:end}.about-mascot span{font-size:.75rem;white-space:normal}.about-hero-bottom>.explore-link{grid-row:2;align-self:end;font-size:.875rem;gap:.6rem}
  .about-history,.about-values,.about-method{padding:3.5rem var(--gutter)}.editorial-heading,.purpose-top{display:block}.editorial-heading h2,.purpose-top h2,.about-method h2{font-size:2.65rem;margin-top:1.5rem}.history-stages{display:block;margin-top:3rem}.history-stage+.history-stage{margin-top:2.5rem}.history-stage h3{min-height:0;padding-top:1.2rem;font-size:2rem}.history-stage h3 br{display:none}.history-stage p{margin-top:1rem;max-width:none}
  .about-purpose{padding:3rem var(--gutter)}.purpose-columns{display:block;margin-top:3rem}.purpose-columns article+article{margin-top:2.5rem}.purpose-columns h3{font-size:1.8rem;margin-top:1.2rem}.purpose-columns p{font-size:1rem}
  .about-values{display:block}.values-intro h2{font-size:2.8rem}.values-signature{margin:2rem 0 3rem}.values-signature img{width:4.5rem}.values-list article{grid-template-columns:1.25rem 1fr;gap:.75rem;padding:1.5rem 0}.values-list h3{font-size:1.45rem}.about-method ol{grid-template-columns:1fr;gap:2rem;margin-top:3rem}.about-method h3{font-size:1.6rem;margin:1.2rem 0 1rem}.about-method h3 br{display:none}.about-method p{max-width:none}
  .about-bombi{grid-template-columns:1fr;gap:1rem;padding:2rem var(--gutter) 3.5rem}.bombi-portrait{padding:1rem}.bombi-portrait img{width:11rem}.about-bombi h2{font-size:2.8rem}.about-bombi p{font-size:1rem}
  .editorial-case .case-hero h1{padding-top:3rem;padding-bottom:2.5rem}.editorial-case .case-cover{aspect-ratio:1.2}.editorial-case .case-cover.portrait-cover{height:125vw;padding:1.2rem}.editorial-case .case-cover.brand-cover{padding:1.25rem}.case-story-copy>h2{font-size:2rem}.case-story-copy>h2+p{font-size:1rem;margin-top:1.5rem}
  .case-gallery{grid-template-columns:1fr;gap:2rem;padding-bottom:3rem}.case-gallery figure:nth-child(2n){padding-top:0}.case-gallery img{max-height:none}.case-gallery figcaption{gap:1rem;font-size:.8125rem}.gallery-bigboom img[src$="bombi.png"]{padding:2rem}.case-film{margin-bottom:3rem}
  .case-development{display:block;padding:3rem var(--gutter)}.development-heading h2{font-size:3rem;margin-top:1.5rem}.concept-annotation{font-size:1.4rem;margin:2rem 0 3rem 1rem}.development-copy article>p{font-size:1rem;line-height:1.65}.development-copy article+article{margin-top:2.5rem}.process-steps li{grid-template-columns:1.5rem 1fr;gap:.7rem}.process-steps h3{font-size:1.3rem}.process-steps p{font-size:1rem}
  .case-results{padding:1.5rem;margin-bottom:3rem}.result-top{display:block}.result-top>span:last-child{display:none}.result-body{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}.result-body h2{font-size:2.05rem}.result-body>div>p{font-size:1rem}.result-evidence{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}.result-evidence strong{font-size:1.8rem}
  .editorial-case .next-project{min-height:0}.editorial-case .next-project-copy{min-height:18rem;padding:2rem var(--gutter)}.editorial-case .next-project-copy h2{font-size:clamp(2rem,9vw,3.5rem)}.editorial-case .next-project-visual{min-height:0;aspect-ratio:1.4}.editorial-case .next-project-visual img{height:100%}
}
@media(prefers-reduced-motion:reduce){.bombi-animated{animation:none!important;transform:none!important}.contact-explode .contact-main:hover h2>span{transform:none}}
@media(forced-colors:active){.bombi-animated{animation:none}.contact-explode h2>span{color:LinkText}.contact,.about-hero,.studio-editorial{border:1px solid CanvasText}}

/* Big Boom / v5. White space, black type, one unmistakable red gesture. */
:root { --paper:#fff; --ink:#111; --line:#d7d7d7; }

.header { min-height:88px; }
.home-page .header { border-bottom-color:var(--ink); }
.hero-kinetic { padding-top:1.6rem; padding-bottom:3.5rem; }
.hero-stage { position:relative; }
.hero-kinetic h1 {
  color:var(--ink);
  font-size:clamp(3rem,12.1vw,13rem);
  font-weight:450;
  line-height:1;
  letter-spacing:-.075em;
  padding:2.8rem 0 2.8rem;
}
.hero-kinetic h1 > span:last-child { padding-left:9%; }
.hero-kinetic h1 strong { font-weight:880; }
.boom-word { display:inline-flex; color:var(--red); }
.boom-word > span { display:inline-block; transform-origin:50% 85%; }
.hero-kinetic .hero-bottom {
  grid-template-columns:1fr 1fr auto;
  align-items:end;
  gap:2rem;
  padding-top:1.5rem;
}
.hero-kinetic .hero-bottom > p { justify-self:start; font-size:1.0625rem; }
.hero-kinetic .hero-bottom > .motion-toggle { justify-self:end; white-space:nowrap; }

/* The artwork is generated from the user's character, not drawn in CSS.
   A 4×2 sprite sheet supplies the eight poses. The second-row background
   position compensates for the source's 24px baseline shift. Screen blending
   removes the photographed red variation without changing the saved artwork. */
.bombi-player { position:relative; }
.hero-bombi { position:absolute; top:1.15rem; right:3.5%; width:clamp(10rem,15.8vw,17rem); }
.bombi-replay {
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:0;
  aspect-ratio:1;
  border-radius:50%;
  background:var(--red);
  isolation:isolate;
  transform:rotate(8deg);
  transition:transform .3s cubic-bezier(.2,.8,.2,1);
}
.bombi-replay:hover { transform:rotate(-4deg); }
.bombi-replay:focus-visible { outline-color:var(--ink); }
.bombi-sprite {
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:1;
  background-image:url('assets/bombi-motion-sheet.png');
  background-size:400% 200%;
  background-position:0 0;
  background-repeat:no-repeat;
  filter:grayscale(1) contrast(8);
  mix-blend-mode:screen;
  animation:bombi-action 7s steps(1,end) infinite;
  animation-play-state:paused;
  border-radius:50%;
}
.hero-bombi .bombi-sprite { position:absolute; inset:6%; width:88%; height:88%; border-radius:0; }
@keyframes bombi-action {
  0%,7% { background-position:0 0; }
  8% { background-position:33.333333% 0; }
  11% { background-position:66.666667% 0; }
  16% { background-position:100% 0; }
  20% { background-position:0 0; }
  25% { background-position:0 94.59%; }
  30% { background-position:33.333333% 94.59%; }
  35% { background-position:66.666667% 94.59%; }
  40% { background-position:33.333333% 94.59%; }
  45% { background-position:66.666667% 94.59%; }
  50% { background-position:100% 94.59%; }
  55%,100% { background-position:0 0; }
}

/* A short typographic response to Bombi's jump, followed by a long rest. */
.boom-word > span { animation:boom-type 7s cubic-bezier(.2,.7,.2,1) infinite paused; }
.boom-word > span:nth-child(2) { --letter-tilt:-5deg; --letter-lift:-.045em; }
.boom-word > span:nth-child(3) { --letter-tilt:5deg; --letter-lift:-.07em; }
.boom-word > span:nth-child(4) { --letter-tilt:3deg; --letter-lift:-.025em; }
@keyframes boom-type {
  0%,8%,21%,100% { transform:translateY(0) rotate(0); }
  12% { transform:translateY(var(--letter-lift,-.025em)) rotate(var(--letter-tilt,-3deg)); }
  17% { transform:translateY(.012em) rotate(0); }
}
.is-in-view > .bombi-replay .bombi-sprite,
.hero-kinetic.is-in-view .boom-word > span { animation-play-state:running; }
.motion-paused .bombi-sprite,
.motion-paused .boom-word > span,
.is-backgrounded .bombi-sprite,
.is-backgrounded .boom-word > span { animation-play-state:paused !important; }
.motion-toggle { font-size:.875rem; border-bottom-color:currentColor; }
.motion-toggle:before { content:'Ⅱ'; }
.motion-toggle[aria-pressed=true]:before { content:'▷'; }
.motion-toggle:disabled { opacity:.6; }

/* Work reads as a portfolio: wide canvases and quiet captions. */
.home-page .work { padding-top:0; padding-bottom:6.5rem; }
.home-page .section-heading { border-top-color:var(--ink); padding:1.4rem 0 1.8rem; }
.home-page .section-heading h2 { font-size:clamp(1.5rem,2.4vw,2.25rem); font-weight:550; letter-spacing:-.055em; }
.home-page .archive-link { font-size:.875rem; text-transform:none; letter-spacing:0; }
.home-page .project-featured .project-visual { aspect-ratio:1.9; }
.home-page .image-index { background:none; backdrop-filter:none; border-radius:0; text-shadow:0 1px 8px #000; }
.home-page .project-caption { padding-top:1.4rem; }
.home-page .project-caption h3 { font-size:clamp(1.4rem,2vw,1.9rem); font-weight:550; }
.home-page .project-grid { gap:3rem; margin-top:4.5rem; }
.home-page .project-grid .project-visual { aspect-ratio:.94; }
.home-page .project-grid .project-visual img { object-position:center; }
.home-page .project-grid .croissant-thumb { object-position:center 25%; }
.home-page .project-offset { margin-top:0; }
.home-page .studio-bombi { animation:none; }
.studio-editorial { padding-top:6.5rem; padding-bottom:6.5rem; }
.services { padding-bottom:6.5rem; }

/* The full-size animation lives in Bombi's own About passage. */
.about-bombi { gap:clamp(3rem,7vw,8rem); padding-top:6rem; padding-bottom:6rem; }
.bombi-portrait { padding:0; background:var(--red); color:#fff; transform:rotate(-3deg); }
.about-bombi .bombi-replay { border-radius:0; transform:none; background:var(--red); }
.about-bombi .bombi-sprite { border-radius:0; }
.about-bombi .bombi-replay:focus-visible { outline-color:#fff; outline-offset:-8px; }
.bombi-edition { display:block; font-size:.75rem; line-height:1.5; letter-spacing:.025em; text-align:left; padding:0 1.5rem 1.5rem; }
.about-bombi h2 { font-size:clamp(2.6rem,4.25vw,4.5rem); }
.bombi-controls { display:flex; align-items:center; flex-wrap:wrap; gap:1rem 2rem; margin-top:1.5rem; }
.bombi-controls .underlined-link { border-top:0; border-right:0; border-left:0; color:inherit; background:transparent; margin:0; }
.about-bombi .motion-toggle { margin-top:0; }
.about-hero .bombi-animated { animation:none; }
.footer-quiet { grid-template-columns:1fr 1fr auto; }
.footer-quiet > a:last-child { justify-self:end; }

/* Case studies stay still and contain no other project's imagery or teaser. */
.editorial-case .case-hero h1 { color:var(--ink); }
.editorial-case .case-hero h1 > span:last-child { color:var(--red); }
.editorial-case .case-hero { padding-bottom:3.5rem; }
.editorial-case .case-cover { margin:0; }
.editorial-case .case-story { padding-top:6rem; padding-bottom:6rem; }
.editorial-case .case-gallery { gap:3rem; }
.editorial-case .case-gallery figure:nth-child(2n) { padding-top:0; }
.editorial-case .case-results { margin-bottom:4.5rem; }
.editorial-case .contact-explode .contact-main { margin-top:3rem; margin-bottom:3rem; }

@media (min-width:1700px) {
  .hero-kinetic h1 { font-size:13rem; }
  .hero-bombi { width:17rem; }
}
@media (max-width:1000px) {
  .hero-kinetic .hero-bottom { grid-template-columns:1fr 1.15fr; gap:1.5rem 2rem; }
  .hero-kinetic .hero-bottom > p { grid-column:2; grid-row:1; }
  .hero-kinetic .hero-bottom > .motion-toggle { grid-row:2; grid-column:2; justify-self:start; }
  .hero-bombi { right:1%; width:17vw; min-width:8rem; }
  .home-page .project-grid { gap:1.6rem; }
  .about-bombi { gap:3rem; }
}
@media (max-width:650px) {
  .header { min-height:82px; }
  .hero-kinetic { padding-top:1.4rem; padding-bottom:2.4rem; }
  .hero-kinetic h1 { font-size:12.5vw; padding:2.6rem 0 1.8rem; line-height:1.02; }
  .hero-kinetic h1 > span:last-child { padding-left:0; margin-top:2rem; }
  .hero-bombi { width:clamp(5.5rem,24vw,8rem); min-width:0; right:0; top:.9rem; }
  .hero-kinetic .hero-bottom { grid-template-columns:1fr; gap:1.5rem; padding-top:.4rem; }
  .hero-kinetic .hero-bottom > p { grid-column:1; grid-row:1; font-size:1rem; }
  .hero-kinetic .hero-bottom > .explore-link { grid-column:1; grid-row:2; font-size:.875rem; }
  .hero-kinetic .hero-bottom > .motion-toggle { grid-column:1; grid-row:3; justify-self:start; font-size:.8125rem; padding:.4rem 0; }
  .home-page .work { padding-bottom:3.5rem; }
  .home-page .section-heading { padding-top:1.3rem; padding-bottom:1.3rem; align-items:center; }
  .home-page .section-heading h2 { font-size:1.45rem; }
  .home-page .archive-link { font-size:.8125rem; }
  .home-page .project-featured .project-visual { aspect-ratio:1.22; }
  .home-page .project-grid { margin-top:2.8rem; }
  .home-page .project-grid .project-visual { aspect-ratio:1; }
  .home-page .project-offset { margin-top:2.8rem; }
  .home-page .project-caption { padding-top:1rem; }
  .studio-editorial { padding-top:3.5rem; padding-bottom:3.5rem; }
  .services { padding-bottom:3.5rem; }
  .about-bombi { padding-top:3rem; padding-bottom:3.5rem; gap:2.5rem; }
  .bombi-portrait { width:min(100%,22rem); justify-self:center; }
  .about-bombi h2 { font-size:2.7rem; }
  .bombi-edition { padding:0 1rem 1rem; }
  .bombi-controls { gap:1.2rem; }
  .footer-quiet { grid-template-columns:1fr 1fr; }
  .footer-quiet > a:last-child { grid-column:2; }
  .editorial-case .case-hero { padding-bottom:2.5rem; }
  .editorial-case .case-story { padding-top:3.5rem; padding-bottom:3.5rem; }
  .editorial-case .case-gallery { gap:2rem; }
  .editorial-case .case-results { margin-bottom:3rem; }
}
@media (prefers-reduced-motion:reduce) {
  .bombi-sprite,.boom-word > span { animation:none !important; }
  .bombi-replay,.bombi-replay:hover { transform:none; transition:none; }
}
@media (forced-colors:active) {
  .bombi-replay { forced-color-adjust:none; }
}

/* Big Boom — one type system, one motion language, the whole archive. */
:root {
  --ease-boom:cubic-bezier(.22,.68,0,1);
  --type-display:560;
  --type-tracking:-.055em;
}
h1,h2,h3 { text-wrap:balance; }
.studio-heading h2 em,.about-hero h1 em,.editorial-heading h2 em,
.purpose-top h2 em,.about-method h2 em,.about-bombi h2 em,
.development-heading h2 em,.project-index-intro h2 em {
  font-family:var(--font); font-style:normal; font-weight:inherit;
}
.concept-annotation { font-family:var(--font); font-style:normal; transform:none; letter-spacing:-.025em; font-size:1.4rem; border:0; margin-left:0; }
.hero-kinetic h1 { font-weight:480; letter-spacing:-.065em; }
.hero-kinetic h1 strong { font-weight:850; }
.boom-word > span { animation:none !important; transform:none !important; }
.hero-kinetic .hero-bottom { padding-top:.8rem; }
.section-eyebrow { font-size:.8125rem; letter-spacing:.025em; line-height:1.5; font-weight:500; }
.desktop-nav :is(a,button):after { transition:transform .5s var(--ease-boom); }
.project-index { transition:opacity .4s ease,transform .65s var(--ease-boom); }
.index-project { transition:color .4s ease,padding .5s var(--ease-boom),background .4s ease; }
.index-project:before { transition:transform .5s var(--ease-boom); }
.index-preview img { transition:opacity .5s ease,transform .8s var(--ease-boom); }
.index-preview { box-shadow:none; transform:none; }
.project-index-intro h2 { line-height:1.03; letter-spacing:-.05em; }

/* A single horizontal exhibition. Every project is an equal entry point. */
.home-page .work-selector {
  padding:2.2rem 0 3rem;
  margin:0;
  border-top:1px solid var(--ink);
  overflow:hidden;
}
.work-selector-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:2rem;
  padding:0 var(--gutter) 2rem;
}
.work-selector h2 {
  font-size:clamp(2.8rem,5.5vw,5.8rem);
  line-height:1.02;
  font-weight:var(--type-display);
  letter-spacing:var(--type-tracking);
  margin-top:.6rem;
}
.work-selector h2 > span { color:var(--red); font-weight:820; }
.work-selector-nav { display:flex; align-items:center; gap:2rem; padding-bottom:.35rem; }
.work-selector-hint { font-size:.875rem; color:#595959; }
.work-arrows { display:flex; gap:.5rem; }
.work-arrows button {
  width:3.2rem; height:3.2rem; border:1px solid var(--ink); border-radius:50%;
  display:grid; place-items:center; padding:0; background:transparent; color:var(--ink);
  font-size:1.45rem; line-height:1;
  transition:background .35s ease,color .35s ease,border-color .35s ease;
}
.work-arrows button:not(:disabled):hover { color:#fff; background:var(--ink); }
.work-arrows button:disabled { color:#999; border-color:#ddd; }
.work-track {
  --card-width:clamp(16.5rem,28.3vw,27rem);
  --card-gap:clamp(1rem,2vw,2rem);
  display:flex; gap:var(--card-gap);
  overflow-x:auto; overflow-y:hidden;
  padding:1.3rem var(--gutter) 2.2rem;
  scroll-padding-inline:var(--gutter);
  overscroll-behavior-x:contain;
  scrollbar-width:thin; scrollbar-color:var(--red) #e7e7e7;
  -webkit-overflow-scrolling:touch;
}
.work-track:focus-visible { outline:2px solid var(--red); outline-offset:-3px; }
.work-track::-webkit-scrollbar { height:3px; }
.work-track::-webkit-scrollbar-track { background:#e7e7e7; }
.work-track::-webkit-scrollbar-thumb { background:var(--red); }
.work-card { flex:0 0 var(--card-width); min-width:0; }
.work-card-link { display:block; user-select:none; -webkit-user-drag:none; }
.work-card-image {
  position:relative; height:clamp(15rem,24vw,23rem); overflow:hidden;
  background:#eee; isolation:isolate;
  transform:translateY(0); transition:transform .7s var(--ease-boom);
}
.work-card-image img {
  display:block; width:100%; height:100%; object-fit:cover;
  pointer-events:none; -webkit-user-drag:none;
  transition:transform .9s var(--ease-boom);
}
.work-card-link:hover .work-card-image { transform:translateY(-.5rem); }
.work-card-link:hover img { transform:scale(1.035); }
.work-card-link:focus-visible { outline-color:var(--red); outline-offset:4px; }
.work-card-title { display:grid; grid-template-columns:1.7rem minmax(0,1fr) 1rem; gap:.55rem; align-items:start; padding-top:1.1rem; }
.work-card-title h3 { font-size:clamp(1.1rem,1.55vw,1.55rem); font-weight:560; line-height:1.15; letter-spacing:-.035em; }
.work-card-number { font-size:.75rem; line-height:1.6; color:#666; }
.work-card-arrow { font-size:1.1rem; line-height:1.1; }
.work-card-link > p { font-size:.8125rem; line-height:1.5; color:#666; margin:.6rem 1.7rem 0 2.25rem; }
.work-card-open {
  position:absolute; inset:auto 1rem 1rem auto; width:3rem; height:3rem;
  border-radius:50%; background:#fff; color:var(--ink); display:grid; place-items:center;
  font-size:1.4rem; opacity:0; transform:translateY(.6rem);
  transition:opacity .3s ease,transform .5s var(--ease-boom);
}
.work-card-link:hover .work-card-open,.work-card-link:focus-visible .work-card-open { opacity:1; transform:translateY(0); }
.work-selector-foot { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:1.2rem var(--gutter) 0; }
.work-selector-foot > span { font-size:.75rem; line-height:1.5; letter-spacing:.025em; color:#666; }
.work-selector .archive-link { font-size:.875rem; text-transform:none; letter-spacing:0; white-space:nowrap; }
.work-card-link[href*="blackjack"] .work-card-image,
.work-card-link[href*="expediente"] .work-card-image { background:#101010; }
.work-card-link[href*="blackjack"] img,
.work-card-link[href*="expediente"] img { object-fit:contain; }
.work-card-link[href*="croissant"] img { object-position:center 22%; }
.work-card-link[href*="bigboom"] img { object-position:center 35%; }
.work-track.is-dragging .work-card-image,.work-track.is-dragging .work-card-image img { transform:none; transition:none; }
.work-track.is-dragging,.work-track.is-dragging * { user-select:none; }

/* Luminance masks expose only the character, never the atlas rectangle. */
.bombi-player { --bombi-duration:12s; color:var(--ink); }
.bombi-replay { background:transparent; border-radius:0; transform:none; transition:transform .75s var(--ease-boom); }
.bombi-replay:hover { transform:rotate(0); }
.bombi-rig {
  position:absolute; inset:4%; display:block;
  mix-blend-mode:normal; filter:none;
  transform-origin:52% 91%;
  animation:bombi-three-gestures var(--bombi-duration) cubic-bezier(.4,0,.2,1) 1 both paused;
}
.bombi-layer {
  display:block; position:absolute; inset:0;
  background:currentColor;
  mask-image:url('assets/bombi-smooth-atlas.png');
  mask-size:200% 100%; mask-repeat:no-repeat; mask-mode:luminance;
}
.bombi-body { mask-position:0% 50%; }
.bombi-arm {
  mask-position:100% 50%; mix-blend-mode:normal;
  transform-origin:31.5% 54.8%;
  animation:bombi-arm-follow-through var(--bombi-duration) cubic-bezier(.45,0,.25,1) 1 both paused;
}
/* A single scene with three readable beats, separated by resting poses.
 * Animate the original artwork only; the arm follows the body's momentum.
 */
@keyframes bombi-three-gestures {
  /* 1. Friendly wave: weight shifts subtly towards the raised hand. */
  0%,1% { transform:translate(0,0) scale(1) rotate(0); }
  10% { transform:translate(-.4%,-.4%) scale(1,1.006) rotate(-1.4deg); }
  19% { transform:translate(-.4%,0) scale(1) rotate(-.6deg); }
  28%,36% { transform:translate(0,0) scale(1) rotate(0); }
  /* 2. Hop: anticipation, short flight, cushioned landing, settle. */
  40% { transform:translate(0,.5%) scale(1.04,.955) rotate(-2deg); }
  43% { transform:translate(0,0) scale(.975,1.035) rotate(.4deg); animation-timing-function:cubic-bezier(.16,.72,.3,1); }
  46% { transform:translate(0,-9%) scale(.99,1.015) rotate(2.5deg); animation-timing-function:cubic-bezier(.55,0,.85,.35); }
  49% { transform:translate(0,0) scale(1.045,.95) rotate(.4deg); animation-timing-function:cubic-bezier(.22,.7,.25,1); }
  52% { transform:translate(0,-.5%) scale(.995,1.008) rotate(-.5deg); }
  56%,62% { transform:translate(0,0) scale(1) rotate(0); }
  /* 3. Playful bow: lean, hold the gesture, gently recover balance. */
  65% { transform:translate(.7%,0) scale(1) rotate(2deg); }
  71%,75% { transform:translate(-2.5%,.3%) scale(1.015,.96) rotate(-12deg); }
  82% { transform:translate(.3%,0) scale(1) rotate(1.2deg); }
  87% { transform:translate(0,0) scale(1) rotate(-.3deg); }
  92%,100% { transform:translate(0,0) scale(1) rotate(0); }
}
@keyframes bombi-arm-follow-through {
  0%,1% { transform:rotate(0); }
  9% { transform:rotate(14deg); }
  14% { transform:rotate(-11deg); }
  19% { transform:rotate(12deg); }
  24% { transform:rotate(-7deg); }
  29% { transform:rotate(2deg); }
  33%,36% { transform:rotate(0); }
  40% { transform:rotate(8deg); }
  44%,46% { transform:rotate(-14deg); }
  49% { transform:rotate(9deg); }
  53% { transform:rotate(-3deg); }
  57%,62% { transform:rotate(0); }
  66% { transform:rotate(4deg); }
  72%,76% { transform:rotate(24deg); }
  83% { transform:rotate(-4deg); }
  88%,100% { transform:rotate(0); }
}
.bombi-player.is-in-view .bombi-rig,.bombi-player.is-in-view .bombi-arm { animation-play-state:running; }
.motion-paused .bombi-rig,.motion-paused .bombi-arm,
.is-backgrounded .bombi-rig,.is-backgrounded .bombi-arm { animation-play-state:paused !important; }
.about-bombi .bombi-rig { inset:0; }
.about-bombi .bombi-replay { aspect-ratio:1; background:transparent; }
.bombi-portrait { transform:none; background:transparent; padding:0; }
.about-bombi .bombi-replay:focus-visible { outline-color:var(--ink); outline-offset:4px; }

/* Services and editorial passages share the same hierarchy. */
.services { border-top:1px solid var(--line); padding-top:5rem; }
.services-intro { display:block; }
.services-intro h2 { font-size:clamp(2.9rem,5.5vw,5.5rem); line-height:1.02; letter-spacing:var(--type-tracking); font-weight:var(--type-display); margin-top:1rem; }
.services-intro > p { font-size:1.0625rem; line-height:1.5; max-width:22rem; margin-top:2rem; }
.services-intro .services-statement { font-size:1.6rem; line-height:1.15; letter-spacing:-.025em; }
.service-list summary { font-weight:520; transition:color .35s ease; }
.service-list .details-icon { transition:transform .65s var(--ease-boom); }
.contact-explode h2 > span { transition:transform .65s var(--ease-boom); }
.studio-editorial .studio-heading h2 { line-height:1.08; font-weight:var(--type-display); letter-spacing:var(--type-tracking); }
.editorial-case .case-hero h1 { font-weight:600; letter-spacing:-.06em; line-height:1; }
.editorial-case .case-cover.golden-cover { background:#edece8; }
.editorial-case .case-cover.golden-cover img { max-width:min(100%,800px); max-height:800px; }
.editorial-case .case-cover.blackjack-cover { background:#101010; }
.gallery-blackjack { align-items:start; }
.gallery-blackjack img { background:#101010; max-height:none; }
.gallery-golden-ticket figure:first-child { max-width:min(100%,450px); justify-self:center; }
.gallery-golden-ticket figure:nth-child(2) { align-self:center; }
.gallery-golden-ticket img { max-width:800px; }

@media (hover:hover) and (pointer:fine) {
  .work-track,.work-track .work-card-link,.work-track .work-card-link * { cursor:url('assets/cursor-dot.svg') 12 12,grab; }
  .work-track.is-dragging,.work-track.is-dragging * { cursor:grabbing; }
}
@media (max-width:1000px) {
  .work-selector-hint { display:none; }
  .work-track { --card-width:37vw; }
  .work-card-image { height:31vw; }
}
@media (max-width:650px) {
  .home-page .work-selector { padding-top:1.8rem; padding-bottom:2rem; }
  .work-selector-heading { gap:1rem; padding-bottom:1rem; }
  .work-selector h2 { font-size:clamp(2rem,8vw,3rem); }
  .work-selector-heading .section-eyebrow { font-size:.75rem; }
  .work-arrows { gap:.35rem; }
  .work-arrows button { width:2.6rem; height:2.6rem; font-size:1.25rem; }
  .work-track { --card-width:72vw; --card-gap:1rem; padding-top:1rem; padding-bottom:1.7rem; }
  .work-card-image { height:63vw; }
  .work-card-title h3 { font-size:1.2rem; }
  .work-card-open { display:none; }
  .work-selector-foot { align-items:flex-start; padding-top:1rem; gap:1rem; }
  .work-selector-foot > span { max-width:8rem; font-size:.6875rem; }
  .work-selector .archive-link { font-size:.8125rem; }
  .work-selector .archive-link span { margin-left:.5rem; }
  .services { padding-top:3rem; }
  .services-intro { display:block; margin-bottom:2.5rem; }
  .services-intro h2 { font-size:3.5rem; margin-top:.8rem; }
  .services-intro > p { max-width:22rem; margin-top:1.2rem; font-size:1rem; }
  .gallery-golden-ticket figure:first-child { max-width:min(100%,450px); }
  .concept-annotation { font-size:1.3rem; }
}
@media (prefers-reduced-motion:reduce) {
  .bombi-rig,.bombi-arm { animation:none !important; transform:none !important; }
  .bombi-replay,.bombi-replay:hover { transform:none; }
  .work-card-image,.work-card-image img,.work-card-link:hover .work-card-image,.work-card-link:hover img { transform:none; transition:none; }
}

/* A black opening, a white exhibition, and one red invitation to the studio. */
.home-page { background:var(--ink); }
.home-page .header {
  margin:0; padding-inline:var(--gutter); background:var(--ink); color:#fff;
  border-bottom-color:#ffffff30;
}
.home-page .header .wordmark img { filter:none; }
.home-page .hero-kinetic { color:#fff; padding-bottom:4.2rem; }
.home-page .hero-kinetic h1 { color:#fff; padding-top:3.6rem; padding-bottom:3.4rem; }
.home-page .hero-overline { color:#bcbcbc; }
.home-page .hero-bottom > p { color:#d0d0d0; }
.home-page .hero-kinetic .hero-bottom { grid-template-columns:1.15fr 1fr; }
.home-page .hero-bottom .circle-arrow { border-color:#ffffff70; }
.home-page .hero-bombi { width:clamp(9rem,17vw,18rem); right:2.5%; top:.6rem; color:#fff; }
.home-page .hero-bombi .bombi-replay { background:transparent; transform:none; }
.home-page .hero-bombi .bombi-replay:focus-visible { outline-color:#fff; }
.home-page .work-selector { background:#fff; color:var(--ink); border-top-color:transparent; padding-top:3rem; padding-bottom:3rem; }
.home-page .work-selector-heading { padding-top:.6rem; }
.home-page .work-selector h2 { font-size:clamp(2.8rem,5vw,5.2rem); }
.home-page .work-selector .section-eyebrow,
.home-page .work-selector-hint,.home-page .work-card-number,
.home-page .work-card-link > p,.home-page .work-selector-foot > span { color:#606060; }
.home-page .work-arrows button { color:var(--ink); border-color:var(--ink); }
.home-page .work-arrows button:not(:disabled):hover { background:var(--ink); color:#fff; }
.home-page .work-arrows button:disabled { color:#888; border-color:#d7d7d7; }
.home-page .work-track { scrollbar-color:var(--red) #e7e7e7; }
.home-page .work-track::-webkit-scrollbar-track { background:#e7e7e7; }
.home-page .work-track::-webkit-scrollbar-thumb { background:var(--red); }
.home-page .work-selector .archive-link { border-bottom-color:var(--ink); }
.home-page .services { padding-top:4rem; padding-bottom:4.5rem; background:#fff; color:var(--ink); }
.home-page .studio-strip { display:block; padding:0; border:0; background:var(--red); color:#fff; }
.studio-strip-link {
  display:grid; grid-template-columns:minmax(8rem,.45fr) minmax(0,2fr) auto;
  align-items:center; gap:2rem; padding:2.8rem var(--gutter);
}
.studio-strip h2 { font-size:clamp(2rem,3.6vw,3.8rem); line-height:1.1; letter-spacing:-.05em; font-weight:560; }
.studio-strip h2 em { font-style:normal; }
.studio-strip-cta { display:inline-flex; align-items:center; gap:1rem; font-size:.9375rem; white-space:nowrap; }
.studio-strip-cta > span { font-size:2rem; transition:transform .6s var(--ease-boom); }
.studio-strip-link:hover .studio-strip-cta > span { transform:translate(.25rem,-.25rem); }
.studio-strip-link:focus-visible { outline:2px solid #fff; outline-offset:-8px; }
.contact-bottom { flex-wrap:wrap; column-gap:2.5rem; row-gap:1.5rem; }
.contact-bottom .contact-email { font-size:clamp(1.1rem,2vw,1.8rem); overflow-wrap:anywhere; }
.contact-bottom .contact-social { font-size:1.0625rem; }
.contact-bottom .contact-social > span { margin-left:.8rem; }

/* About: identity, origin and three principles. Each idea appears once. */
.about-concise .about-hero { padding-bottom:3.8rem; }
.about-concise .about-kicker { color:#bcbcbc; }
.about-concise .about-hero h1 {
  font-size:clamp(2.7rem,7.1vw,7.5rem); line-height:1.06;
  letter-spacing:-.055em; font-weight:560; margin:3.6rem 0 3.3rem;
}
.about-concise .about-hero-bottom { grid-template-columns:1.15fr 1fr; gap:3rem; align-items:end; }
.about-concise .about-hero-bottom > .small-label { color:#bcbcbc; line-height:1.7; }
.about-concise .about-hero-bottom > p { font-size:1.25rem; line-height:1.5; max-width:34rem; padding:0; }
.about-origin {
  display:grid; grid-template-columns:1.15fr 1fr; gap:3rem; align-items:center;
  padding:4.5rem var(--gutter);
}
.about-origin h2 {
  font-size:clamp(2.4rem,4vw,4.2rem); font-weight:560; letter-spacing:-.05em; line-height:1.07; margin-top:1.4rem;
}
.about-origin > p { font-size:1.125rem; line-height:1.65; color:#4d4d4d; max-width:34rem; }
.about-difference { margin:0 var(--gutter); padding:3rem 0 4.5rem; border-top:1px solid var(--ink); }
.difference-heading h2 { font-size:clamp(2.7rem,4.8vw,5rem); line-height:1.06; letter-spacing:-.05em; font-weight:560; margin-top:1.4rem; }
.difference-heading h2 em { color:var(--red); font-style:normal; }
.difference-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem; margin-top:3.4rem; }
.difference-principles article { border-top:1px solid var(--line); padding-top:1rem; }
.principle-number { color:var(--red); font-size:.875rem; }
.difference-principles h3 { font-size:clamp(1.35rem,2vw,2rem); font-weight:560; line-height:1.2; letter-spacing:-.035em; margin:1.7rem 0 1rem; }
.difference-principles p { font-size:1.0625rem; line-height:1.65; color:#4d4d4d; max-width:29rem; }
.about-concise .about-bombi {
  grid-template-columns:minmax(11rem,.65fr) minmax(0,1fr); gap:clamp(2rem,6vw,6rem);
  max-width:none; padding:3.5rem var(--gutter) 4.5rem; border-top:1px solid var(--line);
}
.about-concise .bombi-portrait { width:100%; max-width:21rem; justify-self:center; }
.about-concise .bombi-edition { display:none; }
.about-concise .about-bombi h2 { font-size:clamp(2rem,3.7vw,4rem); line-height:1.08; }
.about-concise .about-bombi p { font-size:1.0625rem; max-width:31rem; }
.about-concise .bombi-controls { gap:.8rem 1.6rem; }
.about-concise .bombi-controls .underlined-link { font-size:.875rem; }

@media (min-width:1700px) {
  .home-page .header { padding-inline:max(var(--gutter),calc((100vw - 1560px)/2)); }
}
@media (max-width:1000px) {
  .home-page .hero-bombi { width:19vw; min-width:8rem; right:0; }
  .difference-principles { gap:1.8rem; }
  .about-concise .about-hero-bottom > p { font-size:1.125rem; }
  .studio-strip-link { grid-template-columns:1fr auto; gap:1.2rem 2rem; }
  .studio-strip-link > .small-label { grid-column:1/-1; }
}
@media (max-width:650px) {
  .home-page .hero-kinetic { padding-bottom:2.8rem; }
  .home-page .hero-kinetic h1 { padding-top:2.6rem; padding-bottom:2.2rem; }
  .home-page .hero-bombi { width:26vw; min-width:0; right:-.25rem; top:.5rem; }
  .home-page .hero-kinetic .hero-bottom { grid-template-columns:1fr; }
  .home-page .work-selector { padding-top:1.8rem; padding-bottom:2.6rem; }
  .home-page .work-selector h2 { font-size:clamp(2rem,8vw,3rem); }
  .home-page .services { padding-top:3rem; }
  .studio-strip-link { grid-template-columns:1fr; gap:1.3rem; padding-block:2.3rem; }
  .studio-strip-link > .small-label { grid-column:1; }
  .studio-strip h2 { font-size:clamp(2rem,8.3vw,3rem); max-width:19rem; }
  .studio-strip-cta { justify-content:space-between; padding-top:.5rem; }
  .about-concise .about-hero { padding-bottom:2.8rem; }
  .about-concise .about-hero h1 { font-size:clamp(2.3rem,9vw,3.65rem); margin:2.8rem 0 2.4rem; }
  .about-concise .about-hero-bottom { grid-template-columns:1fr; gap:1.4rem; }
  .about-concise .about-hero-bottom > .small-label { grid-row:2; }
  .about-concise .about-hero-bottom > p { font-size:1.0625rem; grid-row:1; }
  .about-origin { grid-template-columns:1fr; gap:1.8rem; padding-block:3.2rem; }
  .about-origin h2 { font-size:2.6rem; }
  .about-origin > p { font-size:1rem; }
  .about-difference { padding-top:2.4rem; padding-bottom:3rem; }
  .difference-heading h2 { font-size:2.6rem; }
  .difference-principles { grid-template-columns:1fr; gap:1.7rem; margin-top:2.2rem; }
  .difference-principles article { display:grid; grid-template-columns:1.5rem minmax(0,1fr); gap:.75rem; padding-top:1.5rem; }
  .principle-number { padding-top:.15rem; }
  .difference-principles h3 { font-size:1.45rem; margin:0; }
  .difference-principles p { grid-column:2; font-size:1rem; max-width:none; }
  .about-concise .about-bombi { grid-template-columns:1fr; padding-block:2.8rem 3.5rem; gap:2.2rem; }
  .about-concise .bombi-portrait { max-width:15rem; justify-self:start; }
  .about-concise .about-bombi h2 { font-size:2.35rem; }
  .about-concise .about-bombi p { font-size:1rem; }
}

/* Shared navigation, contact design and vector arrows. */
html { scroll-padding-top:7rem; }
body .header {
  position:sticky;
  top:0;
  width:100%;
  margin:0;
  padding-inline:var(--gutter);
  background:var(--paper);
  z-index:40;
}
.contact-page .header { background:#111;color:#fff;border-bottom-color:#ffffff30; }
.contact-page .header .wordmark img { filter:none; }
.bb-arrow {
  display:inline-block;
  width:1em;
  height:1em;
  flex:0 0 auto;
  vertical-align:-.12em;
}
.bb-arrow::before {
  content:'';
  display:block;
  width:100%;
  height:100%;
  background:currentColor;
  -webkit-mask-position:center;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-position:center;
  mask-repeat:no-repeat;
  mask-size:contain;
}
.bb-arrow-ne::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M9 5h10v10' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M9 5h10v10' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.bb-arrow-right::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.bb-arrow-left::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 12H4m6-6-6 6 6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 12H4m6-6-6 6 6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.bb-arrow-down::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16m-6-6 6 6 6-6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16m-6-6 6 6 6-6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.index-arrow .bb-arrow,
.work-card-arrow .bb-arrow,
.work-card-open .bb-arrow {
  width:1.05em;
  height:1.05em;
}

@media(max-width:650px) {
  body.menu-open .header {
    position:fixed;
    inset:0 0 auto;
    width:100%;
    min-height:90px;
    margin:0!important;
    padding-inline:var(--gutter)!important;
    background:var(--red)!important;
    color:#fff!important;
    border-bottom-color:#ffffff70!important;
    z-index:50;
  }
  body.menu-open .header .wordmark img { filter:none!important; }
  body.menu-open .menu-toggle {
    appearance:none!important;
    -webkit-appearance:none!important;
    background:transparent!important;
    color:#fff!important;
    border:0!important;
    box-shadow:none!important;
  }
  .mobile-menu {
    inset:0;
    width:100%;
    height:100dvh;
    min-height:100svh;
    padding:calc(90px + 1.5rem) var(--gutter) max(1.5rem,env(safe-area-inset-bottom));
    background:var(--red)!important;
    color:#fff!important;
    z-index:45;
  }
  .mobile-menu[hidden] { display:none!important; }
  .mobile-menu:not([hidden]) { display:flex!important; }
  .mobile-menu nav :is(a,button) {
    appearance:none!important;
    -webkit-appearance:none!important;
    width:100%!important;
    background:transparent!important;
    color:#fff!important;
    border:0!important;
    border-bottom:1px solid #ffffff70!important;
    border-radius:0!important;
    box-shadow:none!important;
    text-transform:none!important;
  }
  .mobile-menu nav :is(a,button):is(:focus,:active,:hover) {
    background:transparent!important;
    color:#fff!important;
  }
  .mobile-menu nav :is(a,button):focus-visible {
    outline:2px solid #fff;
    outline-offset:-3px;
  }
}

.boom-contact {
  padding:clamp(3.5rem,7vw,7rem) var(--gutter);
  background:#fff;
  color:#111;
}
.boom-contact-card {
  width:min(100%,68rem);
  margin:0 auto;
  padding:clamp(2rem,4.2vw,4rem);
  background:#111;
  color:#fff;
}
.boom-contact-intro {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:clamp(2rem,4vw,4rem);
  align-items:end;
}
.boom-contact h2 {
  margin:0;
  color:#fff;
  font-size:clamp(2.5rem,4.8vw,4.5rem);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:550;
}
.boom-contact h2 > span { display:block; }
.boom-contact h2 strong { color:var(--red);font-weight:840; }
.boom-contact-copy { max-width:25rem; }
.boom-contact-copy p { margin:0;color:#c5c5c2;font-size:1rem;line-height:1.6;letter-spacing:-.015em; }
.boom-contact-copy p+p { margin-top:1.25rem;color:#fff; }
.boom-contact-copy strong { font-weight:650; }
.boom-contact-button {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:2.5rem;
  padding:0 0 .65rem;
  border:0;
  border-bottom:1px solid #ffffff50;
  background:transparent;
  color:#fff!important;
  font-size:.78rem;
  font-weight:650;
  line-height:1.3;
  letter-spacing:.055em;
  transition:border-color .45s ease;
}
.boom-contact-button-icon {
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  flex:0 0 auto;
  background:var(--red);
  color:#fff;
}
.boom-contact-button .bb-arrow { width:1.4rem;height:1.4rem;transition:transform .5s cubic-bezier(.22,.68,0,1); }
.boom-contact-button:is(:hover,:focus-visible) { border-bottom-color:#fff; }
.boom-contact-button:is(:hover,:focus-visible) .bb-arrow { transform:translateX(3px); }

/* A real page footer: its black background reaches both viewport edges. */
.boom-footer {
  width:100%;
  margin:0;
  padding:clamp(2.75rem,4.2vw,4rem) var(--gutter);
  background:#111;
  color:#fff;
}
.boom-footer-inner {
  width:min(100%,68rem);
  margin:0 auto;
  padding-inline:clamp(2rem,4.2vw,4rem);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2rem;
  align-items:center;
}
.boom-footer-meta { display:grid;gap:.15rem; }
.boom-footer-meta :is(a,p) {
  display:flex;
  align-items:center;
  gap:.85rem;
  width:fit-content;
  min-height:2.5rem;
  margin:0;
  color:#d0d0cc!important;
  font-size:.9rem;
  line-height:1.4;
}
.boom-footer-meta a { text-underline-offset:.25em; }
.boom-footer-meta a:is(:hover,:focus-visible) { color:#fff!important;text-decoration:underline; }
.boom-footer-meta svg {
  width:1.15rem;
  height:1.15rem;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.boom-footer-meta svg .icon-dot { fill:currentColor;stroke:none; }
.boom-footer-brand { text-align:right; }
.boom-footer-brand a { display:inline-block; }
.boom-footer-brand img { display:block;width:clamp(10rem,17vw,13rem);height:auto; }
.boom-footer-brand p { margin:1rem 0 0;color:#bcbcb8;font-size:.75rem;line-height:1.5;letter-spacing:.015em; }

@media(max-width:700px) {
  .boom-contact { padding:3rem var(--gutter); }
  .boom-contact-card { padding:2.5rem 1.5rem 2rem; }
  .boom-contact-intro { grid-template-columns:1fr;gap:2rem; }
  .boom-contact h2 { font-size:clamp(2rem,8.9vw,3.8rem); }
  .boom-contact-copy { max-width:none; }
  .boom-contact-copy p { max-width:32rem;font-size:1rem; }
  .boom-contact-button { margin-top:2rem; }
  .boom-footer { padding-block:2.5rem; }
  .boom-footer-inner { grid-template-columns:1fr;gap:2.25rem;padding-inline:1.5rem; }
  .boom-footer-meta :is(a,p) { min-height:2.75rem;font-size:.875rem; }
  .boom-footer-brand {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.25rem;
    flex-wrap:wrap;
    padding-top:1.75rem;
    border-top:1px solid #ffffff30;
    text-align:right;
  }
  .boom-footer-brand img { width:9rem; }
  .boom-footer-brand p { margin:0;font-size:.7rem; }
}

.contact-page { background:#fff;color:#111; }
.contact-preview-notice { display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 0;margin:0 0 2.5rem;border-block:1px solid #d7d7d7; }
.contact-preview-notice p { max-width:42rem;margin:0;font-size:1rem;line-height:1.5; }
.contact-preview-notice a { display:inline-flex;align-items:center;gap:.75rem;min-height:44px;flex-shrink:0;font-size:.875rem;font-weight:650;text-decoration:underline;text-underline-offset:.3em; }
@media(max-width:760px) { .contact-preview-notice { align-items:flex-start;flex-direction:column;gap:.75rem; } }
.contact-main { max-width:85rem;margin:0 auto;padding:clamp(3rem,6vw,6rem) var(--gutter) clamp(4rem,8vw,8rem); }
.contact-heading { padding-bottom:clamp(2.5rem,5vw,5rem);border-bottom:1px solid #111; }
.contact-heading .section-eyebrow { color:#666;font-size:.7rem;letter-spacing:.075em; }
.contact-heading h1 { margin:2rem 0 0;color:#111;font-size:clamp(2.7rem,6.7vw,6rem);line-height:1.02;letter-spacing:-.065em;font-weight:550; }
.contact-heading h1 strong { color:var(--red);font-weight:800; }
.contact-conversation { display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2.5rem,6vw,6rem);padding-top:clamp(2.5rem,4.5vw,4rem); }
.contact-aside p { max-width:20rem;font-size:1.05rem;line-height:1.55;letter-spacing:-.015em; }
.contact-aside p:first-child { color:#111;font-size:1.25rem;line-height:1.4; }
.contact-aside p+p { margin-top:1.25rem;color:#656562; }
.contact-aside a { display:inline-flex;align-items:center;gap:.65rem;min-height:44px;margin-top:1.5rem;font-size:.9rem;text-underline-offset:.3em; }
.contact-aside a:hover { text-decoration:underline; }
.boom-form { min-width:0;margin:0; }
.boom-form-row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem; }
.boom-form label { display:block;min-width:0;margin:0 0 2.2rem;font-size:.8rem;font-weight:550;line-height:1.4; }
.boom-form label > span { color:#666;font-weight:400; }
.boom-form :is(input,select,textarea) { display:block;width:100%;min-height:3.25rem;margin:.55rem 0 0;padding:.8rem 0;border:0;border-bottom:1px solid #b6b6b2;border-radius:0;background:transparent;box-shadow:none;color:#111;font:400 1rem/1.5 var(--font); }
.boom-form textarea { resize:vertical;min-height:8rem;max-height:24rem; }
.boom-form :is(input,textarea)::placeholder { color:#747470;opacity:1; }
.boom-form :is(input,select,textarea):focus-visible { outline:2px solid #111;outline-offset:5px;border-bottom-color:#111; }
.boom-form :is(input,select,textarea)[aria-invalid="true"] { border-bottom:2px solid var(--red); }
.boom-form select { padding-right:1.5rem;text-overflow:ellipsis; }
.boom-form-trap { position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.boom-form-send { display:flex;align-items:center;justify-content:space-between;gap:1.5rem; }
.boom-form-send p { max-width:17rem;color:#656562;font-size:.75rem;line-height:1.5; }
.boom-form-submit { display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:3.4rem;padding:.35rem .35rem .35rem 1.1rem;border:1px solid #111;background:#111;color:#fff;cursor:pointer;font:650 .72rem/1.3 var(--font);letter-spacing:.035em; }
.boom-form-submit .boom-contact-button-icon { width:2.7rem;height:2.7rem; }
.boom-form-submit .bb-arrow { width:1.3rem;height:1.3rem;transition:transform .4s ease; }
.boom-form-submit:is(:hover,:focus-visible) .bb-arrow { transform:translateX(3px); }
.boom-form-submit:disabled { opacity:.6;cursor:wait; }
.boom-form-status { margin-top:1.5rem;padding:1rem 0;border-top:1px solid #b6b6b2;color:#111;font-size:.9rem;line-height:1.5; }
.boom-form-status[hidden] { display:none; }
.boom-form-status[data-state="error"] { border-color:var(--red); }
@media(max-width:800px) {
  .contact-conversation { grid-template-columns:1fr; }
  .contact-aside { max-width:32rem; }
  .contact-aside p { max-width:none; }
}

/* One typographic hierarchy; space follows the content, not removed labels. */
.project-index-shell { grid-template-rows:96px minmax(0,1fr); }
.project-index-top { grid-template-columns:1fr auto; }
.index-project { grid-template-columns:minmax(0,1fr) minmax(9rem,.62fr) 1.5rem; }
.index-meta { font-size:.8125rem;letter-spacing:0;text-transform:none; }
.home-page .hero-kinetic { padding-top:0; }
.home-page .hero-kinetic h1 { padding-block:clamp(2.5rem,5vw,5rem); }
.home-page .hero-bottom > p { max-width:33rem;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.5; }
.work-card-title { grid-template-columns:minmax(0,1fr) 1.25rem;gap:1rem; }
.work-card-title h3 { font-size:clamp(1.25rem,1.7vw,1.75rem); }
.home-page .work-card-link > p { padding-left:0;font-size:.875rem;line-height:1.5;margin-top:.5rem; }
.work-selector-foot { justify-content:flex-end;padding-top:1.6rem; }
.archive-link { font-size:1rem; }
.home-page .services { gap:clamp(2.5rem,7vw,7rem);padding-block:clamp(3.5rem,7vw,7rem); }
.home-page .services-intro { display:block; }
.home-page .services-intro h2 { margin:0;font-size:clamp(2.6rem,4.8vw,5rem);line-height:1.05;letter-spacing:-.055em; }
.home-page .services-intro > p { max-width:24rem;margin:1.5rem 0 0;font-size:1.125rem;line-height:1.6; }
.service-list summary { grid-template-columns:minmax(0,1fr) 1.5rem;gap:1rem;padding-block:1.6rem;font-size:clamp(1.2rem,1.8vw,1.8rem);line-height:1.25; }
.service-list details > p { padding-left:0;font-size:1.0625rem; }
.about-concise .about-hero h1 { margin-block:clamp(1.75rem,4.5vw,4.5rem) 2.5rem; }
.about-concise .about-hero-bottom { display:block; }
.about-concise .about-hero-bottom > p { margin-left:auto;max-width:38rem;font-size:clamp(1.15rem,1.6vw,1.5rem); }
.about-origin h2,.difference-heading h2 { margin-top:0; }
.difference-principles article { display:block;padding-top:1.5rem; }
.difference-principles h3 { margin:0 0 1rem; }
.about-concise .about-bombi h2 { margin-top:0; }
.case-kicker { display:block;border-top:0;padding-top:0;font-size:.9375rem;text-transform:none;letter-spacing:0; }
.case-lead { display:block; }
.case-lead > p { max-width:45rem;margin-left:auto;font-size:clamp(1.15rem,2vw,1.75rem);line-height:1.4; }
.case-story { display:block; }
.case-story-copy { max-width:64rem;margin-inline:auto; }
.case-story-copy > h2 { max-width:24ch;text-wrap:balance; }
.case-story-copy > h2+p { max-width:52rem;line-height:1.65; }
.case-fact > span { font-size:.9375rem;letter-spacing:0;text-transform:none; }
.case-gallery figcaption { display:block;font-size:.9375rem;line-height:1.5; }
.case-development { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,7vw,7rem); }
.development-heading h2 { margin:0; }
.case-chapter { margin:0;font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.2;letter-spacing:-.035em;font-weight:600;color:#111; }
.development-copy article > p { margin-top:1rem; }
.process-steps h4 { margin:0;font-size:1.35rem;font-weight:550;line-height:1.25;letter-spacing:-.03em;color:#111; }
.step-number { font-size:.9375rem; }
.case-results { padding:clamp(2rem,4vw,4rem); }
.result-body { margin-top:0;gap:clamp(2rem,5vw,5rem); }
.result-evidence p { font-size:1rem; }
.boom-contact h2,.about-concise h2 { text-wrap:balance; }
.boom-contact-button { font-size:.9rem;letter-spacing:.015em; }
.boom-footer-brand p { font-size:.875rem; }

/* Contact controls have their own layout, including theme resets on mobile. */
.contact-page .contact-main { width:100%;margin:0 auto; }
.contact-heading h1 { margin-top:0;text-wrap:balance; }
.contact-aside a { font-size:1rem;overflow-wrap:anywhere; }
.contact-page .boom-form { display:grid;gap:1.75rem;align-content:start; }
.contact-page .boom-form label { margin:0;font-size:1rem;font-weight:500; }
.contact-page .boom-form :is(input,select,textarea) { box-sizing:border-box;min-width:0;max-width:100%;font-size:16px;line-height:1.5;padding:.85rem .15rem; }
.contact-page .boom-form input[type="hidden"] { display:none; }
.contact-page .boom-form select { appearance:none;-webkit-appearance:none;padding-right:2rem;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 8 5 5 5-5' fill='none' stroke='%23111' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right center/1.25rem; }
.contact-page .boom-form textarea { min-height:10rem; }
.contact-page .boom-form-send { display:flex;flex-direction:column;align-items:stretch;gap:1rem; }
.contact-page .boom-form-send p { order:2;max-width:none;margin:0;font-size:.875rem;line-height:1.5; }
.contact-page .boom-form-submit { width:100%;min-height:3.75rem;margin:0;padding:.4rem .4rem .4rem 1.2rem;border-radius:0;font-size:.9375rem;line-height:1.3;letter-spacing:0;text-align:left; }
.contact-page .boom-form-submit > [data-submit-label] { white-space:nowrap; }
.contact-page .boom-form-status { margin:0;overflow-wrap:anywhere;font-size:1rem; }
@media(max-width:760px) {
  .contact-page .contact-main { padding:2.5rem var(--gutter) 4rem; }
  .contact-heading { padding-bottom:2rem; }
  .contact-heading h1 { font-size:clamp(2.1rem,8.4vw,3.8rem);letter-spacing:-.055em; }
  .contact-conversation { grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-top:2rem; }
  .contact-aside { max-width:none; }
  .contact-aside a { margin-top:.65rem; }
  .contact-page .boom-form-row { grid-template-columns:minmax(0,1fr);gap:1.75rem; }
  .contact-page .boom-form-submit { gap:.75rem; }
}
@media(max-width:650px) {
  .project-index-shell { grid-template-rows:90px minmax(0,1fr); }
  .index-project { grid-template-columns:minmax(0,1fr) 1.5rem; }
  .home-page .services-intro > p { max-width:29rem;font-size:1.0625rem; }
  .home-page .work-card-title h3 { font-size:1.3rem; }
  .about-concise .about-hero-bottom > p { margin-left:0;font-size:1.125rem; }
  .difference-principles article { display:block; }
  .case-development { display:block; }
  .development-heading { margin-bottom:2.5rem; }
  .case-chapter { font-size:1.45rem; }
  .case-results { padding:2rem 1.5rem; }
  .result-body { margin-top:0; }
  .boom-footer-brand p { font-size:.8rem; }
}
@media(max-width:500px) {
  .boom-form-row { grid-template-columns:1fr;gap:0; }
  .boom-form-send { flex-direction:column;align-items:stretch; }
  .boom-form-send p { max-width:none; }
  .boom-form-submit { width:100%; }
}

@media(prefers-reduced-motion:reduce) {
  .boom-form-submit .bb-arrow { transition:none;transform:none!important; }
  .boom-contact-button,
  .boom-contact-button .bb-arrow { transition:none; }
  .boom-contact-button:is(:hover,:focus-visible) .bb-arrow { transform:none; }
}

@media(forced-colors:active) {
  .boom-contact-card,
  .boom-contact-button,
  .boom-contact-button-icon { border:1px solid CanvasText; }
}

/* New cases use the established layout and the supplied brand artwork. */
.editorial-case .case-cover.branx-cover { display:grid;place-items:center;background:#faf7f1;aspect-ratio:16/9; }
.editorial-case .case-cover.branx-cover img { width:min(70%,42rem);height:auto;object-fit:contain; }
.editorial-case .case-cover.svador-cover { background:#edeae3; }
.editorial-case .case-cover.eyewear-cover { background:#f3f2ef; }
.work-card-link[href*="branx"] .work-card-image { background:#faf7f1; }
.work-card-link[href*="branx"] .work-card-image img { object-fit:contain;padding:1.5rem; }
.index-preview img[data-preview-image="branx"] { object-fit:contain;background:#faf7f1; }
.case-development[hidden] { display:none!important; }

/* Big Boom: editorial hierarchy, real places, and a few own graphic signatures. */
.studio-about { --section-space:clamp(4.5rem,9vw,9rem); }
.studio-about :is(h1,h2,h3,p) { margin:0; }
.studio-about h1,.studio-about h2 { letter-spacing:-.065em;line-height:1.01;font-weight:680; }
.studio-about em,.reach-main em { font-family:inherit;font-style:normal;color:var(--red);font-weight:inherit; }
.studio-intro { padding:clamp(3rem,7vw,7rem) var(--gutter) var(--section-space);display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:end; }
.studio-intro h1 { font-size:clamp(4rem,9.6vw,10rem); }
.studio-intro-copy { max-width:32rem;justify-self:end;padding-bottom:.35rem; }
.studio-intro-copy>p { font-size:clamp(1.2rem,1.75vw,1.7rem);line-height:1.45;letter-spacing:-.025em; }
.studio-intro-copy>p+p { margin-top:1.6rem;font-size:1.0625rem;color:#666;line-height:1.55; }
.studio-origins { padding:0 var(--gutter) var(--section-space); }
.studio-origins>h2 { font-size:clamp(3rem,5.2vw,5.5rem);margin-bottom:3rem; }
.studio-places { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,5rem); }
.studio-place-benissa { padding-top:clamp(4rem,11vw,11rem); }
.studio-place figure { margin:0 0 2.5rem; }
.studio-place img { display:block;width:100%;height:auto;aspect-ratio:1.08;object-fit:cover;filter:grayscale(1); }
.studio-place-byron img { object-position:54% center; }
.studio-place-benissa img { aspect-ratio:.88;object-position:center; }
.studio-place figcaption { display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #b8b8b8;padding:1rem 0;font-size:.9375rem;line-height:1.4; }
.studio-place figcaption span+span { color:#666; }
.studio-place h3 { font-size:clamp(1.8rem,3vw,3rem);line-height:1.12;letter-spacing:-.05em;font-weight:600; }
.studio-place>p { max-width:31rem;margin-top:1.1rem;font-size:1.0625rem;line-height:1.6;color:#444; }
.studio-mind { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding:0 var(--gutter) var(--section-space);max-width:112rem;margin-inline:auto; }
.studio-mind h2 { font-size:clamp(2.75rem,4.8vw,5.25rem);line-height:.96; }
.studio-mind .studio-mind-name { margin:1.75rem 0 .75rem;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:650;letter-spacing:-.035em;line-height:1.15; }
.studio-mind-copy>p:last-child { max-width:30rem;font-size:1.0625rem;line-height:1.55;color:#444; }
.studio-mind-portrait { width:min(100%,30rem);margin:0;justify-self:end; }
.studio-mind-portrait img { display:block;width:100%;height:auto;object-fit:contain; }
@media(max-width:750px) {
  .studio-mind { grid-template-columns:minmax(0,1fr);gap:2rem; }
  .studio-mind h2 { font-size:clamp(2.5rem,9.5vw,4.5rem); }
  .studio-mind-portrait { justify-self:center; }
}
.studio-point { display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2.5rem,6vw,7rem);padding:var(--section-space) var(--gutter);background:#111;color:#fff; }
.studio-point h2 { font-size:clamp(2.9rem,5vw,5.4rem); }
.studio-point-copy>p { font-size:clamp(1.25rem,1.8vw,1.75rem);line-height:1.4;letter-spacing:-.025em;max-width:32rem; }
.studio-point article { margin-top:2.5rem;border-top:1px solid #ffffff45;padding-top:1.3rem; }
.studio-point h3 { font-size:1.25rem;line-height:1.3;font-weight:600;letter-spacing:-.02em; }
.studio-point article p { color:#c2c2c2;font-size:1rem;line-height:1.65;margin-top:.75rem;max-width:32rem; }
.creative-wordmark { display:inline-block;margin:4rem 0 0 1rem;padding:1.1rem 1.2rem .9rem;background:var(--red);font-size:clamp(1.8rem,3vw,3rem);font-weight:850;letter-spacing:-.055em;line-height:.92;transform:rotate(-8deg); }
.studio-signoff { padding:var(--section-space) var(--gutter) 2rem; }
.studio-signoff h2 { font-size:clamp(3rem,7.6vw,8rem); }
.studio-signoff p { margin-top:1.75rem;font-size:1.125rem; }
.studio-photo-credits { padding:1.5rem var(--gutter) 0;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.875rem;line-height:1.5;color:#666; }
.studio-photo-credits a { text-decoration:underline;text-underline-offset:.2em; }
.studio-about .boom-contact { padding-top:3rem; }
.index-idea { position:absolute;right:-1%;bottom:-.5rem;width:clamp(5rem,7vw,7.5rem);height:auto;z-index:4;transform:rotate(11deg);pointer-events:none; }
.work-title-group { display:flex;align-items:center;gap:clamp(1rem,3vw,3rem); }
.work-creative-mark { display:block;border:1px solid #111;padding:.5rem .65rem;font-size:clamp(.9rem,1.2vw,1.1rem);font-weight:800;letter-spacing:-.035em;line-height:1.04;transform:rotate(-7deg); }
.editorial-case .case-cover.eyewear-cover { display:grid;place-items:center;background:#111;aspect-ratio:16/9; }
.editorial-case .case-cover.eyewear-cover img { width:min(60%,48rem);height:auto;object-fit:contain; }
.work-card-link[href*="41-eyewear"] .work-card-image,.index-preview img[data-preview-image="41-eyewear"] { background:#111; }
.work-card-link[href*="41-eyewear"] .work-card-image img,.index-preview img[data-preview-image="41-eyewear"] { object-fit:contain;padding:clamp(1rem,3vw,3rem); }
.gallery-41-eyewear img { background:#f6f6f6;object-fit:contain; }
.direct-contact-page { background:#111;color:#fff; }
.direct-contact-page .header { border-bottom-color:#ffffff25; }
.reach-main { padding:clamp(3rem,5.5vw,6rem) var(--gutter) 4rem;max-width:112rem;margin:auto; }
.reach-hero { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:2rem;padding-bottom:clamp(2.5rem,6vw,6rem); }
.reach-copy h1 { color:#fff;font-size:clamp(4.5rem,9.5vw,10rem);font-weight:700;line-height:1.01;letter-spacing:-.065em;margin:0; }
.reach-copy p { max-width:29rem;font-size:clamp(1.125rem,1.7vw,1.5rem);line-height:1.5;letter-spacing:-.02em;margin:2.2rem 0 0;color:#c9c9c9; }
.reach-art { min-width:0;align-self:end; }
.phone-bombi { width:100%;display:block;border:0;padding:0;background:none;cursor:pointer;transform-origin:52% 81%;touch-action:manipulation;mix-blend-mode:lighten; }
.phone-bombi img { display:block;width:100%;height:auto;mix-blend-mode:lighten;filter:brightness(.84);animation:phone-breathe 7s ease-in-out infinite;transform-origin:52% 80%; }
.phone-bombi:focus-visible { outline:2px solid var(--red);outline-offset:6px; }
.reach-channels { border-top:1px solid #ffffff65; }
.reach-email { display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid #ffffff40;padding:2rem 0; }
.reach-email-link { display:block;color:#fff;font-size:clamp(1.5rem,4vw,4.2rem);font-weight:520;letter-spacing:-.055em;line-height:1.2;text-decoration:none;overflow-wrap:anywhere; }
.reach-email-link .bb-arrow { display:inline-block;margin-left:1.3rem;width:.6em;height:.6em;transition:transform .35s ease; }
.reach-email-link:hover .bb-arrow { transform:translate(3px,-3px); }
.copy-email { flex-shrink:0;color:#ccc;background:none;border:1px solid #ffffff50;border-radius:0;padding:.75rem 1rem;font:inherit;font-size:.9375rem;cursor:pointer;min-height:44px; }
.copy-email:hover,.copy-email:focus-visible { color:#fff;border-color:#fff; }
.reach-details { display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding-top:2rem; }
.reach-details a { display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:center;color:#fff; }
.reach-details a>span:first-child { grid-column:1/-1;color:#aaa;font-size:.9375rem; }
.reach-details strong { font-size:clamp(1.1rem,1.9vw,1.7rem);font-weight:500;letter-spacing:-.025em; }
.reach-details .bb-arrow { width:1.1rem;height:1.1rem; }
.direct-contact-page .boom-footer { border-top:1px solid #ffffff25; }
@keyframes phone-breathe { 0%,100%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(1deg) translateY(-1.4%)} }
.is-backgrounded .phone-bombi img { animation-play-state:paused; }
@media(max-width:900px) {
  .studio-intro { grid-template-columns:1fr;gap:2.5rem; }
  .studio-intro-copy { max-width:35rem;justify-self:start; }
  .studio-point { grid-template-columns:1fr; }
  .creative-wordmark { margin-top:2rem; }
  .reach-hero { grid-template-columns:1.2fr 1fr;gap:.25rem; }
  .reach-copy h1 { font-size:clamp(3.8rem,9.5vw,6rem); }
  .reach-copy p { font-size:1.125rem; }
  .reach-email { align-items:flex-start;flex-direction:column; }
}
@media(max-width:600px) {
  .studio-intro { padding-top:3.2rem; }
  .studio-intro h1 { font-size:clamp(3.5rem,16.2vw,6rem); }
  .studio-places { grid-template-columns:1fr;gap:3.5rem; }
  .studio-place-benissa { padding-top:0; }
  .studio-place-benissa img { aspect-ratio:1.05; }
  .studio-place figcaption { font-size:.875rem; }
  .studio-point h2 { font-size:clamp(2.5rem,10.9vw,4rem); }
  .studio-signoff h2 { font-size:clamp(2.6rem,11vw,4rem); }
  .studio-photo-credits { display:block; }
  .studio-photo-credits>a { display:block;margin-bottom:.5rem; }
  .work-creative-mark { font-size:.75rem;padding:.35rem .5rem; }
  .index-idea { right:.1rem;bottom:.3rem;width:4.6rem; }
  .reach-main { padding-top:3rem; }
  .reach-hero { grid-template-columns:1fr;padding-bottom:2rem;gap:0; }
  .reach-copy h1 { font-size:clamp(3.6rem,17vw,6rem); }
  .reach-copy p { margin-top:1.5rem;max-width:25rem; }
  .reach-art { width:min(82%,23rem);justify-self:end;margin-top:.5rem; }
  .reach-email-link { font-size:clamp(1.3rem,6.35vw,2.2rem);letter-spacing:-.045em; }
  .reach-email-link .bb-arrow { margin-left:.6rem; }
  .reach-email { padding:1.5rem 0;gap:1rem; }
  .reach-details { grid-template-columns:1fr;gap:1.6rem; }
  .reach-details a+a { border-top:1px solid #ffffff25;padding-top:1.6rem; }
}
@media(prefers-reduced-motion:reduce) { .phone-bombi img { animation:none; }.reach-email-link .bb-arrow { transition:none; } }

/* A complete service composition: clear hierarchy, graphic presence and useful detail. */
.home-page .services-studio { background:var(--ink);color:#fff;grid-template-columns:minmax(0,.88fr) minmax(0,1.3fr);gap:clamp(2.5rem,7vw,7rem);padding-block:clamp(3.5rem,6vw,6rem); }
.home-page .services-studio .services-intro { display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0; }
.home-page .services-studio .services-intro h2 { color:#fff;font-size:clamp(3rem,5.5vw,5.8rem);letter-spacing:-.06em;font-weight:650; }
.home-page .services-studio .services-intro>p { color:#bdbdbd;font-size:clamp(1.2rem,1.8vw,1.75rem);line-height:1.35;letter-spacing:-.025em;margin:1.5rem 0 0;align-self:auto; }
.services-art { width:clamp(10rem,18vw,18rem);margin:1.6rem 0 -1.1rem 1rem;transform:rotate(-9deg); }
.services-art>img { display:block;width:100%;height:auto; }
.home-page .services-studio .services-art { width:clamp(7rem,12.6vw,12.6rem);margin:1.5rem 0 0 .5rem; }
.services-studio .service-list { border-top:1px solid #ffffff70;align-self:center;min-width:0; }
.services-studio details { border-bottom:1px solid #ffffff42; }
.services-studio summary { grid-template-columns:1.8rem minmax(0,1fr) 2.75rem;gap:1rem;min-height:7rem;font-size:clamp(1.35rem,2.25vw,2.3rem);font-weight:500;line-height:1.15;letter-spacing:-.035em;color:#fff;padding-block:1.5rem; }
.services-studio summary::before { content:attr(data-number);font-size:.875rem;letter-spacing:0;font-weight:500;color:#aaa;align-self:start;margin-top:.25rem; }
.services-studio details[open] summary { color:#fff; }
.services-studio details[open] summary::before { color:var(--red); }
.services-studio .details-icon { display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid #ffffff60;border-radius:50%;font-size:1.6rem;line-height:1;transition:transform .4s cubic-bezier(.22,.68,0,1),background .3s,border-color .3s; }
.services-studio summary:hover .details-icon,.services-studio details[open] .details-icon { background:var(--red);border-color:var(--red); }
.services-studio details>p { color:#bbb;padding:0 3.75rem 2rem 2.8rem;font-size:1.0625rem;line-height:1.6;margin:0;max-width:42rem; }
.services-studio summary:focus-visible { outline:2px solid #fff;outline-offset:5px; }
@media(max-width:760px) {
  .home-page .services-studio { display:block; }
  .home-page .services-studio .services-intro { display:grid;grid-template-columns:minmax(0,1fr) 8rem;column-gap:1.25rem;margin-bottom:2.5rem; }
  .home-page .services-studio .services-intro h2 { grid-column:1;font-size:clamp(2.7rem,8vw,4rem);align-self:end; }
  .home-page .services-studio .services-intro>p { grid-column:1;margin-top:1rem;font-size:1.1rem;align-self:start; }
  .services-art { grid-column:2;grid-row:1/3;width:100%;margin:0;align-self:center; }
  .services-studio summary { min-height:6rem;font-size:clamp(1.35rem,3.9vw,1.8rem);grid-template-columns:1.2rem minmax(0,1fr) 2.5rem;gap:.8rem; }
  .services-studio .details-icon { width:2.5rem;height:2.5rem; }
  .services-studio details>p { padding:0 .2rem 1.7rem 2rem;font-size:1rem; }
}
@media(max-width:380px) {
  .home-page .services-studio .services-intro { grid-template-columns:minmax(0,1fr) 6rem;gap:.75rem; }
  .home-page .services-studio .services-intro h2 { font-size:2.5rem; }
}
@media(prefers-reduced-motion:reduce) { .services-studio .details-icon { transition:none; } }

/* Typeset the packaging with the real site font, over the generated carton. */
.juice-art { display:block;width:100%;height:auto;overflow:visible; }
.juice-type { font-family:var(--font);font-size:185px;font-weight:800;letter-spacing:-8px;fill:#111; }
.index-idea { width:clamp(7rem,10vw,10rem);right:-2%;bottom:-1.2rem;transform:rotate(10deg); }
.home-page .services-studio .services-art { width:clamp(12rem,19vw,19rem);margin-top:1.4rem; }

/* Each complete limb stays mounted throughout the sequence. */
.phone-bombi-layered { width:90%;margin-inline:auto;mix-blend-mode:normal;overflow:visible;transform:none; }
.phone-scene { display:block;width:100%;height:auto;overflow:visible; }
.phone-part { transform-box:view-box; }
.phone-part-body { transform-origin:300px 620px;animation:phone-listen 7.8s cubic-bezier(.45,0,.25,1) infinite; }
.phone-part-hand { transform-origin:435px 372px;animation:phone-hand 7.8s cubic-bezier(.45,0,.25,1) infinite; }
.phone-part-foot { transform-origin:347px 489px;animation:phone-foot 8.6s cubic-bezier(.33,0,.2,1) infinite; }
.phone-part-base { transform-origin:660px 639px;animation:phone-ring 10.2s ease-in-out infinite; }
.phone-bombi-layered.is-reacting .phone-part { animation:none; }
.is-backgrounded .phone-part { animation-play-state:paused; }
@keyframes phone-listen { 0%,18%,100%{transform:rotate(0)}34%,46%{transform:rotate(-1deg)}65%,76%{transform:rotate(.6deg)} }
@keyframes phone-hand { 0%,18%,100%{transform:rotate(0)}32%,47%{transform:rotate(-2deg)}64%,76%{transform:rotate(1deg)} }
@keyframes phone-foot { 0%,30%,64%,100%{transform:rotate(0)}38%,53%{transform:rotate(-5deg)}45%,60%{transform:rotate(0)} }
@keyframes phone-ring { 0%,72%,88%,100%{transform:rotate(0)}76%,82%{transform:rotate(-.8deg)}79%,85%{transform:rotate(.8deg)} }
@media(max-width:760px) { .home-page .services-studio .services-art { width:100%;margin:0; } }
@media(max-width:650px) { .index-idea { width:6.5rem;right:-.25rem;bottom:0; } }
@media(prefers-reduced-motion:reduce) { .phone-part { animation:none!important;transform:none!important; } }

/* One rhythm for the whole site, from the largest title to the case-study copy. */
:root {
  --brand-red:#da1a32;
  --red:var(--brand-red);
  --display-leading:.92;
  --heading-leading:1.02;
  --space-section:clamp(2.75rem,5.5vw,5.5rem);
  --space-copy:clamp(1rem,1.65vw,1.6rem);
}
.home-page .hero-kinetic h1,
.editorial-case .case-hero h1,
.studio-about h1,.studio-about h2,
.reach-copy h1,.project-index-intro h2,
.home-page .work-selector h2,
.home-page .services-studio .services-intro h2,
.development-heading h2 { line-height:var(--display-leading); }
.case-story-copy>h2,.result-body h2,.studio-place h3,
.studio-point h3,.case-chapter,.process-steps h4,
.work-card-title h3 { line-height:var(--heading-leading); }
.home-page .hero-kinetic h1 { padding-block:clamp(2rem,3.6vw,3.6rem); }
.home-page .work-selector { padding-block:var(--space-section); }
.home-page .work-selector h2 { margin:0; }
.home-page .work-selector-heading { padding-top:0;padding-bottom:clamp(1.5rem,2.5vw,2.5rem); }
.home-page .services-studio { padding-block:var(--space-section); }
.home-page .services-studio .services-intro>p { margin-top:var(--space-copy); }
.services-studio summary { line-height:1.08;min-height:6.2rem;padding-block:1.3rem; }
.services-studio details>p { padding-bottom:1.5rem; }
.studio-about { --section-space:var(--space-section); }
.studio-intro { padding-top:clamp(2.75rem,5vw,5rem);gap:2rem; }
.studio-intro-copy>p+p,.studio-place>p { margin-top:var(--space-copy); }
.studio-origins>h2 { margin-bottom:clamp(1.5rem,2.75vw,2.75rem); }
.studio-place-benissa { padding-top:clamp(2.5rem,6vw,6rem); }
.studio-place figure { margin-bottom:1.75rem; }
.studio-point article { margin-top:1.8rem;padding-top:1.15rem; }
.studio-point article p { margin-top:.65rem; }
.studio-signoff p { margin-top:var(--space-copy); }
.reach-main { padding-top:clamp(2.75rem,5vw,5rem);padding-bottom:var(--space-section); }
.reach-hero { padding-bottom:clamp(2rem,3.5vw,3.5rem); }
.reach-copy p { margin-top:var(--space-copy); }
.editorial-case .case-hero { padding-top:1.5rem;padding-bottom:2rem; }
.editorial-case .case-hero h1 { padding-block:clamp(2rem,3.8vw,3.8rem); }
.case-story { padding-block:var(--space-section); }
.case-story-copy { margin-top:0; }
.case-story-copy>h2+p { margin-top:var(--space-copy); }
.case-gallery { padding-bottom:var(--space-section);gap:clamp(1.5rem,2.5vw,2.5rem); }
.case-gallery figure:nth-child(2n) { padding-top:clamp(2rem,3vw,3rem); }
.case-development { padding-block:var(--space-section); }
.development-copy article+article { margin-top:2rem; }
.case-results { margin-bottom:0;padding:clamp(1.5rem,3vw,3rem); }
.case-chapter { margin-bottom:1rem; }

/* A small typeset signature: two connected, offset labels. */
.work-title-group { gap:clamp(.75rem,2.3vw,2.3rem);min-width:0; }
.work-title-group h2 { min-width:0; }
.work-creative-mark {
  position:relative;display:grid;flex:0 0 auto;width:clamp(5rem,8vw,8rem);
  margin:0 .4rem 0 0;padding:0;border:0;background:transparent;
  color:var(--ink);font-family:var(--font);font-weight:850;font-size:clamp(.78rem,1.2vw,1.2rem);
  letter-spacing:-.045em;line-height:.94;transform:rotate(-7deg);
}
.work-creative-mark span { display:block;padding:.45em .65em;border:2px solid var(--ink);background:#fff; }
.work-creative-mark span+span { margin-top:-2px;margin-left:.5em;margin-right:-.5em;background:var(--red);color:#fff;transform:rotate(7deg); }

/* The closing message is one lifted label, attached to the full-width footer. */
.boom-contact,.studio-about .boom-contact {
  padding:var(--space-section) var(--gutter) 0;
  background:linear-gradient(to bottom,#fff 0%,#fff 62%,var(--ink) 62%,var(--ink) 100%);
}
.home-page .boom-contact { background:var(--ink);padding-top:0; }
.boom-contact-card {
  --peel:clamp(2.5rem,5vw,5rem);
  position:relative;isolation:isolate;width:min(100%,78rem);margin:0 auto;
  padding:clamp(1.5rem,4.3vw,4rem) clamp(1.5rem,4.3vw,4rem) calc(clamp(1.5rem,4.3vw,4rem) + .5rem);
  background:var(--red);color:#fff;
  border-radius:1.1rem 1.1rem 0 1.1rem;
  clip-path:polygon(0 0,100% 0,100% calc(100% - var(--peel)),calc(100% - var(--peel)) 100%,0 100%);
}
.boom-contact-card::after {
  content:'';position:absolute;right:0;bottom:0;width:var(--peel);height:var(--peel);
  background:linear-gradient(135deg,#fff 0%,#fafafa 42%,#cacaca 49%,#f5f5f5 52%,#fff 100%);
  border-top-left-radius:1.3rem;box-shadow:-.35rem -.35rem 1rem #0003;
  transform-origin:100% 100%;transition:width .55s cubic-bezier(.22,.68,0,1),height .55s cubic-bezier(.22,.68,0,1);
  pointer-events:none;
}

.boom-contact-intro { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.5rem,5vw,5rem);align-items:center; }
.boom-contact h2 { font-size:clamp(2.25rem,5.1vw,5rem);font-weight:700;line-height:.91;letter-spacing:-.055em; }
.boom-contact h2 strong { color:var(--ink);font-weight:850; }
.boom-contact-copy { max-width:27rem; }
.boom-contact-copy p { color:#fff;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.45; }
.boom-contact-copy p+p { margin-top:1.1rem; }
.boom-contact-button { margin-top:1.6rem;padding:.6rem .65rem .6rem 1rem;border:0;background:var(--ink);color:#fff!important;min-height:3.5rem;font-size:.9375rem;letter-spacing:0; }
.boom-contact-button-icon { width:2.1rem;height:2.1rem;background:transparent; }
.boom-contact-button:focus-visible { outline:2px solid #fff;outline-offset:4px; }
.boom-footer { padding-top:clamp(2rem,3vw,3rem); }
.boom-footer-inner { width:min(100%,78rem);padding-inline:clamp(1.5rem,4.3vw,4rem); }

/* The same complete sneaker is rigged twice; red ink becomes black. */
.phone-part-foot { transform-origin:440px 468px; }
@media(max-width:900px) {
  .studio-intro { gap:1.75rem; }
}
@media(max-width:650px) {
  .studio-place-benissa { padding-top:0; }
  .studio-places { gap:2.75rem; }
  .studio-intro h1 { font-size:clamp(3.35rem,15.4vw,6rem); }
  .reach-copy h1 { font-size:clamp(3.5rem,16vw,6rem); }
  .case-gallery figure:nth-child(2n) { padding-top:0; }
  .development-copy { margin-top:1.75rem; }
  .boom-contact-intro { grid-template-columns:1fr;gap:1.5rem; }
  .boom-contact h2 { font-size:clamp(2.25rem,10.5vw,4rem); }
  .boom-contact-copy p { max-width:28rem; }
  .boom-contact-card { padding-bottom:calc(var(--peel) + .9rem);border-radius:.75rem .75rem 0 .75rem; }
  .work-title-group { gap:.7rem; }
  .work-creative-mark { width:4.5rem;font-size:.75rem; }
}
@media(prefers-reduced-motion:reduce) { .boom-contact-card::after { transition:none; } }
@media(forced-colors:active) { .boom-contact-card { clip-path:none;border:1px solid CanvasText; }.boom-contact-card::after { display:none; } }

/* The two illustrated marks share hand-inked contours; the site keeps Archivo. */
.creating-sign-wrap { width:clamp(10rem,20vw,21rem);margin:2rem 0 0 1.25rem;transform:rotate(-9deg); }
.creating-sign { display:block;width:100%;height:auto;overflow:visible; }
.brand-red-ink { flood-color:var(--red); }
.home-page .services-studio .services-art { width:clamp(9.9rem,14.4vw,14.4rem);margin:1.1rem 0 -.5rem 1rem;transform:rotate(-7deg); }
.index-idea { width:clamp(6rem,8.5vw,9rem);bottom:-.3rem;right:-1%; }
@media(max-width:760px) {
  .home-page .services-studio .services-art { width:90%;margin:0; }
  .creating-sign-wrap { width:12rem;margin-top:1.5rem; }
}
@media(max-width:650px) { .index-idea { width:5.8rem;right:0;bottom:0; } }

/* Every original keeps its full frame, including later WordPress replacements. */
.editorial-case .case-cover img,
.editorial-case .case-gallery img { object-fit:contain;object-position:center;transform:none; }
.editorial-case .case-gallery img { height:auto;max-height:none; }
.editorial-case .case-film video { object-fit:contain; }
.work-card-link[href*="blackjack"] .work-card-image { background:#111; }
.work-card-link[href*="blackjack"] .work-card-image img { object-fit:contain;transform:none; }
.index-preview img[data-preview-image="blackjack"] { object-fit:contain;transform:none;background:#111; }

/* Black Jack: the name and its figure, then the complete identity in use. */
.blackjack-page .case-main { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.blackjack-page .case-main>section { grid-column:1/-1;min-width:0; }
.blackjack-page .case-main>.case-hero { grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;padding-block:2rem; }
.blackjack-page .case-hero h1 { font-size:clamp(4rem,9vw,9.5rem);padding-block:2rem; }
.blackjack-page .case-hero h1 span:last-child { text-align:left; }
.blackjack-page .case-lead { display:block; }
.blackjack-page .case-lead p { max-width:25rem;font-size:clamp(1.1rem,1.6vw,1.5rem);line-height:1.4; }
.blackjack-page .case-cover.blackjack-cover { grid-column:2;grid-row:1;height:clamp(32rem,57vw,52rem);padding:clamp(1.25rem,3vw,3rem);margin:0;background:#111; }
.blackjack-page .case-cover.blackjack-cover img { display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain; }
.blackjack-page .case-gallery { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,1.5vw,1.5rem);padding-inline:var(--gutter);align-items:start; }
.blackjack-page .case-gallery>figure { grid-column:span 2;padding-top:0!important;min-width:0; }
.blackjack-page .case-gallery img { display:block;width:100%;height:auto;max-height:none;object-fit:contain; }
.blackjack-page .case-gallery figure:has(img[src*="blackjack-art-"]) img { background:#111; }
.blackjack-page .case-gallery figure:has(img[src*="blackjack-hand-"]) { grid-column:span 1;background:#111;padding:1rem .5rem;align-self:stretch;display:grid;place-items:center; }
.blackjack-page .case-gallery figure:has(img[src*="blackjack-hand-"]) img { height:clamp(11rem,24vw,24rem);object-fit:contain;background:transparent; }
.blackjack-page .case-gallery figure:has(img[src*="blackjack-product-"]) img,
.blackjack-page .case-gallery figure:has(img[src*="blackjack-campaign-"]) img,
.blackjack-page .case-gallery figure:has(img[src*="blackjack-packaging"]) img { background:#111; }
.blackjack-page .case-gallery figcaption { padding-block:.8rem .5rem;font-size:.9375rem; }
.blackjack-page .case-gallery>.bbsw-gallery-text,
.blackjack-page .case-gallery>.bbsw-media-wide { grid-column:1/-1; }
@media(max-width:750px) {
  .blackjack-page .case-main { display:block; }
  .blackjack-page .case-main>.case-hero { padding-top:2rem;padding-bottom:2rem; }
  .blackjack-page .case-hero h1 { font-size:clamp(4.5rem,18vw,7rem);padding-block:1.5rem; }
  .blackjack-page .case-cover.blackjack-cover { height:clamp(31rem,130vw,43rem);padding:1.5rem; }
}
@media(max-width:600px) {
  .blackjack-page .case-gallery { grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem; }
  .blackjack-page .case-gallery>figure { grid-column:1/-1; }
  .blackjack-page .case-gallery figure:has(img[src*="blackjack-hand-"]) { grid-column:span 1; }
  .blackjack-page .case-gallery figure:has(img[src*="blackjack-hand-"]) img { height:12rem; }
}

/* Actual Big Boom typography and logo are typeset over the illustration bases. */
.bigboom-pack-type,.bigboom-sign-type { font-family:var(--font); }
.brand-red-type { fill:var(--red); }
.creating-sign-wrap { width:clamp(10.8rem,20.7vw,20.7rem);margin-top:3.5rem;transform:rotate(-7deg); }
@media(max-width:760px) { .creating-sign-wrap { width:12.6rem;margin-top:2.75rem; } }

/* The fold travels with its shadow. Motion is driven by one brief frame loop. */
.boom-contact-card {
  --peel-base:clamp(2rem,4vw,4rem);
  --peel-progress:0;
  --peel:calc(var(--peel-base) + var(--peel-progress) * 2.5rem);
  transform:perspective(1400px) translateY(calc(var(--peel-progress) * -5px)) rotate(calc(var(--peel-progress) * -.22deg));
  transform-origin:15% 10%;
  filter:drop-shadow(0 calc(4px + var(--peel-progress) * 10px) calc(6px + var(--peel-progress) * 9px) #0003);
}
.boom-contact-card::after {
  width:var(--peel);height:var(--peel);transition:none;
  background:linear-gradient(135deg,#fefefe 0%,#fff 26%,#e6e6e6 43%,#b6b6b6 49%,#f2f2f2 55%,#fff 75%);
  border-top-left-radius:calc(.8rem + var(--peel-progress) * 1.1rem);
  box-shadow:calc(-.2rem - var(--peel-progress) * .35rem) calc(-.2rem - var(--peel-progress) * .35rem) calc(.65rem + var(--peel-progress) * .6rem) #0005;
}
@media(max-width:650px) {
  .boom-contact-card { padding-bottom:calc(var(--peel-base) + 2rem); }
}
@media(prefers-reduced-motion:reduce) {
  .boom-contact-card { --peel-progress:0!important;transform:none;filter:none; }
}
@media(forced-colors:active) { .boom-contact-card { transform:none;filter:none; } }

/* A shared motion rhythm: quick to respond, soft at the beginning and end. */
:root { --ease-boom:cubic-bezier(.22,1,.36,1);--ease-flow:cubic-bezier(.45,0,.25,1); }
.mobile-menu { opacity:0;transform:translateY(-.65rem);transition:opacity .42s ease,transform .55s var(--ease-boom); }
.mobile-menu.is-visible { opacity:1;transform:none; }
.is-backgrounded .phone-part { animation-play-state:paused!important; }
.project-index { transition:opacity .4s ease,transform .65s var(--ease-boom); }
.index-preview img { transition:opacity .55s ease,transform .9s var(--ease-boom); }
.details-icon,.reach-email-link .bb-arrow { transition-timing-function:var(--ease-boom); }
.phone-part,.bombi-rig,.bombi-arm { animation-timing-function:var(--ease-flow); }
.phone-bombi-layered:not(.is-phone-visible) .phone-part { animation-play-state:paused; }
.studio-intro h1 { font-size:clamp(3.2rem,7.5vw,7.5rem);line-height:.96;letter-spacing:-.06em; }
.studio-origins>h2 { font-size:clamp(2.5rem,4.8vw,4.75rem);line-height:.98; }
.studio-place-byron img { object-position:center 55%; }
.juice-art-supplied { transform-origin:50% 82%; }
.services-art:hover .juice-art-supplied { transform:rotate(3deg) translateY(-3px); }
.services-art .juice-art-supplied { transition:transform 1s var(--ease-boom); }

/* Black Jack is a compact exhibition, with the original frames intact. */
.blackjack-page .case-main>.case-hero { padding-block:1.25rem; }
.blackjack-page .case-hero h1 { font-size:clamp(4rem,8vw,8rem);padding-block:1.25rem; }
.blackjack-page .case-cover.blackjack-cover { height:clamp(24rem,36vw,34rem);padding:1.25rem; }
.blackjack-page .case-gallery { width:min(100%,80rem);margin-inline:auto;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(.6rem,1.2vw,1.25rem); }
.blackjack-page .case-gallery>figure { grid-column:span 6; }
.blackjack-page .case-gallery .blackjack-cards img { height:clamp(20rem,37vw,29rem);object-fit:contain; }
.blackjack-page .case-gallery figure:has(img[src*="blackjack-hand-"]) { grid-column:span 3;padding:.75rem; }
.blackjack-page .case-gallery figure:has(img[src*="blackjack-hand-"]) img { height:clamp(10rem,18vw,15rem); }
.blackjack-page .case-gallery .blackjack-photo { grid-column:span 2; }
.blackjack-page .case-gallery .blackjack-photo img { height:auto;object-fit:contain;background:transparent; }
.blackjack-page .case-gallery .blackjack-photo figcaption { font-size:.875rem;line-height:1.4; }
@media(max-width:900px) { .blackjack-page .case-gallery .blackjack-photo { grid-column:span 4; } }
@media(max-width:650px) {
  .studio-intro h1 { font-size:clamp(2.8rem,12.8vw,5.2rem); }
  .blackjack-page .case-cover.blackjack-cover { height:27rem; }
  .blackjack-page .case-gallery .blackjack-cards img { height:clamp(15rem,58vw,22rem); }
  .blackjack-page .case-gallery figure:has(img[src*="blackjack-hand-"]) { grid-column:span 6; }
  .blackjack-page .case-gallery figure:has(img[src*="blackjack-hand-"]) img { height:10rem; }
  .blackjack-page .case-gallery .blackjack-photo { grid-column:span 6; }
}

/* The same white-to-black join continues behind the sticker on the home page. */
.boom-contact { overflow:clip; }
.home-page .boom-contact {
  padding-top:var(--space-section);
  background:linear-gradient(to bottom,#fff 0%,#fff 62%,var(--ink) 62%,var(--ink) 100%);
}
.boom-peel-stage { --lift-away:0;position:relative;isolation:isolate;display:grid;width:min(100%,78rem);margin-inline:auto;perspective:1400px; }
.boom-peel-stage>.boom-contact-card,.boom-peel-stage>.boom-reveal { grid-area:1/1;min-width:0; }
.boom-peel-stage>.boom-contact-card {
  --peel-base:clamp(3.5rem,5vw,4.5rem);
  z-index:2;align-self:stretch;margin:0;width:100%;
  padding-bottom:max(5rem,calc(var(--peel-base) + 2rem));
  opacity:calc(1 - var(--lift-away) * 1.15);
  transform:translate3d(calc(var(--lift-away) * -12%),calc(var(--lift-away) * -20% - var(--peel-progress) * 2px),0) rotate(calc(var(--lift-away) * -10deg)) rotateX(calc(var(--lift-away) * 28deg));
  transform-origin:12% 10%;
}
.boom-peel-stage[data-peel-state="detached"]>.boom-contact-card { visibility:hidden;pointer-events:none; }
.boom-contact-intro>* { min-width:0; }
.boom-peel-stage[data-peel-state="dragging"] { user-select:none; }
.boom-peel-handle,.boom-peel-label { display:none; }
.peel-ready .boom-contact-card::after { display:none; }
.peel-ready .boom-peel-handle {
  display:grid;position:absolute;right:0;bottom:0;z-index:3;
  width:var(--peel);height:var(--peel);min-width:44px;min-height:44px;
  padding:0;border:0;appearance:none;color:#111;
  background:linear-gradient(135deg,#fff 0%,#fff 25%,#ededed 42%,#b6b6b6 49%,#fafafa 58%,#fff 78%);
  border-radius:calc(.7rem + var(--peel-progress) * .6rem) 0 0 0;
  box-shadow:-.3rem -.3rem 1.2rem #0004;
  touch-action:none;cursor:grab;
}
.peel-ready .boom-peel-handle svg { position:absolute;left:22%;top:22%;width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.peel-ready .boom-peel-handle:focus-visible { outline:2px solid #111;outline-offset:-6px; }
.peel-ready .boom-peel-label { display:block;position:absolute;right:calc(var(--peel) + 1rem);bottom:1.35rem;font-size:.875rem;line-height:1;color:#fff;opacity:calc(1 - var(--lift-away) * 3);pointer-events:none; }
.boom-reveal {
  visibility:hidden;opacity:calc(var(--lift-away) * 1.4);pointer-events:none;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:center;
  padding:clamp(1.4rem,3vw,2.75rem) clamp(1.5rem,4.3vw,4rem);
  border-radius:1rem;background:#111;color:#fff;
}
.boom-peel-stage[data-peel-state]:not([data-peel-state="attached"]) .boom-reveal { visibility:visible; }
.boom-peel-stage[data-peel-state="detached"] .boom-reveal { pointer-events:auto; }
.boom-reveal-copy { position:relative;z-index:1; }
.boom-reveal-copy h3 { font:700 clamp(2.2rem,4vw,4.25rem)/.98 var(--font);letter-spacing:-.055em; }
.boom-reveal-copy h3 em { font-style:normal;color:var(--red); }
.boom-reveal-copy p { max-width:23rem;margin-top:1.2rem;font-size:1.0625rem;line-height:1.5;color:#ccc; }
.boom-sticker-restore { display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:44px;margin-top:1.35rem;padding:.6rem 0;border:0;border-bottom:1px solid #ffffff70;background:none;color:#fff;font-size:1rem;cursor:pointer; }
.boom-sticker-restore .bb-arrow { width:1.1rem;height:1.1rem;transition:transform .6s var(--ease-boom); }
.boom-sticker-restore:hover .bb-arrow { transform:translateX(4px); }
.boom-reveal-art { width:min(100%,26rem);justify-self:center;transform:translateY(calc((1 - var(--lift-away)) * 18px)); }
.shower-art,.caution-art { display:block;width:100%;height:auto; }
.boom-caution { width:clamp(3.25rem,5.7vw,5.5rem);margin-bottom:1rem;transform:rotate(-7deg); }
@media(max-width:650px) {
  .boom-reveal { gap:.5rem;padding:1.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .boom-reveal-copy h3 { font-size:clamp(1.65rem,6.3vw,2.5rem); }
  .boom-reveal-copy p { font-size:1rem; }
  .boom-sticker-restore { gap:.75rem;font-size:1rem; }
  .boom-reveal-art { width:calc(100% + 1rem);max-width:none; }
  .boom-caution { width:3.25rem; }
  .peel-ready .boom-peel-label { bottom:1.1rem; }
}

/* Popover places the follower over the project dialog without intercepting input. */
.smooth-cursor {
  position:fixed!important;inset:0 auto auto 0!important;margin:0!important;padding:0!important;
  width:14px;height:14px;min-width:0;max-width:none;border:0;background:none;
  overflow:visible;pointer-events:none!important;z-index:2147483647;opacity:0;contain:layout style;
}
.smooth-cursor::backdrop { background:transparent;pointer-events:none; }
.smooth-cursor::before { content:'';display:block;width:100%;height:100%;border-radius:50%;background:#111;border:1px solid #ffffffb3;box-sizing:border-box;transform:scale(1);transition:transform .35s var(--ease-boom); }
.smooth-cursor[data-visible="true"] { opacity:1; }
.smooth-cursor[data-interactive="true"]::before { transform:scale(1.75); }
.smooth-cursor[data-pressed="true"]::before { transform:scale(.85); }
@media(hover:hover) and (pointer:fine) {
  html.has-smooth-cursor,html.has-smooth-cursor body,html.has-smooth-cursor body * { cursor:none!important; }
}
@media(prefers-reduced-motion:reduce) {
  .smooth-cursor { display:none; }
  .boom-peel-stage>.boom-contact-card { transform:none;filter:none; }
  .services-art:hover .juice-art-supplied { transform:none; }
}
@media(forced-colors:active) {
  .boom-reveal { background:Canvas;color:CanvasText;border:1px solid CanvasText; }
  .boom-peel-handle { background:ButtonFace!important;color:ButtonText!important; }
}

/* The closing sticker is half the former desktop width, with its own layout.
   Keep the two layers on one grid so peeling never changes the page height. */
.boom-contact .boom-peel-stage { width:min(50%,39rem); }
.boom-contact .boom-peel-stage>.boom-contact-card { padding:clamp(1.75rem,3vw,3rem);padding-bottom:5.25rem; }
.boom-contact .boom-contact-intro { grid-template-columns:1fr;gap:1.5rem;align-items:start; }
.boom-contact .boom-contact-intro h2 { font-size:clamp(2.4rem,3.25vw,3.6rem);line-height:.99;letter-spacing:-.05em; }
.boom-contact .boom-contact-copy { max-width:none; }
.boom-contact .boom-contact-copy p { max-width:29rem;font-size:1rem;line-height:1.5; }
.boom-contact .boom-contact-copy p+p { margin-top:.8rem; }
.boom-contact .boom-contact-button { margin-top:1.25rem; }
.boom-contact .boom-reveal { padding:2rem;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.boom-contact .boom-reveal-copy h3 { font-size:clamp(1.75rem,2.5vw,2.8rem);line-height:1.04; }
.boom-contact .boom-reveal-copy p { font-size:1rem; }
.boom-contact .boom-reveal-art { width:100%;max-width:17rem; }
.boom-contact .boom-sticker-restore { gap:.75rem;font-size:.9375rem; }
@media(max-width:900px) {
  .boom-contact .boom-peel-stage { width:min(100%,39rem); }
  .boom-contact .boom-contact-intro h2 { font-size:clamp(2.25rem,7vw,3.6rem); }
}
@media(max-width:480px) {
  .boom-contact .boom-peel-stage>.boom-contact-card { padding:1.5rem 1.25rem 5rem; }
  .boom-contact .boom-contact-intro h2 { font-size:clamp(2rem,8.6vw,2.7rem); }
  .boom-contact .boom-reveal { padding:1.4rem 1.25rem;gap:.5rem; }
  .boom-contact .boom-reveal-copy h3 { font-size:1.8rem; }
}

/* The shower reacts in separate layers; it rests when hidden or off screen. */
.boom-contact .boom-reveal { gap:1.25rem 1rem;align-content:center; }
.boom-contact .boom-reveal-heading { grid-column:1/-1;font:700 clamp(1.8rem,3.4vw,2.8rem)/1.05 var(--font);letter-spacing:-.045em;margin:0; }
.boom-reveal-heading span,.boom-reveal-heading em { display:block; }
.boom-reveal-heading em { font-size:.63em;font-style:normal;line-height:1.2;letter-spacing:-.025em;color:var(--red);margin-top:.35em; }
.boom-contact .boom-reveal-copy p:first-child { margin-top:0; }
.boom-contact .boom-reveal-copy p+p { margin-top:.9rem; }
.boom-contact .boom-reveal-art { width:108%;max-width:18.36rem; }
.shower-replay { display:block;appearance:none;border:0;padding:0;margin:0;background:transparent;cursor:pointer;touch-action:manipulation;line-height:0; }
.shower-replay:focus-visible { outline:2px solid #fff;outline-offset:5px;border-radius:.5rem; }
.shower-art { overflow:visible; }
.shower-art g { transform-box:view-box; }
.boom-peel-stage { --shower-play:paused;--shower-startle:shower-startle-a;--shower-wave:shower-wave-a; }
.boom-peel-stage[data-shower-take="b"] { --shower-startle:shower-startle-b;--shower-wave:shower-wave-b; }
.boom-peel-stage[data-peel-state="detached"][data-shower-visible="true"][data-shower-paused="false"] { --shower-play:running; }
.shower-body-reaction { transform-origin:50% 94%;animation:var(--shower-startle) 1.35s cubic-bezier(.2,.65,.25,1) both; }
.shower-body-idle { transform-origin:50% 94%;animation:shower-breathe 4.6s ease-in-out infinite; }
.shower-arm { transform-origin:35% 61%;animation:var(--shower-wave) 6s cubic-bezier(.35,0,.25,1) infinite; }
.shower-fixture { transform-origin:82% 15%;animation:shower-fixture-sway 5.7s ease-in-out infinite; }
.shower-water { animation:shower-water-fall 1.8s linear infinite; }
.shower-water-two { animation-delay:-.9s; }
.shower-body-reaction,.shower-body-idle,.shower-arm,.shower-fixture,.shower-water { animation-play-state:var(--shower-play); }
@keyframes shower-startle-a { 0%{transform:translateY(0) scale(1)} 18%{transform:translateY(10px) scale(1.06,.92)} 42%{transform:translateY(-72px) rotate(-6deg) scale(.97,1.045)} 67%{transform:translateY(5px) rotate(2deg) scale(1.035,.96)} 84%{transform:translateY(-8px) rotate(-.8deg)} 100%{transform:none} }
@keyframes shower-startle-b { 0%{transform:translateY(0) scale(1)} 18%{transform:translateY(8px) scale(1.06,.92)} 42%{transform:translateY(-62px) rotate(5deg) scale(.97,1.04)} 67%{transform:translateY(5px) rotate(-2deg) scale(1.035,.96)} 84%{transform:translateY(-8px) rotate(.8deg)} 100%{transform:none} }
@keyframes shower-wave-a { 0%,45%,100%{transform:rotate(0)} 7%{transform:rotate(-16deg)} 14%{transform:rotate(13deg)} 22%{transform:rotate(-12deg)} 30%{transform:rotate(7deg)} 38%{transform:rotate(-3deg)} 70%{transform:rotate(3deg)} }
@keyframes shower-wave-b { 0%,45%,100%{transform:rotate(0)} 7%{transform:rotate(-16deg)} 14%{transform:rotate(13deg)} 22%{transform:rotate(-12deg)} 30%{transform:rotate(7deg)} 38%{transform:rotate(-3deg)} 70%{transform:rotate(3deg)} }
@keyframes shower-breathe { 0%,100%{transform:translateY(0) rotate(-.4deg)} 50%{transform:translateY(-5px) rotate(.6deg)} }
@keyframes shower-fixture-sway { 0%,100%{transform:rotate(-.6deg)} 50%{transform:rotate(.7deg)} }
@keyframes shower-water-fall { 0%{transform:translate(-5px,-12px);opacity:0} 18%{opacity:1} 72%{opacity:.85} 100%{transform:translate(-30px,75px);opacity:0} }
@media(prefers-reduced-motion:reduce) {
 .shower-body-reaction,.shower-body-idle,.shower-arm,.shower-fixture,.shower-water { animation:none;transform:none; }
 .shower-water-two { display:none; }
}

/* Touch keeps the same peel interaction without repainting a growing clipped
   surface and blurred shadow. Geometry stays fixed during the short flight. */
@media(hover:none),(pointer:coarse) {
  .boom-peel-stage>.boom-contact-card {
    --peel:var(--peel-base);
    filter:none;
  }
  .peel-ready .boom-peel-handle {
    border-top-left-radius:.7rem;
    transform-origin:100% 100%;
  }
  .boom-peel-stage:is([data-peel-state="removing"],[data-peel-state="restoring"],[data-peel-state="dragging"])>.boom-contact-card,
  .boom-peel-stage:is([data-peel-state="removing"],[data-peel-state="restoring"],[data-peel-state="dragging"])>.boom-reveal {
    will-change:transform,opacity;
  }
  .project-index::backdrop { backdrop-filter:none; }
}
.bombi-player,.phone-bombi-layered,.shower-replay { contain:layout style; }
.smooth-cursor[data-visible="true"] { will-change:transform; }

/* One photographic scale: Arnau's 30rem portrait, shared by the entire portfolio. */
:root { --project-image-width:30rem;--project-image-ratio:4/5;--project-gallery-gap:clamp(1.25rem,2.2vw,2.5rem); }

/* A contained opening: the title and one complete image share the first row. */
body.editorial-case:not([data-bbsw-layout="custom"]) .case-main {
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--project-gallery-gap);
  padding-top:clamp(1.5rem,3vw,3rem);width:100%;margin:0;overflow:clip;
}
body.editorial-case:not([data-bbsw-layout="custom"]) .case-main > section { grid-column:1/-1;min-width:0; }
body.editorial-case:not([data-bbsw-layout="custom"]) .case-main > .case-hero {
  grid-column:1/span 6;grid-row:1;display:flex;flex-direction:column;justify-content:center;
  align-self:center;padding:2rem 0 2rem var(--gutter);min-width:0;
}
body.editorial-case:not([data-bbsw-layout="custom"]) .case-hero h1 {
  font-size:clamp(2.8rem,5.4vw,6.2rem);line-height:1.01;letter-spacing:-.055em;
  margin:1.75rem 0;padding:0;overflow-wrap:anywhere;max-width:100%;
}
body.editorial-case:not([data-bbsw-layout="custom"]) .case-hero h1 span { text-align:left; }
body.editorial-case:not([data-bbsw-layout="custom"]) .case-kicker { display:block;margin:0;max-width:30rem; }
body.editorial-case:not([data-bbsw-layout="custom"]) .case-lead { display:block;margin:0; }
body.editorial-case:not([data-bbsw-layout="custom"]) .case-lead p { max-width:30rem;font-size:clamp(1.0625rem,1.5vw,1.4rem);line-height:1.5; }
body.editorial-case:not([data-bbsw-layout="custom"]) .case-main > .case-cover {
  grid-column:7/-1;grid-row:1;justify-self:center;align-self:center;display:block;
  width:min(var(--project-image-width),calc(100% - var(--gutter)));height:auto;min-height:0;
  aspect-ratio:var(--project-image-ratio);margin:0;padding:0;overflow:hidden;
}
body.editorial-case:not([data-bbsw-layout="custom"]) .case-cover > img {
  display:block;width:100%;height:100%;max-width:100%;max-height:none;min-height:0;
  aspect-ratio:var(--project-image-ratio);object-fit:contain;object-position:center;
  margin:0;padding:0;transform:none;
}
body.editorial-case:not([data-bbsw-layout="custom"]) .case-main:not(:has(> .case-cover)) > .case-hero { grid-column:1/-1;max-width:65rem; }

/* Rows of one, two or three equal frames; incomplete rows stay centred. */
body.editorial-case:not([data-bbsw-layout="custom"]) .case-main > .case-gallery {
  display:flex;flex-wrap:wrap;justify-content:center;align-items:start;
  gap:var(--project-gallery-gap);width:calc(100% - 2 * var(--gutter));
  max-width:calc(3 * var(--project-image-width) + 2 * var(--project-gallery-gap));
  margin:0 auto var(--space-section,5rem);padding:0;
}
body.editorial-case:not([data-bbsw-layout="custom"]) .case-gallery > :is(figure,.bbsw-gallery-text) {
  flex:0 1 calc((100% - 2 * var(--project-gallery-gap)) / 3);width:100%;
  max-width:var(--project-image-width);min-width:0;grid-column:auto;
  align-self:start;justify-self:auto;display:block;margin:0;padding:0!important;background:transparent;
}
body.editorial-case:not([data-bbsw-layout="custom"]) .case-gallery .bbsw-media-frame { display:block;width:100%;margin:0; }
body.editorial-case:not([data-bbsw-layout="custom"]) .case-main > .case-gallery :is(img,video) {
  display:block;width:100%;height:auto;min-height:0;max-width:100%;max-height:none;
  aspect-ratio:var(--project-image-ratio);object-fit:contain;object-position:center;
  padding:0;margin:0;background:transparent;transform:none;
}
body.editorial-case:not([data-bbsw-layout="custom"]) .case-gallery figcaption {
  display:block;width:100%;padding:.8rem 0 0;margin:0;font-size:.9375rem;line-height:1.45;overflow-wrap:anywhere;
}
body.editorial-case:not([data-bbsw-layout="custom"]) .case-gallery > .bbsw-gallery-text {
  align-self:center;padding:clamp(1rem,2vw,2rem)!important;box-sizing:border-box;
}
body.editorial-case:not([data-bbsw-layout="custom"]) .bbsw-gallery-text h3 { font-size:clamp(1.6rem,2.1vw,2.3rem);line-height:1.12; }
body.editorial-case:not([data-bbsw-layout="custom"]) .bbsw-gallery-text p { font-size:1rem;line-height:1.6; }

/* Keep the existing story, with editorial alignment on the same three-column grid. */
body.editorial-case:not([data-bbsw-layout="custom"]) .case-main > .case-story {
  display:block;width:calc(100% - 2 * var(--gutter));
  max-width:calc(3 * var(--project-image-width) + 2 * var(--project-gallery-gap));
  padding:0;margin:clamp(3rem,5vw,5rem) auto;
}
body.editorial-case:not([data-bbsw-layout="custom"]) .case-story-copy { display:grid;grid-template-columns:1fr 2fr;gap:1.5rem var(--project-gallery-gap);max-width:none; }
body.editorial-case:not([data-bbsw-layout="custom"]) .case-story-copy > h2 { grid-column:1;grid-row:1/span 2;font-size:clamp(1.75rem,2.4vw,2.6rem);line-height:1.15;margin:0; }
body.editorial-case:not([data-bbsw-layout="custom"]) .case-story-copy > p { grid-column:2;max-width:46rem;margin:0;font-size:1.0625rem;line-height:1.65; }
body.editorial-case:not([data-bbsw-layout="custom"]) .case-story-copy > .case-facts { grid-column:2;margin:0;padding-top:1.5rem; }
body.editorial-case:not([data-bbsw-layout="custom"]) .case-main > .case-film { grid-column:1/-1;width:calc(100% - 2 * var(--gutter));max-width:calc(2 * var(--project-image-width) + var(--project-gallery-gap));margin:0 auto var(--space-section,5rem); }

/* With one or two gallery pieces, the story completes the row beside them. */
@media(min-width:1101px) {
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-main:has(.case-gallery > :first-child):not(:has(.case-film,.case-gallery > :nth-child(3))) > .case-story {
    grid-column:1/span 4;grid-row:2;align-self:center;width:auto;margin:4rem 0 4rem var(--gutter);
  }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-main:has(.case-gallery > :first-child):not(:has(.case-film,.case-gallery > :nth-child(3))) .case-story-copy { display:block; }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-main:has(.case-gallery > :first-child):not(:has(.case-film,.case-gallery > :nth-child(3))) .case-story-copy > p { margin-top:1.5rem; }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-main:has(.case-gallery > :first-child):not(:has(.case-film,.case-gallery > :nth-child(3))) .case-facts { display:block;margin-top:1.5rem; }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-main:has(.case-gallery > :first-child):not(:has(.case-film,.case-gallery > :nth-child(3))) .case-fact { padding-bottom:.8rem; }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-main:has(.case-gallery > :first-child):not(:has(.case-film,.case-gallery > :nth-child(3))) > .case-gallery {
    grid-column:5/-1;grid-row:2;align-self:center;width:calc(100% - var(--gutter));margin:4rem var(--gutter) 4rem 0;
  }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-main:has(.case-gallery > :first-child):not(:has(.case-film,.case-gallery > :nth-child(3))) > .case-gallery > :is(figure,.bbsw-gallery-text) { flex-basis:calc((100% - var(--project-gallery-gap)) / 2); }
}

/* Project selection uses the same portrait frame for any chosen cover. */
body .work-selector .work-track { --card-width:min(var(--project-image-width),calc((100vw - 2 * var(--gutter) - 2 * var(--card-gap)) / 3)); }
body .work-selector .work-card-image { height:auto;max-width:var(--project-image-width);aspect-ratio:var(--project-image-ratio);background:transparent; }
body .work-selector .work-card-link .work-card-image img { width:100%;height:100%;object-fit:contain;object-position:center;padding:0;transform:none; }
body .work-selector .work-card-link:hover img { transform:none; }
body .project-index .project-index-intro { gap:clamp(1.25rem,3vh,2rem); }
body .project-index .project-index-intro h2 { font-size:clamp(2.5rem,4vw,4rem);margin:0; }
body .project-index .index-preview { position:relative;inset:auto;flex:0 1 auto;min-height:0;width:min(100%,var(--project-image-width),max(8rem,calc((100dvh - 27rem) * .8)));height:auto;aspect-ratio:var(--project-image-ratio);max-height:none;transform:none;box-shadow:none; }
body .project-index .index-preview img { width:100%;height:100%;object-fit:contain;object-position:center;padding:0;transform:none; }

@media(max-width:1100px) {
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-gallery > :is(figure,.bbsw-gallery-text) { flex-basis:calc((100% - var(--project-gallery-gap)) / 2); }
  body .work-selector .work-track { --card-width:min(var(--project-image-width),calc((100vw - 2 * var(--gutter) - var(--card-gap)) / 2)); }
}
@media(max-width:700px) {
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-main { display:block;padding-top:0; }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-main > .case-hero { padding:2.5rem var(--gutter) 2rem; }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-hero h1 { font-size:clamp(2.5rem,10vw,4rem); }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-main > .case-cover { width:min(var(--project-image-width),calc(100% - 2 * var(--gutter)));margin-inline:auto; }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-gallery > :is(figure,.bbsw-gallery-text) { flex-basis:100%; }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-story-copy { display:block; }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-story-copy > p { margin-top:1.4rem; }
  body.editorial-case:not([data-bbsw-layout="custom"]) .case-story-copy > .case-facts { margin-top:1.25rem; }
  body .work-selector .work-track { --card-width:min(var(--project-image-width),calc(100vw - 2 * var(--gutter))); }
}

/* A case is a sequence of decisions and the work that makes them visible. */
.case-curated[data-project="41-eyewear"] .fortyone-architecture{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#d8d8d6;border:1px solid #d8d8d6;margin:0 0 2rem}
.case-curated[data-project="41-eyewear"] .fortyone-architecture>div{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;background:#f4f4f4;padding:clamp(1.25rem,3vw,2.75rem)}
.case-curated[data-project="41-eyewear"] .fortyone-role{font-size:.85rem;line-height:1.4;color:#525252}
.case-curated[data-project="41-eyewear"] .fortyone-architecture strong{font-family:Archivo,sans-serif;font-weight:800;font-size:clamp(1.6rem,4vw,3.9rem);line-height:.98;letter-spacing:-.055em;overflow-wrap:anywhere;color:#000}
.case-curated[data-project="41-eyewear"] .fortyone-architecture>div:last-child{background:#ff007b}
.case-curated[data-project="41-eyewear"] .fortyone-architecture>div:last-child .fortyone-role{color:#000}
.case-curated[data-project="41-eyewear"] .fortyone-voice{display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:2rem;padding:clamp(1.25rem,3vw,2.75rem);background:#f4f4f4;border-left:5px solid #ff007b;margin:0 0 2rem}
.case-curated[data-project="41-eyewear"] .fortyone-voice strong{font-family:Archivo,sans-serif;font-size:clamp(1.6rem,3.9vw,3.65rem);font-weight:800;letter-spacing:-.05em;line-height:1.02;color:#000}
.case-curated[data-project="41-eyewear"] .fortyone-voice>span{font-size:clamp(1rem,2vw,1.4rem);line-height:1.3;letter-spacing:-.025em;color:#000}
@media(max-width:620px){.case-curated[data-project="41-eyewear"] .fortyone-architecture,.case-curated[data-project="41-eyewear"] .fortyone-voice{grid-template-columns:1fr}.case-curated[data-project="41-eyewear"] .case-palette li{flex-basis:50%}}
.case-page.editorial-case.case-curated .case-main{display:block;width:100%;margin:0;padding-top:0;overflow:clip}
.case-curated{--case-width:78rem;--case-gap:clamp(1rem,2.4vw,2rem);--case-space:clamp(3.25rem,6vw,6rem);--case-tint:#f2f2f0}
.case-curated .case-opening,.case-curated .case-context,.case-curated .case-idea,.case-curated .case-chapter-section,.case-curated .case-outcome{width:calc(100% - 2 * var(--gutter));max-width:var(--case-width);margin-inline:auto;box-sizing:border-box}
.case-curated .case-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(2rem,4vw,4.5rem) 0 var(--case-space)}
.case-curated .case-opening-copy{min-width:0}
.case-curated .case-discipline{font-size:.875rem;font-weight:500;line-height:1.5;margin:0 0 1.5rem;color:#555;max-width:27rem}
.case-curated .case-opening h1{font-family:Archivo,sans-serif;font-weight:650;font-size:clamp(3rem,5.8vw,6.4rem);line-height:1.02;letter-spacing:-.055em;padding:0;margin:0 0 1.8rem;overflow-wrap:normal;color:var(--red)}
.case-curated .case-opening h1 span{display:block}
.case-curated .case-intro{font-size:clamp(1.15rem,1.7vw,1.55rem);line-height:1.45;letter-spacing:-.018em;max-width:29rem;margin:0;text-wrap:pretty}
.case-curated .case-opening-image{width:min(100%,30rem);aspect-ratio:4/5;margin:0;justify-self:center;background:var(--cover-surface,var(--case-tint));overflow:hidden}
.case-curated .case-opening-image img{display:block;width:100%;height:100%;object-fit:var(--cover-fit,cover);object-position:var(--cover-focus,50% 50%);padding:var(--cover-inset,0);margin:0;transform:none}
.case-curated .case-opening-image.is-logo img{object-fit:contain;padding:clamp(2.5rem,5vw,5rem)}
.case-curated .case-context{display:grid;grid-template-columns:1fr 2fr;column-gap:var(--case-gap);padding:2rem 0 var(--case-space);border-top:1px solid #c9c9c7}
.case-curated .case-meta{margin:0;display:grid;gap:1.2rem;align-content:start}
.case-curated .case-meta dt{font-size:.875rem;color:#666;line-height:1.4;margin:0 0 .25rem}
.case-curated .case-meta dd{margin:0;font-size:1rem;line-height:1.5;max-width:21rem}
.case-curated .case-context h2{font-weight:600;font-size:clamp(1.8rem,3vw,3rem);line-height:1.14;letter-spacing:-.04em;margin:0 0 1.25rem;text-wrap:pretty}
.case-curated .case-context p{font-size:1.0625rem;line-height:1.65;margin:0;max-width:44rem;color:#404040;text-wrap:pretty}
.case-curated .case-chapter-section{margin-top:0;margin-bottom:var(--case-space)}
.case-curated .case-chapter-heading{display:grid;grid-template-columns:1fr 2fr;gap:var(--case-gap);align-items:start;margin:0 0 2rem;padding-top:1.5rem;border-top:1px solid #d8d8d6}
.case-curated .case-chapter-heading h2{font-size:clamp(1.55rem,2.25vw,2.15rem);line-height:1.16;letter-spacing:-.035em;font-weight:600;margin:0;text-wrap:pretty;max-width:23rem}
.case-curated .case-chapter-heading p{font-size:1.0625rem;line-height:1.65;margin:0;max-width:44rem;color:#404040;text-wrap:pretty}
.case-curated .case-media-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem) var(--case-gap);align-items:center}
.case-curated .case-media-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--case-gap);align-items:center;min-width:0}
.case-curated .case-media-row .case-piece{grid-column:span var(--piece-span,4)}
.case-curated .case-piece{--max-media-height:38rem;grid-column:span 4;min-width:0;margin:0;align-self:center;justify-self:center;width:100%;max-width:min(30rem,calc(var(--max-media-height) * var(--media-aspect)))}
.case-curated .case-piece.is-landscape{grid-column:span 6;max-width:min(100%,calc(var(--max-media-height) * var(--media-aspect)))}
.case-curated .case-piece.is-panorama{grid-column:span 8;max-width:60rem}
.case-curated .case-piece.is-feature{grid-column:1/-1;max-width:min(64rem,calc(var(--max-media-height) * var(--media-aspect)))}
.case-curated .case-piece img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;aspect-ratio:var(--media-ratio);margin:0;transform:none;background:transparent}
.case-curated .case-piece.is-artwork{background:var(--case-tint);padding:clamp(.9rem,1.6vw,1.4rem)}
.case-curated .case-piece.is-artwork img{max-height:32rem}
.case-curated .case-piece figcaption{font-size:.9375rem;line-height:1.5;margin:.8rem 0 0;padding:0;color:#555;text-wrap:pretty}
.case-curated .case-piece.is-artwork figcaption{padding-top:.2rem}
.case-curated .case-media-grid[data-count="1"] .case-piece{grid-column:1/-1}
.case-curated .case-media-grid[data-count="2"] .case-piece{grid-column:span 6}
.case-curated .case-media-grid[data-count="3"] .case-piece{grid-column:span 4;max-width:30rem}
.case-curated .case-film-piece{grid-column:span 4;max-width:min(27rem,calc(var(--max-media-height) * var(--media-aspect)))}
.case-curated .case-film-piece.is-landscape{grid-column:1/-1;max-width:64rem}
.case-curated .case-film-piece video{width:100%;height:auto;max-height:none;aspect-ratio:var(--media-ratio,9/16);display:block;object-fit:contain;background:#111;border:0}
.case-curated .case-film-link{display:inline-block;margin-top:.4rem;font-size:.875rem;color:inherit;text-decoration:underline;text-underline-offset:.22em}
.case-curated .case-media-grid .case-note{grid-column:span 4;padding:clamp(.5rem,2vw,2rem);align-self:center}
.case-curated .case-note h3{font-size:clamp(1.35rem,1.8vw,1.75rem);line-height:1.2;font-weight:600;letter-spacing:-.025em;margin:0 0 1rem}
.case-curated .case-note p{font-size:1rem;line-height:1.65;margin:0;color:#555}
.case-curated .case-design-notes{display:grid;grid-template-columns:1fr 1fr;gap:var(--case-gap);border-top:1px solid #d8d8d6;padding-top:2rem}
.case-curated .case-design-notes article{max-width:32rem}
.case-curated .case-design-notes h2{font-size:clamp(1.5rem,2.2vw,2rem);font-weight:600;letter-spacing:-.035em;line-height:1.15;margin:0 0 1rem}
.case-curated .case-design-notes p{font-size:1.0625rem;line-height:1.65;margin:0;color:#404040}
.case-curated[data-project="blackjack"] .case-piece img{height:clamp(16rem,32vw,31rem);max-height:none;aspect-ratio:auto}
.case-curated[data-project="neutre"] .case-opening h1{font-size:clamp(2.6rem,4.6vw,5.3rem)}
.case-curated[data-project="opti-privee-haz-pop"] .case-opening h1{font-size:clamp(2.6rem,4.6vw,5.3rem)}
.case-curated[data-project="chocolate-museum"] .case-opening h1{font-size:clamp(2.6rem,4.6vw,5.3rem)}
.case-curated .case-palette{display:flex;gap:0;margin:0 0 2rem;list-style:none;padding:0}
.case-curated .case-palette li{flex:1;min-width:0;padding:1.25rem 1rem;min-height:7rem;display:flex;align-items:end;background:var(--swatch);color:var(--swatch-ink,#111);font-size:.9375rem;line-height:1.4}
.case-curated .case-outcome{padding:2rem 0 var(--case-space);border-top:1px solid #111;display:grid;grid-template-columns:1fr 2fr;gap:var(--case-gap)}
.case-curated .case-outcome h2{font-size:clamp(1.6rem,2.25vw,2.3rem);line-height:1.15;font-weight:600;letter-spacing:-.035em;margin:0}
.case-curated .case-outcome p{font-size:1.0625rem;line-height:1.65;margin:0 0 1rem;max-width:44rem;color:#404040}
.case-curated .case-outcome a{display:inline-block;font-size:1rem;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:.3em}
/* Scope, the central idea and documented results form a readable case spine. */
.case-curated .case-role-list{list-style:none;padding:0;margin:0;display:grid;gap:.3rem}
.case-curated .case-meta .case-scope{margin-top:.35rem}
.case-curated .case-meta .case-scope dt{color:var(--ink);font-weight:600;margin-bottom:.65rem}
.case-curated .case-idea{display:grid;grid-template-columns:1fr 2fr;gap:var(--case-gap);padding:1.8rem 0 var(--case-space);border-top:1px solid var(--red)}
.case-curated .case-idea h2{font-size:clamp(1.55rem,2.25vw,2.15rem);line-height:1.16;letter-spacing:-.035em;font-weight:600;margin:0}
.case-curated .case-idea p{font-size:1.0625rem;line-height:1.65;margin:0;max-width:44rem;color:#404040;text-wrap:pretty}
.case-curated .case-idea .case-idea-statement{font-size:clamp(1.65rem,2.7vw,2.65rem);line-height:1.17;letter-spacing:-.035em;font-weight:600;color:var(--red);margin:0 0 1.4rem;max-width:42rem}
.case-curated .case-prose p+p{margin-top:1rem}
.case-curated .case-prose,.case-curated .case-chapter-heading>div,.case-curated .case-outcome>div{min-width:0}
.case-curated .case-eyebrow{font-size:.875rem;line-height:1.4;font-weight:500;color:#555;margin:0 0 .8rem;letter-spacing:0}
.case-curated .case-outcome-metrics{grid-column:1/-1;margin:1rem 0 0;padding:0;background:transparent;color:var(--ink)}
.case-curated .case-metrics{margin:0;display:flex;flex-wrap:wrap;gap:2rem;border-top:1px solid #d8d8d6;padding-top:2rem}
.case-curated .case-metrics>div{flex:1;min-width:13rem;display:flex;flex-direction:column}
.case-curated .case-metrics dt{font-size:1.0625rem;line-height:1.4;color:var(--ink);font-weight:600;margin:0 0 .9rem}
.case-curated .case-metrics dd{margin:0}
.case-curated .case-metrics strong{font-size:clamp(3.5rem,6.5vw,6rem);line-height:1;font-weight:600;letter-spacing:-.06em;display:block;color:var(--red);margin:0 0 .85rem}
.case-curated .case-metrics span{font-size:1rem;line-height:1.5;display:block;color:#555;max-width:25rem}
.case-curated .case-outcome-metrics .case-metrics-note{font-size:.875rem;line-height:1.5;margin:1.5rem 0 0;color:#666;max-width:none}
/* The same selected image is used by the opening, the home and the project index. */
body .work-selector .work-card-link .work-card-image{aspect-ratio:4/5;background:var(--cover-surface,var(--case-tint))}
body .work-selector .work-card-link .work-card-image img[data-case-cover]{object-fit:var(--cover-fit,cover);object-position:var(--cover-focus,50% 50%);padding:var(--cover-inset,0);width:100%;height:100%;transform:none}
body .project-index .index-preview img[data-case-cover]{object-fit:var(--cover-fit,cover);object-position:var(--cover-focus,50% 50%);padding:var(--cover-inset,0);background:var(--cover-surface,var(--case-tint));transform:none}
.case-curated .case-media-grid .case-media-row .case-piece{grid-column:span var(--piece-span,4)}
@media(min-width:1600px){.case-curated .case-opening h1{font-size:6.4rem}}
@media(max-width:1000px){
 .case-curated .case-opening{gap:2rem}.case-curated .case-opening h1{font-size:clamp(2.65rem,6.1vw,4.7rem)}
 .case-curated .case-piece,.case-curated .case-piece.is-panorama,.case-curated .case-media-grid[data-count="3"] .case-piece{grid-column:span 6}
 .case-curated .case-media-grid .case-note{grid-column:span 6}
 .case-curated .case-piece.is-feature,.case-curated .case-film-piece.is-landscape{grid-column:1/-1}
 .case-curated .case-media-row .case-piece{grid-column:span var(--piece-span,4)}
}
@media(max-width:640px){
 .case-curated .case-opening{grid-template-columns:1fr;gap:2rem;padding-top:2rem}
 .case-curated .case-opening h1{font-size:clamp(2.65rem,11.5vw,4.5rem);margin-bottom:1.15rem}
 .case-curated .case-discipline{margin-bottom:1rem}.case-curated .case-intro{font-size:1.125rem}
 .case-curated .case-opening-image{width:100%;max-width:26rem}
 .case-curated .case-context,.case-curated .case-idea,.case-curated .case-chapter-heading,.case-curated .case-outcome{grid-template-columns:1fr;gap:1.75rem}
 .case-curated .case-meta{grid-template-columns:1fr 1fr;gap:1rem}
 .case-curated .case-meta .case-scope{grid-column:1/-1;margin-top:.5rem}
 .case-curated .case-role-list{grid-template-columns:1fr 1fr;gap:.4rem 1rem}
 .case-curated .case-idea h2 br{display:none}
 .case-curated .case-metrics{gap:1.75rem}.case-curated .case-metrics>div{min-width:100%}
 .case-curated .case-meta dt{font-size:.875rem}.case-curated .case-meta dd{font-size:.9375rem}
 .case-curated .case-media-grid{grid-template-columns:1fr;gap:1.5rem}
 .case-curated .case-media-row{grid-template-columns:1fr;gap:1.5rem}
 .case-curated .case-media-grid .case-piece,.case-curated .case-media-grid .case-note{grid-column:1/-1;--max-media-height:36rem}
 .case-curated .case-media-grid .case-media-row .case-piece{grid-column:1/-1;max-width:min(30rem,calc(var(--max-media-height) * var(--media-aspect)))}
 .case-curated .case-design-notes{grid-template-columns:1fr}
 .case-curated[data-project="blackjack"] .case-piece img{height:auto;max-height:32rem}
 .case-curated[data-project] .case-opening h1{font-size:clamp(2.5rem,10.5vw,4rem)}
 .case-curated .case-piece img,.case-curated .case-film-piece video{max-height:none}
 .case-curated .case-chapter-heading{margin-bottom:1.5rem;padding-top:1.25rem}
 .case-curated .case-palette{flex-wrap:wrap}.case-curated .case-palette li{flex-basis:33%;padding:.9rem;min-height:5rem}
 .case-curated .case-media-grid .case-note{padding:1rem 0}
}

/* Big Boom editorial proposal. Existing copy and project media are preserved. */
@font-face{font-family:Archivo;src:url('assets/archivo-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--brand-red:#da1a32;--red:#da1a32;--ink:#141414;--paper:#fff;--line:#d9d9d9;--gutter:clamp(1.25rem,4.5vw,5.5rem);--font:Archivo,'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body.editorial-proposal{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.5 var(--font);-webkit-font-smoothing:antialiased}body.menu-open,body.projects-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}button,summary{touch-action:manipulation}p,h1,h2,h3,figure{margin:0}img{display:block;max-width:100%}::selection{background:var(--red);color:#fff}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:6px}em{font-style:normal}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:1rem;left:1rem;z-index:150;background:var(--red);color:#fff;padding:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}
.bb-arrow{position:relative;display:inline-block;width:1.3rem;height:1.3rem;color:inherit;vertical-align:middle;flex-shrink:0}.bb-arrow:before{content:'';position:absolute;top:50%;left:5%;width:90%;height:1px;background:currentColor;transform:translateY(-50%)}.bb-arrow:after{content:'';position:absolute;right:5%;top:50%;width:52%;height:52%;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}.bb-arrow-right{transform:none}.bb-arrow-left{transform:rotate(180deg)}.bb-arrow-down{transform:rotate(90deg)}.bb-arrow-ne{transform:rotate(-45deg)}
body.editorial-proposal .header{height:100px;min-height:100px;padding:0;margin:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line);position:relative;inset:auto;background:#fff;color:var(--ink);z-index:50;box-shadow:none}
body.editorial-proposal .wordmark{display:block;width:176px;flex:none}body.editorial-proposal .wordmark img{width:100%;height:auto;filter:brightness(0)}
.editorial-proposal .desktop-nav{display:flex;align-items:center;gap:2.9rem;font-size:.9375rem;font-weight:500}.editorial-proposal .desktop-nav>a,.editorial-proposal .desktop-nav>button{padding:.75rem 0;border:0;background:transparent;position:relative;white-space:nowrap;color:var(--ink)}
.editorial-proposal .desktop-nav>a::after,.editorial-proposal .desktop-nav>button::after{content:'';position:absolute;bottom:.3rem;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s}.editorial-proposal .desktop-nav>a:hover::after,.editorial-proposal .desktop-nav>button:hover::after{transform:scaleX(1)}
.editorial-proposal .nav-count{font-size:.75rem;font-weight:400;vertical-align:super;margin-left:.3rem}.editorial-proposal .contact-link{display:flex;align-items:center;gap:2rem}.editorial-proposal .contact-link>span{margin:0}.editorial-proposal .menu-toggle,.editorial-proposal .mobile-menu,.editorial-proposal .mobile-menu[hidden]{display:none}
/* Retained decorative text remains in source; these scenes are not rendered. */
.editorial-proposal .hero-bombi,.editorial-proposal .services-art,.editorial-proposal .reach-art{display:none!important}
body.home-page.editorial-proposal .hero{padding:3.5rem var(--gutter) 4.5rem;background:#fff;color:var(--ink);height:auto;min-height:0;display:block;overflow:visible}.editorial-proposal .hero-stage{display:block;position:relative;padding:0}
.editorial-proposal .hero h1{font-family:var(--font);font-size:clamp(5rem,13vw,13rem);font-weight:460;letter-spacing:-.072em;line-height:1.01;margin:0;padding:0 0 2.6rem;color:var(--ink);width:100%;max-width:none}.editorial-proposal .hero h1>span{display:block}.editorial-proposal .hero h1>span:last-child{text-align:right;margin:0}.editorial-proposal .hero h1 strong{font-weight:780}.editorial-proposal .hero .boom-word{color:var(--red);display:inline;white-space:nowrap}.editorial-proposal .hero .boom-word>span{display:inline;animation:none;transform:none}
.editorial-proposal .hero-bottom{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:3rem;margin:0;padding-top:1.5rem}.editorial-proposal .hero-bottom>p{font-size:clamp(1.15rem,1.65vw,1.6rem);line-height:1.45;letter-spacing:-.022em;max-width:31rem;justify-self:end}.editorial-proposal .explore-link{display:flex;align-items:center;gap:1.2rem;font-size:.875rem;width:fit-content}.editorial-proposal .circle-arrow{display:grid;place-items:center;border:0;border-radius:0;width:2rem;height:2.5rem}.editorial-proposal .circle-arrow .bb-arrow{width:1.7rem;height:1.7rem;transition:translate .25s}.editorial-proposal .explore-link:hover .bb-arrow{translate:0 5px}
.editorial-proposal .work-selector{padding:1.5rem var(--gutter) 5.5rem;background:#fff;color:var(--ink);overflow:hidden}.editorial-proposal .work-selector-heading{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid var(--ink);padding:2rem 0 2.7rem}.editorial-proposal .work-title-group h2{font-size:clamp(2.1rem,4.1vw,4.2rem);line-height:1.1;font-weight:520;letter-spacing:-.05em;margin:0}.editorial-proposal .work-title-group h2 span{color:var(--red)}
.editorial-proposal .work-arrows{display:flex;gap:.75rem}.editorial-proposal .work-arrows button{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--line);border-radius:0;background:transparent;transition:background .2s,color .2s}.editorial-proposal .work-arrows button:hover:not(:disabled){background:var(--ink);color:#fff}.editorial-proposal .work-arrows button:disabled{opacity:.3;cursor:default}
.editorial-proposal .work-track{position:relative;display:flex;gap:2rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#141414 #ededed;padding:0 0 1.75rem;margin:0;scroll-snap-type:none;touch-action:pan-x pan-y}.editorial-proposal .work-track::-webkit-scrollbar{height:3px}.editorial-proposal .work-track::-webkit-scrollbar-track{background:#ededed}.editorial-proposal .work-track::-webkit-scrollbar-thumb{background:#141414}.editorial-proposal .work-track.is-dragging{cursor:grabbing;user-select:none}
.editorial-proposal .work-card{min-width:0;flex:0 0 calc((100% - 2rem)/2);width:auto;margin:0;padding:0;position:relative}.editorial-proposal .work-card-link{display:block}.editorial-proposal .work-card-image{width:100%;aspect-ratio:4/5;height:auto;max-height:none;overflow:hidden;position:relative;background:var(--cover-surface,#f0f0f0);border-radius:0}.editorial-proposal .work-card-image img{width:100%;height:100%;object-fit:var(--cover-fit,cover);object-position:var(--cover-focus,50% 50%);padding:var(--cover-inset,0);display:block;transition:transform .6s cubic-bezier(.2,.7,.25,1)}.editorial-proposal .work-card-link:hover img{transform:scale(1.025)}.editorial-proposal .work-card-open{display:none}
.editorial-proposal .work-card-title{display:flex;justify-content:space-between;gap:1rem;align-items:start;padding:1.2rem 0 0}.editorial-proposal .work-card h3{font-size:clamp(1.2rem,1.8vw,1.75rem);line-height:1.23;letter-spacing:-.03em;font-weight:560}.editorial-proposal .work-card-arrow{margin-top:.15rem}.editorial-proposal .work-card p{font-size:.875rem;line-height:1.5;color:#626262;margin:.4rem 0 0}
.editorial-proposal .services-studio{background:var(--ink);color:#fff;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:9%;padding:6rem var(--gutter) 6.5rem;margin:0;align-items:start}.editorial-proposal .services-intro h2{font-size:clamp(2.5rem,4.2vw,4.4rem);font-weight:530;letter-spacing:-.05em;line-height:1.1;margin:0 0 2rem}.editorial-proposal .services-intro>p{font-size:clamp(1.4rem,2.15vw,2rem);line-height:1.4;letter-spacing:-.025em;color:#aaa;max-width:24rem}.editorial-proposal .service-list{padding:0;margin:0}.editorial-proposal .service-list details{border-top:1px solid #555}.editorial-proposal .service-list details:last-child{border-bottom:1px solid #555}
.editorial-proposal .service-list summary{display:grid;grid-template-columns:1.5rem minmax(0,1fr) 24px;gap:1.2rem;padding:1.7rem 0;list-style:none;cursor:pointer;align-items:start;font-size:clamp(1.4rem,2.3vw,2.4rem);line-height:1.16;font-weight:480;letter-spacing:-.035em}.editorial-proposal .service-list summary::-webkit-details-marker{display:none}.editorial-proposal .service-list summary:before{content:attr(data-number);font-size:.8125rem;color:#a6a6a6;letter-spacing:0;padding-top:.35rem}.editorial-proposal .details-icon{display:block;width:24px;height:24px;font-size:1.7rem;line-height:1;text-align:center;font-weight:300;border:0;border-radius:0;background:transparent;transition:transform .2s}.editorial-proposal details[open] .details-icon{transform:rotate(45deg)}.editorial-proposal .service-list details>p{font-size:1rem;line-height:1.65;color:#bcbcbc;padding:0 2.5rem 2rem 2.7rem;margin:0;max-width:none}
body.editorial-proposal .boom-footer{background:var(--red);color:#fff;padding:2.3rem var(--gutter) 2rem;margin:0;min-height:0;border:0;position:relative}body.editorial-proposal .boom-footer-inner{width:100%;max-width:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3rem;align-items:stretch}
body.editorial-proposal .boom-footer-meta{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:100%;padding:0;margin:0;font-size:.9375rem;color:#fff}body.editorial-proposal .boom-footer-meta>a,body.editorial-proposal .boom-footer-meta>p{display:flex;align-items:center;gap:.65rem;font-size:.9375rem;line-height:1.5;margin:0;color:#fff}body.editorial-proposal .boom-footer-meta svg{display:none}
body.editorial-proposal .boom-footer-brand{display:block;align-self:stretch;justify-self:stretch;width:100%;max-width:none;margin:0;padding:0;text-align:right}body.editorial-proposal .boom-footer-brand>a{display:block;width:100%;max-width:none}body.editorial-proposal .boom-footer-brand img{display:block;width:100%;max-width:none;height:auto;filter:none}body.editorial-proposal .boom-footer-brand>p{font-size:.875rem;letter-spacing:0;margin:2rem 0 0;border-top:1px solid #ffffff75;padding-top:1.2rem;color:#fff}body.editorial-proposal .boom-footer-brand strong{font-weight:600}
/* Full project navigation, with all original names and descriptions. */
body.editorial-proposal .project-index{width:100%;height:100%;max-width:none;max-height:none;inset:0;padding:0;margin:0;border:0;background:var(--ink);color:#fff;overflow:auto;opacity:1;transform:none}body.editorial-proposal .project-index:not([open]){display:none}body.editorial-proposal .project-index::backdrop{background:#141414}body.editorial-proposal .project-index-shell{height:auto;min-height:100%;padding:0 var(--gutter) 3rem;display:block;margin:0}
body.editorial-proposal .project-index-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.8rem 0;border-bottom:1px solid #555;min-height:0;grid-template-columns:none}body.editorial-proposal .project-index-logo img{width:160px;height:auto;filter:none}body.editorial-proposal .project-index-close{border:0;background:transparent;display:flex;align-items:center;gap:2rem;padding:.5rem 0;color:#fff;font-size:.9375rem}body.editorial-proposal .project-index-close b{font-size:2rem;line-height:1;font-weight:400}
body.editorial-proposal .project-index-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:6%;padding:3rem 0 0;align-items:start;overflow:visible}body.editorial-proposal .project-index-intro{display:block;position:sticky;top:2rem;min-height:0;padding:0}body.editorial-proposal .project-index-intro h2{font-size:clamp(2.6rem,4.7vw,5rem);font-weight:530;letter-spacing:-.05em;line-height:1.03;margin:0 0 2rem;padding:0;color:#fff}body.editorial-proposal .project-index-intro em{color:var(--red);font-style:normal;font-weight:600}
body.editorial-proposal .index-preview{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:100%;max-width:28rem;aspect-ratio:4/5;height:auto;max-height:60vh;overflow:hidden;margin:0;transform:none;box-shadow:none;background:#292929}body.editorial-proposal .index-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--cover-fit,cover);object-position:var(--cover-focus,50% 50%);padding:var(--cover-inset,0);background:var(--cover-surface,#292929);opacity:0;transform:none;transition:opacity .25s}body.editorial-proposal .index-preview img.is-active{opacity:1;transform:none}
body.editorial-proposal .project-index-list{padding:0;margin:0;border:0;overflow:visible}body.editorial-proposal .index-project{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:.5rem 1.5rem;padding:1.2rem 0;border-top:1px solid #555;color:#fff;background:transparent;min-height:0;transition:color .2s;position:relative}body.editorial-proposal .index-project:last-child{border-bottom:1px solid #555}body.editorial-proposal .index-project:before{display:none}body.editorial-proposal .index-project:hover,body.editorial-proposal .index-project:focus-visible{padding-left:0;padding-right:0;color:var(--red);background:transparent}
body.editorial-proposal .index-title{font-size:clamp(1.1rem,1.7vw,1.65rem);letter-spacing:-.03em;font-weight:470;line-height:1.3;padding:0;margin:0}body.editorial-proposal .index-meta{display:block;grid-column:1;grid-row:2;font-size:.8125rem;color:#aaa;text-transform:none;letter-spacing:0;line-height:1.4;margin:0}body.editorial-proposal .index-arrow{grid-column:2;grid-row:1;font-size:1.2rem;text-align:right}
/* About. */
.editorial-proposal .studio-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:end;padding:5rem var(--gutter) 6rem}.editorial-proposal .studio-intro h1{font-size:clamp(3.5rem,6.9vw,7.2rem);font-weight:540;line-height:1.04;letter-spacing:-.06em}.editorial-proposal .studio-intro em{color:var(--red)}.editorial-proposal .studio-intro-copy>p:first-child{font-size:clamp(1.25rem,2vw,1.85rem);line-height:1.4;letter-spacing:-.03em;max-width:35rem}.editorial-proposal .studio-intro-copy>p+p{font-size:1rem;line-height:1.6;color:#626262;margin-top:1.5rem;max-width:29rem}
.editorial-proposal .studio-origins{padding:0 var(--gutter) 6rem}.editorial-proposal .studio-origins h2{font-size:clamp(2rem,3.5vw,3.65rem);font-weight:520;letter-spacing:-.045em;line-height:1.12;padding-top:2rem;border-top:1px solid var(--ink);margin-bottom:3rem}.editorial-proposal .studio-places{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.editorial-proposal .studio-place{min-width:0}.editorial-proposal .studio-place figure{margin:0;display:block}.editorial-proposal .studio-place figure>img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;background:#eee}.editorial-proposal .studio-place figcaption{display:flex;justify-content:space-between;gap:1rem;font-size:.8125rem;line-height:1.5;color:#626262;margin:1rem 0 1.7rem}.editorial-proposal .studio-place h3{font-size:clamp(1.45rem,2.2vw,2rem);font-weight:520;letter-spacing:-.03em;line-height:1.2;margin-bottom:1rem}.editorial-proposal .studio-place>p{font-size:1rem;line-height:1.65;color:#626262;max-width:32rem}
.editorial-proposal .studio-mind{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:6rem var(--gutter);background:#f2f2f2;align-items:center}.editorial-proposal .studio-mind h2{font-size:clamp(2.5rem,4.5vw,4.8rem);font-weight:540;line-height:1.07;letter-spacing:-.05em;margin:0 0 2.8rem}.editorial-proposal .studio-mind em{color:var(--red)}.editorial-proposal .studio-mind-name{font-size:1.25rem;font-weight:600;margin:0 0 1rem}.editorial-proposal .studio-mind-copy>p:last-child{font-size:1.0625rem;line-height:1.6;color:#626262;max-width:29rem}.editorial-proposal .studio-mind-portrait{width:100%;max-width:35rem;justify-self:end;margin:0}.editorial-proposal .studio-mind-portrait img{width:100%;height:auto;object-fit:contain}
.editorial-proposal .studio-point{display:grid;grid-template-columns:1fr 1.25fr;gap:8%;padding:6rem var(--gutter);background:var(--ink);color:#fff}.editorial-proposal .studio-point h2{font-size:clamp(2.2rem,3.5vw,3.7rem);font-weight:530;line-height:1.12;letter-spacing:-.045em;margin:0}.editorial-proposal .studio-point h2 em{color:#a5a5a5}.editorial-proposal .studio-point-copy>p{font-size:1.25rem;line-height:1.45;letter-spacing:-.025em;margin:0 0 2.5rem}.editorial-proposal .studio-point-copy article{border-top:1px solid #555;padding:1.5rem 0 2rem}.editorial-proposal .studio-point-copy h3{font-size:1.4rem;font-weight:500;letter-spacing:-.025em;line-height:1.25;margin:0 0 .85rem}.editorial-proposal .studio-point-copy article p{font-size:1rem;line-height:1.65;color:#bcbcbc;margin:0}
.editorial-proposal .studio-signoff{padding:5rem var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;background:#fff}.editorial-proposal .studio-signoff h2{font-size:clamp(2rem,4vw,4rem);font-weight:520;line-height:1.1;letter-spacing:-.045em}.editorial-proposal .studio-signoff h2 em{color:var(--red)}.editorial-proposal .studio-signoff p{font-size:1.0625rem;text-align:right}
/* Contact. */
.editorial-proposal .reach-hero{padding:5rem var(--gutter) 4rem}.editorial-proposal .reach-copy{display:grid;grid-template-columns:1.4fr 1fr;gap:9%;align-items:end}.editorial-proposal .reach-copy h1{font-size:clamp(4rem,8.9vw,9rem);font-weight:540;line-height:1.03;letter-spacing:-.06em}.editorial-proposal .reach-copy h1 em{color:var(--red)}.editorial-proposal .reach-copy>p{font-size:1.25rem;line-height:1.5;letter-spacing:-.02em;max-width:26rem;padding-bottom:.5rem}.editorial-proposal .reach-channels{padding:2.8rem 0 5rem;margin:0 var(--gutter);border-top:1px solid var(--ink)}.editorial-proposal .reach-email{padding:0}.editorial-proposal .reach-email-link{display:block;width:fit-content;font-size:clamp(2rem,6.5vw,7rem);font-weight:530;line-height:1.2;letter-spacing:-.055em;overflow-wrap:anywhere;color:var(--ink);margin:0 0 1.5rem}.editorial-proposal .reach-email-link .bb-arrow{display:none}.editorial-proposal .copy-email{border:0;border-bottom:1px solid var(--ink);padding:.5rem 0;background:transparent;font-size:.875rem}
.editorial-proposal .reach-details{display:grid;grid-template-columns:1fr 1fr;gap:3rem;border-top:1px solid var(--line);padding-top:2rem;margin-top:4rem}.editorial-proposal .reach-details>a{display:grid;grid-template-columns:1fr 24px;gap:.75rem 1rem}.editorial-proposal .reach-details>a>span:first-child{font-size:.875rem;color:#626262}.editorial-proposal .reach-details strong{grid-column:1;grid-row:2;font-size:1.3rem;line-height:1.3;letter-spacing:-.02em;font-weight:500}.editorial-proposal .reach-details .bb-arrow{grid-column:2;grid-row:2}
/* Match the retained case content to the shared visual direction. */
body.case-page.editorial-case.case-curated.editorial-proposal{--case-width:88rem;--case-space:clamp(4rem,7vw,7rem);--paper:#fff}body.case-page.editorial-case.case-curated.editorial-proposal .case-opening{padding-top:4.5rem;gap:8%}body.case-page.editorial-case.case-curated.editorial-proposal .case-opening h1{color:var(--red);font-weight:540;letter-spacing:-.05em}body.case-page.editorial-case.case-curated.editorial-proposal .case-opening-image{width:100%;max-width:35rem}body.case-page.editorial-case.case-curated.editorial-proposal .case-context h2{font-weight:530}
@media(min-width:1800px){.editorial-proposal .hero h1{font-size:13.5rem}.editorial-proposal .work-card-image{max-height:56rem}.editorial-proposal .work-track{gap:3rem}.editorial-proposal .work-card{flex-basis:calc((100% - 3rem)/2)}}
@media(max-width:950px){
body.editorial-proposal .header{height:88px;min-height:88px}.editorial-proposal .wordmark{width:150px}.editorial-proposal .desktop-nav{gap:1.7rem}.editorial-proposal .contact-link{gap:1rem}.editorial-proposal .hero h1{font-size:13.4vw}.editorial-proposal .hero-bottom{gap:2rem}.editorial-proposal .work-track{gap:1.5rem}.editorial-proposal .work-card{flex-basis:calc((100% - 1.5rem)/2)}.editorial-proposal .services-studio{gap:6%;padding-top:4.5rem;padding-bottom:4.5rem;grid-template-columns:.8fr 1.2fr}.editorial-proposal .service-list summary{gap:.8rem;grid-template-columns:1.3rem minmax(0,1fr) 20px;font-size:1.5rem}.editorial-proposal .service-list details>p{padding-left:2.1rem;padding-right:0}body.editorial-proposal .project-index-body{grid-template-columns:1fr 1.5fr;gap:4%}.editorial-proposal .studio-mind{gap:6%}.editorial-proposal .studio-point{gap:6%}.editorial-proposal .reach-copy{gap:5%}.editorial-proposal .reach-copy>p{font-size:1.1rem}
}
@media(max-width:760px){
html{scroll-padding-top:1.5rem}body.editorial-proposal .header{height:78px;min-height:78px;gap:1rem}body.editorial-proposal .wordmark{width:137px}.editorial-proposal .desktop-nav{display:none}.editorial-proposal .menu-toggle{display:flex;align-items:center;gap:1.4rem;padding:.75rem 0;border:0;background:transparent;font-size:.875rem}.editorial-proposal .menu-toggle>span{font-size:1.5rem;line-height:1}.editorial-proposal .mobile-menu{position:fixed;inset:78px 0 0;z-index:45;background:#fff;color:var(--ink);padding:2rem var(--gutter);display:flex;flex-direction:column;justify-content:space-between}.editorial-proposal .mobile-menu nav{display:flex;flex-direction:column}.editorial-proposal .mobile-menu nav>a,.editorial-proposal .mobile-menu nav>button{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);font-size:2.4rem;font-weight:500;letter-spacing:-.055em;line-height:1.2;text-align:left;padding:1.3rem 0}.editorial-proposal .mobile-menu nav span{font-size:.8125rem;letter-spacing:0}.editorial-proposal .mobile-menu>p{font-size:.875rem;color:#626262;line-height:1.7}body.menu-open.editorial-proposal .header{position:fixed;top:0;left:0;right:0}
body.home-page.editorial-proposal .hero{padding-top:2.5rem;padding-bottom:3rem}.editorial-proposal .hero h1{font-size:13.3vw;letter-spacing:-.065em;line-height:1.16;padding-bottom:2rem}.editorial-proposal .hero-bottom{display:flex;flex-direction:column-reverse;align-items:start;gap:2rem;padding:0}.editorial-proposal .hero-bottom>p{font-size:1.125rem;line-height:1.5;max-width:25rem}.editorial-proposal .explore-link{font-size:.875rem;gap:.75rem}.editorial-proposal .circle-arrow{width:1.5rem;height:2rem}.editorial-proposal .circle-arrow .bb-arrow{width:1.5rem;height:1.5rem}
.editorial-proposal .work-selector{padding-top:1rem;padding-bottom:3.5rem}.editorial-proposal .work-selector-heading{padding:1.5rem 0 2rem;gap:1rem;align-items:center}.editorial-proposal .work-title-group h2{font-size:2rem;letter-spacing:-.045em}.editorial-proposal .work-arrows{gap:.5rem}.editorial-proposal .work-arrows button{width:2.6rem;height:2.6rem}.editorial-proposal .work-track{gap:1rem;padding-bottom:1.5rem}.editorial-proposal .work-card{flex-basis:88%}.editorial-proposal .work-card-image{aspect-ratio:4/5}.editorial-proposal .work-card h3{font-size:1.3rem}.editorial-proposal .work-card-title{padding-top:.9rem}.editorial-proposal .work-card p{font-size:.875rem}
.editorial-proposal .services-studio{display:block;padding:3.25rem var(--gutter) 3.5rem}.editorial-proposal .services-intro h2{font-size:2.6rem;margin:0 0 1.5rem}.editorial-proposal .services-intro>p{font-size:1.45rem;max-width:25rem}.editorial-proposal .service-list{margin-top:2.5rem}.editorial-proposal .service-list summary{font-size:1.45rem;padding:1.5rem 0;gap:.8rem}.editorial-proposal .service-list details>p{padding-left:2.1rem;padding-bottom:1.5rem;font-size:1rem;line-height:1.6}
body.editorial-proposal .boom-footer{padding-top:1.75rem;padding-bottom:1.5rem}body.editorial-proposal .boom-footer-inner{gap:2rem}body.editorial-proposal .boom-footer-meta{display:grid;grid-template-columns:1fr auto;gap:1rem}body.editorial-proposal .boom-footer-meta>a:first-child{grid-column:1/-1;font-size:1rem}body.editorial-proposal .boom-footer-meta>a,body.editorial-proposal .boom-footer-meta>p{font-size:.8125rem}body.editorial-proposal .boom-footer-brand>p{font-size:.8125rem;margin-top:1.5rem;padding-top:1rem}
body.editorial-proposal .project-index-shell{padding-bottom:2rem}body.editorial-proposal .project-index-top{padding:1.3rem 0}body.editorial-proposal .project-index-logo img{width:137px}body.editorial-proposal .project-index-close{gap:1rem}body.editorial-proposal .project-index-body{display:block;padding-top:2rem}body.editorial-proposal .project-index-intro{position:static;min-height:0}body.editorial-proposal .project-index-intro h2{font-size:3rem;margin-bottom:2rem}body.editorial-proposal .index-preview{display:none}body.editorial-proposal .index-project{padding:1.05rem 0;gap:.5rem 1rem}body.editorial-proposal .index-title{font-size:1.25rem}body.editorial-proposal .index-meta{font-size:.75rem;line-height:1.45}
.editorial-proposal .studio-intro{display:block;padding:3rem var(--gutter) 3.5rem}.editorial-proposal .studio-intro h1{font-size:clamp(3rem,11vw,4.8rem);line-height:1.08;letter-spacing:-.055em;margin-bottom:2rem}.editorial-proposal .studio-intro-copy>p:first-child{font-size:1.3rem;line-height:1.45}.editorial-proposal .studio-intro-copy>p+p{font-size:1rem;margin-top:1.2rem}.editorial-proposal .studio-origins{padding-bottom:3.5rem}.editorial-proposal .studio-origins h2{font-size:2rem;margin-bottom:2rem;padding-top:1.5rem}.editorial-proposal .studio-places{grid-template-columns:1fr;gap:2.5rem}.editorial-proposal .studio-place figcaption{font-size:.75rem;margin:.75rem 0 1.3rem}.editorial-proposal .studio-place h3{font-size:1.5rem}
.editorial-proposal .studio-mind{display:flex;flex-direction:column;align-items:stretch;gap:2.5rem;padding:3.5rem var(--gutter)}.editorial-proposal .studio-mind h2{font-size:2.6rem;margin:0 0 2rem}.editorial-proposal .studio-mind-portrait{max-width:100%}.editorial-proposal .studio-mind-copy>p:last-child{font-size:1rem}.editorial-proposal .studio-point{display:block;padding:3.5rem var(--gutter)}.editorial-proposal .studio-point h2{font-size:2.4rem;margin:0 0 2.5rem}.editorial-proposal .studio-point-copy>p{font-size:1.2rem;margin-bottom:2rem}.editorial-proposal .studio-point-copy h3{font-size:1.25rem}.editorial-proposal .studio-signoff{display:block;padding:3rem var(--gutter)}.editorial-proposal .studio-signoff h2{font-size:2.25rem;margin-bottom:1.5rem}.editorial-proposal .studio-signoff p{text-align:left}
.editorial-proposal .reach-hero{padding:3rem var(--gutter)}.editorial-proposal .reach-copy{display:block}.editorial-proposal .reach-copy h1{font-size:14vw;line-height:1.09;margin-bottom:2rem}.editorial-proposal .reach-copy>p{font-size:1.125rem;max-width:27rem}.editorial-proposal .reach-channels{padding:2rem 0 3.5rem}.editorial-proposal .reach-email-link{font-size:clamp(1.75rem,8.4vw,3.5rem);line-height:1.3;letter-spacing:-.055em}.editorial-proposal .reach-details{gap:2rem 1rem;margin-top:3rem;padding-top:1.5rem}.editorial-proposal .reach-details>a{grid-template-columns:1fr;gap:.6rem}.editorial-proposal .reach-details>a>span:first-child{font-size:.8125rem}.editorial-proposal .reach-details strong{font-size:1rem}.editorial-proposal .reach-details .bb-arrow{display:none}
body.case-page.editorial-case.case-curated.editorial-proposal .case-opening{padding-top:2.5rem;gap:2rem}body.case-page.editorial-case.case-curated.editorial-proposal .case-opening h1{font-size:clamp(2.5rem,9vw,4rem);line-height:1.06}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Solid adaptive dot, with no outline or trail. */
.smooth-cursor {
  position:fixed!important;inset:0 auto auto 0!important;margin:0!important;padding:0!important;
  width:16px;height:16px;min-width:0;max-width:none;border:0;background:none;
  overflow:visible;pointer-events:none!important;z-index:2147483647;opacity:0;contain:layout style;
}
.smooth-cursor::backdrop { background:transparent;pointer-events:none; }
.smooth-cursor::before {
  content:'';display:block;position:relative;z-index:1;width:100%;height:100%;background:#000;border:0;
  box-sizing:border-box;border-radius:50%;transform:scale(1);
  transition:transform .28s cubic-bezier(.22,1,.36,1);
}
.smooth-cursor[data-visible="true"] { opacity:1; }
.smooth-cursor[data-interactive="true"]::before { transform:scale(1.35); }
.smooth-cursor[data-pressed="true"]::before { transform:scale(.85); }
@media(hover:hover) and (pointer:fine) {
  html.has-smooth-cursor,html.has-smooth-cursor body,html.has-smooth-cursor body * { cursor:none!important; }
}
@media(prefers-reduced-motion:reduce) {
  .smooth-cursor { display:none; }
}



.smooth-cursor[data-visible="true"]{will-change:transform}

.smooth-cursor[data-tone="light"]::before{background:#fff}

.smooth-cursor[data-tone="muted"]::before{background:#777}

/* Big Boom: black and white editorial structure, red accents and restrained motion. */
body.editorial-proposal{--ink:#111;--line:#dedede;--line-dark:#ffffff30;--line-red:#ffffff40;--ease-boom:cubic-bezier(.22,.68,0,1);--ease-flow:cubic-bezier(.45,0,.25,1)}
/* The registered word mark belongs to the written name, never to the logo. */
body.editorial-proposal .project-index-logo{display:block;flex:none}
body.editorial-proposal .name-registration{position:relative;top:-.35em;margin-left:.12em;font-size:.65em;font-weight:400;line-height:0;vertical-align:baseline;letter-spacing:0}
body.case-page.editorial-case.case-curated.editorial-proposal .case-opening h1{color:var(--red)}
/* Compact black footer, matching the supplied reference. */
body.editorial-proposal .boom-footer{background:var(--ink);color:#fff;padding:3rem var(--gutter);border:0}
body.editorial-proposal .boom-footer-inner{width:100%;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem}
body.editorial-proposal .boom-footer-meta{display:grid;justify-content:start;gap:.15rem;width:auto}
body.editorial-proposal .boom-footer-meta>a,body.editorial-proposal .boom-footer-meta>p{display:flex;width:fit-content;align-items:center;min-height:2.5rem;gap:.85rem;margin:0;color:#c7c7c7;font-size:.875rem;line-height:1.4}
body.editorial-proposal .boom-footer-meta svg{display:block;width:1.05rem;height:1.05rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
body.editorial-proposal .boom-footer-meta svg .icon-dot{fill:currentColor;stroke:none}
body.editorial-proposal .boom-footer-meta a:hover{color:#fff;text-decoration:underline;text-underline-offset:.25em}
body.editorial-proposal .boom-footer-brand{width:auto;max-width:none;align-self:center;justify-self:end;text-align:right}
body.editorial-proposal .boom-footer-brand>a{width:clamp(10rem,17vw,13rem);display:block;margin-left:auto}
body.editorial-proposal .boom-footer-brand img{width:100%;height:auto}
body.editorial-proposal .boom-footer-brand>p{padding:0;border:0;margin:1.5rem 0 0;font-size:.875rem;line-height:1.5;color:#bcbcbc;letter-spacing:0}
body.editorial-proposal .boom-footer-brand>.registered-brand-name{margin-top:.65rem;font-size:.75rem;line-height:1.5;color:#a0a0a0}
body.editorial-proposal .boom-footer :focus-visible{outline-color:#fff}
/* The original staggered coastal story, with monochrome photography. */
body.editorial-proposal .studio-places{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,5rem);align-items:start}
body.editorial-proposal .studio-place-benissa{padding-top:clamp(4rem,11vw,11rem)}
body.editorial-proposal .studio-place figure>img{filter:grayscale(1);aspect-ratio:1.08;object-fit:cover}
body.editorial-proposal .studio-place-byron figure>img{object-position:54% center}
body.editorial-proposal .studio-place-benissa figure>img{aspect-ratio:.88;object-position:center}
body.editorial-proposal .studio-mind-portrait img{filter:grayscale(1)}
body.editorial-proposal .studio-signoff{display:block}
body.editorial-proposal .studio-signoff p{margin:1.75rem 0 0;text-align:left}
/* Direct contact returns to the original scale on black. */
body.editorial-proposal .reach-channels{margin:0;padding:2.5rem var(--gutter) 4rem;border:0;background:var(--ink);color:#fff}
body.editorial-proposal .reach-email{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.75rem 0 2.25rem;border-bottom:1px solid #ffffff55}
body.editorial-proposal .reach-email-link{width:auto;max-width:100%;margin:0;color:#fff;font-size:clamp(1.5rem,4vw,4.2rem);font-weight:520;line-height:1.25;letter-spacing:-.055em}
body.editorial-proposal .reach-email-link .bb-arrow{display:inline-block;width:.6em;height:.6em;margin-left:1.3rem}
body.editorial-proposal .copy-email{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;min-height:56px;padding:0;border:0;border-radius:999px;background:transparent;color:#fff;font-size:.9375rem;font-weight:500;line-height:1.4;text-align:left}
body.editorial-proposal .copy-email:hover{background:transparent;color:#fff}
body.editorial-proposal .copy-email-label{display:block;min-width:8.5rem;white-space:nowrap}
body.editorial-proposal .copy-email-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid #ffffff38;border-radius:50%;color:#fff;background:transparent;transition:background .4s ease,color .4s ease,border-color .4s ease,transform .55s cubic-bezier(.16,1,.3,1)}
body.editorial-proposal .copy-email-icon svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
body.editorial-proposal .copy-email-glyph{transform-origin:center;transition:opacity .22s ease,transform .4s cubic-bezier(.16,1,.3,1)}
body.editorial-proposal .copy-email-back,body.editorial-proposal .copy-email-front{transition:transform .55s cubic-bezier(.16,1,.3,1)}
body.editorial-proposal .copy-email-check{stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset .48s cubic-bezier(.16,1,.3,1),opacity .15s ease}
body.editorial-proposal .copy-email[data-copy-state="copied"] .copy-email-icon{background:var(--red);border-color:var(--red);color:#fff}
body.editorial-proposal .copy-email[data-copy-state="copied"] .copy-email-glyph{opacity:0;transform:translateY(-3px) scale(.9)}
body.editorial-proposal .copy-email[data-copy-state="copied"] .copy-email-check{opacity:1;stroke-dashoffset:0;transition-delay:.12s}
body.editorial-proposal .copy-email:active .copy-email-icon{transform:scale(.94)}
body.editorial-proposal .copy-email:focus-visible{outline:1px solid #fff;outline-offset:7px}
@media(hover:hover) and (pointer:fine){
 body.editorial-proposal .copy-email:not([data-copy-state="copied"]):is(:hover,:focus-visible) .copy-email-icon{background:#fff;border-color:#fff;color:var(--ink)}
 body.editorial-proposal .copy-email:hover .copy-email-back{transform:translate(-.8px,-.8px)}
 body.editorial-proposal .copy-email:hover .copy-email-front{transform:translate(.8px,.8px)}
}
body.editorial-proposal .reach-details{margin:0;padding-top:2rem;border:0}
body.editorial-proposal .reach-details>a>span:first-child{color:#bcbcbc}
body.editorial-proposal .reach-details strong{color:#fff}
body.editorial-proposal .reach-channels :focus-visible{outline-color:#fff}

@media(max-width:950px){
  body.editorial-proposal .reach-email{align-items:flex-start;flex-direction:column;gap:1.5rem}
}
@media(max-width:760px){
  body.editorial-proposal .boom-footer{padding-top:2.5rem;padding-bottom:2.5rem}
  body.editorial-proposal .boom-footer-inner{grid-template-columns:1fr;gap:2rem}
  body.editorial-proposal .boom-footer-meta{grid-template-columns:1fr;gap:.15rem}
  body.editorial-proposal .boom-footer-meta>a:first-child{grid-column:auto;font-size:.875rem}
  body.editorial-proposal .boom-footer-brand{justify-self:start;text-align:left}
  body.editorial-proposal .boom-footer-brand>a{width:10.5rem;margin:0}
  body.editorial-proposal .boom-footer-brand>p{margin-top:1rem}
  body.editorial-proposal .studio-places{grid-template-columns:1fr;gap:3.5rem}
  body.editorial-proposal .studio-place-benissa{padding-top:0}
  body.editorial-proposal .studio-place-benissa figure>img{aspect-ratio:1.05}
  body.editorial-proposal .studio-signoff p{margin-top:1.4rem}
  body.editorial-proposal .reach-channels{padding:1.75rem var(--gutter) 3rem}
  body.editorial-proposal .reach-email{padding:.5rem 0 1.75rem;gap:1.4rem}
  body.editorial-proposal .reach-email-link{font-size:clamp(1.3rem,6.35vw,2.2rem);letter-spacing:-.045em}
  body.editorial-proposal .reach-email-link .bb-arrow{margin-left:.6rem}
  body.editorial-proposal .reach-details{grid-template-columns:1fr;gap:1.75rem;padding-top:1.75rem}
  body.editorial-proposal .reach-details>a{grid-template-columns:minmax(0,1fr) 1.3rem}
  body.editorial-proposal .reach-details .bb-arrow{display:block;grid-column:2;grid-row:2}
}

@media(prefers-reduced-motion:reduce){
  body.editorial-proposal .smooth-cursor{display:none}
}

/* Shared header and quiet separators. */
html{--header-height:100px;scroll-padding-top:calc(var(--header-height) + 1.5rem)}
body.editorial-proposal .header{position:sticky;top:0;z-index:60;margin:0;padding:0 var(--gutter);width:100%;background:var(--ink);color:#fff;border-bottom-color:var(--line-dark)}
body.editorial-proposal .contact-link>span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px}
body.editorial-proposal .header-contact-arrow{display:block;width:24px;height:24px;overflow:visible;stroke:currentColor;stroke-width:1.25;fill:none;transition:transform .55s cubic-bezier(.22,1,.36,1)}
body.editorial-proposal .contact-link:is(:hover,:focus-visible) .header-contact-arrow{transform:translate3d(2px,-2px,0)}
@media(max-width:950px){html{--header-height:88px}}
@media(max-width:760px){html{--header-height:78px}}
body.editorial-proposal .wordmark img{filter:none}
body.editorial-proposal .desktop-nav>a,body.editorial-proposal .desktop-nav>button,body.editorial-proposal .menu-toggle{color:#fff}
body.editorial-proposal .desktop-nav>a,body.editorial-proposal .desktop-nav>button{transition:color .25s ease}
body.editorial-proposal .desktop-nav>a::after,body.editorial-proposal .desktop-nav>button::after{transition:transform .45s cubic-bezier(.22,1,.36,1)}
body.editorial-proposal .desktop-nav>a:is(:hover,:focus-visible),body.editorial-proposal .desktop-nav>button:is(:hover,:focus-visible),body.editorial-proposal .mobile-menu nav>a:is(:hover,:focus-visible),body.editorial-proposal .mobile-menu nav>button:is(:hover,:focus-visible){color:var(--red)}
body.editorial-proposal .mobile-menu{background:var(--ink);color:#fff}
body.editorial-proposal .mobile-menu nav>a,body.editorial-proposal .mobile-menu nav>button{border-bottom-color:var(--line-dark)}
body.editorial-proposal .mobile-menu>p{color:#bcbcbc}
body.editorial-proposal .studio-origins h2{border-top-color:var(--line)}
body.editorial-proposal .studio-place figcaption{border-color:var(--line)}
body.editorial-proposal .studio-mind{background:var(--paper)}
body.editorial-proposal .studio-point-copy article,body.editorial-proposal .service-list details,body.editorial-proposal .service-list details:last-child{border-color:var(--line-dark)}
body.editorial-proposal .reach-email{border-bottom-color:var(--line-dark)}
body.editorial-proposal .copy-email{border-color:#ffffff50}
body.editorial-proposal .boom-footer::before{content:'';position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line-dark)}
body.case-page.editorial-case.case-curated.editorial-proposal .case-context,body.case-page.editorial-case.case-curated.editorial-proposal .case-idea,body.case-page.editorial-case.case-curated.editorial-proposal .case-outcome,body.case-page.editorial-case.case-curated.editorial-proposal .case-next{border-color:var(--line)}
body.editorial-proposal .service-list summary{transition:color .25s ease}
body.editorial-proposal .service-list summary::before{transition:color .25s ease}
body.editorial-proposal .service-list summary:is(:hover,:focus-visible),body.editorial-proposal .service-list summary:is(:hover,:focus-visible)::before{color:var(--red)}

/* A dark opening with a masked, one-time typographic entrance. */
body.home-page.editorial-proposal .hero{background:var(--ink);color:#fff}
body.editorial-proposal .hero h1{color:#fff}
body.editorial-proposal .hero h1>.claim-line{overflow:hidden;padding:0 .08em .075em;margin:0 -.08em -.03em}
body.editorial-proposal .hero .claim-line-inner{display:block}
body.editorial-proposal .hero-definition{margin:0 0 1.6rem;max-width:34rem;font-size:clamp(1rem,1.25vw,1.2rem);font-weight:480;line-height:1.45;letter-spacing:-.015em;color:#c7c7c7}
body.editorial-proposal .hero-bottom>p{color:#c7c7c7}
body.editorial-proposal .hero .explore-link{color:#fff}
body.editorial-proposal .hero .big-word{display:inline-block;transform-origin:left 75%;transition:transform .95s cubic-bezier(.22,1,.36,1)}
body.editorial-proposal .hero .boom-word{display:inline-block}
body.editorial-proposal .hero .boom-word>span{display:inline-block;transform-origin:center 75%;transition:transform .95s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){
 body.editorial-proposal .hero .big-word:hover{transform:scaleX(1.055)}
 body.editorial-proposal .hero .boom-word:hover>span:nth-child(1){transform:translateX(-.055em)}
 body.editorial-proposal .hero .boom-word:hover>span:nth-child(2){transform:translateX(-.025em) scaleX(1.035)}
 body.editorial-proposal .hero .boom-word:hover>span:nth-child(3){transform:translateX(.025em) scaleX(1.035)}
 body.editorial-proposal .hero .boom-word:hover>span:nth-child(4){transform:translateX(.055em)}
}
body.editorial-proposal .reach-copy h1 em{text-transform:uppercase}

/* Height-conscious covers; the next project continues to the viewport edge. */
body.editorial-proposal .work-selector{--work-gap:clamp(1rem,2vw,2rem);--work-image-height:clamp(10rem,calc(100svh - 20rem),36rem);padding:1rem 0 2.5rem;overflow:hidden}
body.editorial-proposal .work-selector-heading{margin:0 var(--gutter);padding:1rem 0 1.5rem;gap:1rem;border-top-color:var(--line)}
body.editorial-proposal .work-title-group h2{font-size:clamp(2rem,2.7vw,2.75rem);line-height:1.1}
body.editorial-proposal .work-arrows button{border-radius:50%;width:3rem;height:3rem;border-color:var(--line)}
body.editorial-proposal .work-track{gap:var(--work-gap);width:calc(100% - var(--gutter));margin:0 0 0 var(--gutter);padding:0 var(--gutter) 1rem 0;scroll-snap-type:x proximity;scroll-behavior:auto;scroll-padding-inline:0;scrollbar-width:none}
body.editorial-proposal .work-track::-webkit-scrollbar{display:none}
body.editorial-proposal .work-track:is(.has-kinetic-scroll,.is-gliding,.is-dragging){scroll-snap-type:none}
body.editorial-proposal .work-card{flex:0 0 min(calc(var(--work-image-height) * .8),calc(100vw - var(--gutter) * 2 - 2.25rem));scroll-snap-align:start}
body.editorial-proposal .work-card-image{aspect-ratio:4/5;height:auto;max-height:none;background:var(--cover-surface,var(--case-tint));filter:none}
body.editorial-proposal .work-card-image img,body.editorial-proposal .case-piece img{filter:none}
body.editorial-proposal .work-card-link .work-card-image img,body.editorial-proposal .work-card-link:hover .work-card-image img{transform:none;transition:none}
/* Keep Duki's complete 9:16 original inside each shared 4:5 cover frame. */
body.editorial-proposal .work-card-link[href$="proyectos/duki/"] .work-card-image,body.editorial-proposal[data-project="duki"] .case-opening-image{position:relative;aspect-ratio:4/5;overflow:hidden}
body.editorial-proposal .work-card-link[href$="proyectos/duki/"] .work-card-image img,body.editorial-proposal[data-project="duki"] .case-opening-image img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;padding:0;object-fit:contain;object-position:center;transform:none}
body.editorial-proposal .index-preview img[data-preview-image="duki"]{object-fit:contain;object-position:center;padding:0}
body.editorial-proposal .work-card-title{padding-top:.875rem;gap:.75rem}
body.editorial-proposal .work-card h3{font-size:clamp(1.125rem,1.35vw,1.3rem);line-height:1.25}
body.editorial-proposal .work-card p{font-size:.875rem;line-height:1.5;margin-top:.35rem}
body.editorial-proposal .work-card-arrow{transition:transform .5s cubic-bezier(.22,1,.36,1)}
body.editorial-proposal .work-card-link:is(:hover,:focus-visible) .work-card-arrow{transform:translate3d(3px,-3px,0)}

/* Bring the studio's existing value proposition into the home as living typography. */
body.editorial-proposal .brand-value{padding:clamp(4rem,7.5vw,7.5rem) var(--gutter);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);align-items:end;gap:clamp(2rem,6vw,7rem);background:var(--paper);color:var(--ink)}
body.editorial-proposal .brand-value h2{margin:0;min-width:0;font-size:clamp(3rem,7vw,7.5rem);font-weight:560;line-height:1.02;letter-spacing:-.06em}
body.editorial-proposal .value-title-line{display:block;white-space:nowrap}
body.editorial-proposal .value-context{display:block;margin-top:.3em;font-size:.5em;line-height:1.2;font-weight:450;letter-spacing:-.045em}
body.editorial-proposal .value-word{position:relative;display:inline-block;overflow:hidden;vertical-align:baseline;padding-bottom:.14em;margin-bottom:-.14em;color:var(--red)}
body.editorial-proposal .value-ink{position:relative;display:inline-block;color:var(--red)}
body.editorial-proposal .value-copy{max-width:24rem;margin:0;padding-bottom:.15em;font-size:clamp(1.2rem,1.8vw,1.75rem);line-height:1.4;font-weight:430;letter-spacing:-.025em}
body.editorial-proposal .value-copy em{color:var(--red);font-style:normal}
@media(max-width:760px){
 body.editorial-proposal .brand-value{grid-template-columns:minmax(0,1fr);gap:2rem;padding-block:3.5rem}
 body.editorial-proposal .brand-value h2{font-size:clamp(2.5rem,10.5vw,4.5rem)}
 body.editorial-proposal .value-copy{max-width:26rem;font-size:1.25rem}
}
@media(forced-colors:active){body.editorial-proposal .value-word,body.editorial-proposal .value-ink{color:CanvasText}}
body.editorial-proposal .work-arrows button{transition:background-color .35s ease,color .35s ease,border-color .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}
body.editorial-proposal .work-arrows button:active:not(:disabled){transform:scale(.94)}
/* The page keeps native scrolling; only the desktop rail gets the brand treatment. */
html.bb-scrollbar-active{scrollbar-width:none;padding-right:14px}
html.bb-scrollbar-active::-webkit-scrollbar{display:none}
.bb-scroll-rail{position:fixed;right:0;top:0;bottom:0;width:14px;padding:14px 0;background:#111;border-left:1px solid #ffffff20;z-index:100;touch-action:none;cursor:default}
.bb-scroll-rail[hidden]{display:none}
.bb-scroll-thumb{position:absolute;top:14px;left:5px;width:4px;border-radius:999px;background:var(--red,#da1a32);opacity:.9;cursor:grab;transition:width .3s ease,left .3s ease,opacity .3s ease;will-change:transform}
.bb-scroll-rail:is(:hover,:focus-visible,.is-dragging) .bb-scroll-thumb{left:4px;width:6px;opacity:1}
.bb-scroll-rail.is-dragging,.bb-scroll-rail.is-dragging .bb-scroll-thumb{cursor:grabbing}
.bb-scroll-rail:focus-visible{outline:1px solid #fff;outline-offset:-2px}
@media(forced-colors:active){html.bb-scrollbar-active{scrollbar-width:auto;padding-right:0}.bb-scroll-rail{display:none}}

/* One moving selection, with a separate crossfade for the project photograph. */
body.editorial-proposal .project-index{position:fixed;inset:0;width:100%;height:100dvh;max-height:none;overflow:hidden;background:var(--red);color:#fff;opacity:0;transform:translateY(12px);transition:opacity .32s ease,transform .48s var(--ease-boom)}
body.editorial-proposal .project-index.is-visible{opacity:1;transform:none}
body.editorial-proposal .project-index::backdrop{background:var(--red);backdrop-filter:none}
body.editorial-proposal .project-index-shell{height:100%;min-height:0;padding:0 var(--gutter) clamp(1.5rem,3vh,3rem);display:grid;grid-template-rows:clamp(4.25rem,9.5vh,6rem) minmax(0,1fr)}
body.editorial-proposal .project-index-top{padding:1rem 0;min-height:0;border-bottom-color:var(--line-red)}
body.editorial-proposal .project-index-body{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);gap:8%;padding:clamp(1.5rem,4vh,3rem) 0 0;min-height:0;align-items:stretch;overflow:visible}
body.editorial-proposal .project-index-intro{position:static;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(1rem,3vh,1.75rem);min-height:0;padding:0}
body.editorial-proposal .project-index-intro h2{font-size:clamp(2.6rem,min(4.5vw,7.1vh),5rem);line-height:1.02;margin:0;letter-spacing:-.055em}
body.editorial-proposal .project-index-intro em{color:#fff}
body.editorial-proposal .index-preview{position:relative;flex:0 1 auto;width:min(100%,calc((100svh - 21rem) * .8));max-width:30rem;max-height:none;min-height:0;height:auto;aspect-ratio:4/5;margin:0;overflow:hidden;transform:none;background:transparent}
body.editorial-proposal .index-preview img[data-case-cover]{width:100%;height:100%;background:var(--cover-surface,var(--case-tint));opacity:0;visibility:hidden;transform:none;transition:opacity .5s ease,visibility 0s linear .5s}
body.editorial-proposal .index-preview img[data-case-cover].is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}
body.editorial-proposal .project-index-list{position:relative;isolation:isolate;display:grid;grid-template-rows:repeat(14,minmax(0,1fr));min-height:0;height:100%;padding:0;margin:0;overflow:visible}
body.editorial-proposal .index-selection{position:absolute;top:0;left:0;width:100%;height:0;z-index:0;background:#fff;pointer-events:none;opacity:0;transition:transform .44s cubic-bezier(.22,1,.36,1),height .44s cubic-bezier(.22,1,.36,1),opacity .2s ease}
body.editorial-proposal .project-index[open] .index-selection{will-change:transform}
body.editorial-proposal .index-project{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) 1.5rem;align-items:center;gap:1.2rem;min-height:0;height:100%;padding:0 .4rem;border-top:1px solid var(--line-red);color:#ffffffc9;background:transparent;transition:color .35s ease}
body.editorial-proposal .index-project:last-child{border-bottom:1px solid var(--line-red)}
body.editorial-proposal .index-project:before{display:none}
body.editorial-proposal .index-title{grid-column:1;grid-row:1;font-size:clamp(1rem,min(1.55vw,3vh),1.85rem);font-weight:560;letter-spacing:-.045em;line-height:1.13}
body.editorial-proposal .index-meta{grid-column:2;grid-row:1;display:block;color:inherit;font-size:clamp(.75rem,min(.95vw,1.65vh),.9375rem);line-height:1.35;letter-spacing:-.01em}
body.editorial-proposal .index-arrow{grid-column:3;grid-row:1;justify-self:end;align-self:center}
body.editorial-proposal .index-project:is(:hover,:focus-visible,.is-active){padding-inline:.4rem;background:transparent;color:var(--ink)}
body.editorial-proposal .index-project:is(:hover,:focus-visible,.is-active) .index-meta{color:inherit}
body.editorial-proposal .project-index :focus-visible{outline:2px solid #fff;outline-offset:3px}

/* A typographic, open contact composition replacing the cancelled sticker. */
body.editorial-proposal .boom-contact-kinetic{display:block;width:100%;max-width:none;margin:0;padding:clamp(4rem,7vw,7rem) var(--gutter) clamp(4rem,6vw,6rem);background:var(--ink);color:#fff;overflow:hidden;isolation:isolate}
body.editorial-proposal .boom-contact-kinetic .boom-contact-intro{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(16rem,.85fr);align-items:end;gap:clamp(2rem,5vw,6rem);padding:0;margin:0}
body.editorial-proposal .boom-contact-kinetic h2{font-family:var(--font);font-size:clamp(2rem,4.4vw,4.6rem);font-weight:450;line-height:1.1;letter-spacing:-.045em;color:#fff;margin:0;text-transform:none}
body.editorial-proposal .boom-contact-kinetic h2>span{display:block}
body.editorial-proposal .boom-contact-kinetic h2>span:nth-child(2){margin:.35rem 0 .7rem;line-height:1.02}
body.editorial-proposal .boom-contact-kinetic h2 strong{display:inline-block;font-size:clamp(3.5rem,10.2vw,11rem);font-weight:780;line-height:1.03;letter-spacing:-.065em;color:var(--red)}
body.editorial-proposal .grande-word{white-space:nowrap;--grande-scale:1;--grande-shift:0px}
body.editorial-proposal .grande-word>span{display:inline-block}
body.editorial-proposal .grande-vowel{transform-origin:left center;transform:scaleX(var(--grande-scale));transition:transform 1.15s cubic-bezier(.22,1,.36,1)}
body.editorial-proposal .grande-ending{transform:translate3d(var(--grande-shift),0,0);transition:transform 1.15s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){body.editorial-proposal .grande-word:hover{--grande-scale:var(--grande-max-scale,2.7);--grande-shift:var(--grande-max-shift,1.1em)}}
body.editorial-proposal .boom-contact-kinetic:focus-within .grande-word{--grande-scale:var(--grande-max-scale,2.7);--grande-shift:var(--grande-max-shift,1.1em)}
body.editorial-proposal .boom-contact-kinetic h2>span:last-child{text-align:left}
body.editorial-proposal .boom-contact-kinetic .boom-contact-copy{display:block;min-width:0;max-width:29rem;margin:0;padding:0}
body.editorial-proposal .boom-contact-kinetic .boom-contact-copy p{grid-column:1;max-width:29rem;margin:0;color:#bcbcbc;font-size:1.0625rem;line-height:1.65;letter-spacing:-.01em}
body.editorial-proposal .boom-contact-kinetic .boom-contact-copy p+p{margin:1.2rem 0 0}
body.editorial-proposal .boom-contact-kinetic .boom-contact-copy strong{color:#fff;font-weight:600}
body.editorial-proposal .boom-contact-kinetic .boom-contact-button{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;width:100%;min-height:6rem;margin:2rem 0 0;padding:0;border:0;border-radius:0;background:none;color:#fff!important;font-size:clamp(.875rem,1.1vw,1.0625rem);font-weight:500;line-height:1.3;letter-spacing:.015em}
body.editorial-proposal .boom-contact-kinetic .boom-contact-button-icon{display:grid;place-items:center;flex:0 0 auto;width:clamp(5.5rem,8.5vw,9rem);height:clamp(5.5rem,8.5vw,9rem);border:1px solid #ffffff70;border-radius:50%;background:transparent;color:#fff;transition:background .35s ease,border-color .35s ease}
body.editorial-proposal .boom-contact-kinetic .cta-contact-arrow{display:block;width:44%;height:44%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1;transition:transform .6s cubic-bezier(.22,1,.36,1)}
body.editorial-proposal .boom-contact-kinetic .boom-contact-button:is(:hover,:focus-visible) .boom-contact-button-icon{background:var(--red);border-color:var(--red)}
body.editorial-proposal .boom-contact-kinetic .boom-contact-button:is(:hover,:focus-visible) .cta-contact-arrow{transform:translate(2px,-2px)}
body.editorial-proposal .boom-contact-kinetic .boom-contact-button:focus-visible{outline:2px solid #fff;outline-offset:8px}

@media(max-width:900px){
 body.editorial-proposal .boom-contact-kinetic .boom-contact-intro{grid-template-columns:minmax(0,1fr);gap:2.5rem}
 body.editorial-proposal .boom-contact-kinetic .boom-contact-copy{max-width:34rem}
}
@media(max-width:900px),(max-height:620px){
 body.editorial-proposal .project-index-shell{padding-bottom:1.5rem;grid-template-rows:4.75rem minmax(0,1fr)}
 body.editorial-proposal .project-index-body{display:block;padding-top:1.5rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 body.editorial-proposal .project-index-intro{display:block;position:static;margin-bottom:1.5rem}
 body.editorial-proposal .project-index-intro h2{font-size:2.5rem}
 body.editorial-proposal .index-preview{display:none}
 body.editorial-proposal .project-index-list{display:block;height:auto}
 body.editorial-proposal .index-project{min-height:3.6rem;height:auto;padding:.85rem .4rem}
 body.editorial-proposal .index-title{font-size:1.125rem;line-height:1.2}
 body.editorial-proposal .index-meta{font-size:.8125rem;line-height:1.35}
}
@media(max-width:760px){
 body.editorial-proposal .work-title-group h2{font-size:clamp(1.5rem,6vw,2rem)}
 body.editorial-proposal .work-arrows button{width:2.75rem;height:2.75rem}
 body.editorial-proposal .work-track{gap:1rem}
 body.editorial-proposal .index-project{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 1.25rem;gap:1rem}
 body.editorial-proposal .index-title{font-size:1rem}
 body.editorial-proposal .index-meta{font-size:.8125rem}
 body.editorial-proposal .index-arrow .bb-arrow{width:1.15rem;height:1.15rem}
 body.editorial-proposal .boom-contact-kinetic{padding:3.5rem var(--gutter) 3rem}
 body.editorial-proposal .boom-contact-kinetic h2{font-size:clamp(1.65rem,6.6vw,2.75rem);line-height:1.15}
 body.editorial-proposal .boom-contact-kinetic h2 strong{font-size:12.8vw;line-height:1.08;letter-spacing:-.065em}
 body.editorial-proposal .boom-contact-kinetic h2>span:nth-child(2){margin:.5rem 0 .75rem}
 body.editorial-proposal .boom-contact-kinetic .boom-contact-copy{display:block;margin-top:0}
 body.editorial-proposal .boom-contact-kinetic .boom-contact-copy p{font-size:1rem;line-height:1.6}
 body.editorial-proposal .boom-contact-kinetic .boom-contact-copy p+p{margin-top:1.2rem}
 body.editorial-proposal .boom-contact-kinetic .boom-contact-button{margin-top:2rem;min-height:5rem;gap:1rem;font-size:.875rem}
 body.editorial-proposal .boom-contact-kinetic .boom-contact-button-icon{width:5rem;height:5rem}
}
@media(max-width:400px){
 body.editorial-proposal .index-project{grid-template-columns:minmax(0,1fr) 1.25rem;gap:.35rem .75rem}
 body.editorial-proposal .index-meta{grid-column:1;grid-row:2}
 body.editorial-proposal .index-arrow{grid-column:2;grid-row:1/3}
}
@media(prefers-reduced-motion:reduce){
 body.editorial-proposal .grande-word{--grande-scale:1!important;--grande-shift:0px!important}
 body.editorial-proposal .hero .big-word,body.editorial-proposal .hero .boom-word>span,body.editorial-proposal .cta-contact-arrow{transform:none!important;transition:none!important}
 body.editorial-proposal .index-selection,body.editorial-proposal .index-preview img[data-case-cover],body.editorial-proposal .project-index{transition:none}
 body.editorial-proposal .boom-contact-kinetic .boom-contact-button-icon{transform:none!important}
}
@media(forced-colors:active){
 body.editorial-proposal .index-selection{background:Highlight}
 body.editorial-proposal .index-project.is-active{color:HighlightText}
 body.editorial-proposal .boom-contact-kinetic,body.editorial-proposal .boom-contact-kinetic h2 strong{color:CanvasText;background:Canvas}
}

/* One typographic system for the home, studio, contact and every case study. */
body.editorial-proposal{
 --font:Archivo,'Helvetica Neue',Helvetica,Arial,sans-serif;
 --font-title:var(--font);--font-body:var(--font);--font-ui:var(--font);
 --type-body:1rem;--type-small:.875rem;--type-ui:.9375rem;
 --type-lede:clamp(1.125rem,1.55vw,1.5rem);
 --type-subheading:clamp(1.35rem,1.8vw,1.75rem);
 --weight-heading:650;--weight-subheading:600;--weight-body:400;--weight-label:500;
 --weight-studio:680;--weight-contact:700;--weight-case-section:600;
 --weight-claim:480;--weight-impact:850;
 --leading-heading:1.12;--leading-body:1.65;
 font-family:var(--font-body);font-size:var(--type-body);
 -webkit-text-size-adjust:100%;text-size-adjust:100%;
}
body.editorial-proposal :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-title)!important}
body.editorial-proposal :is(p,li,dt,dd,figcaption,label,input,select,textarea){font-family:var(--font-body)!important}
body.editorial-proposal :is(button,summary){font-family:var(--font-ui)!important}
body.editorial-proposal :is(a,span,strong,em,small){font-family:inherit!important}
body.editorial-proposal :is(em,i){font-style:normal}
body.editorial-proposal :is(button,input,select,textarea){letter-spacing:inherit}
body.editorial-proposal :is(.desktop-nav,.menu-toggle,.project-index-close){font-size:var(--type-ui);font-weight:var(--weight-label)}
body.editorial-proposal :is(.studio-intro h1,.studio-origins h2,.studio-mind h2,.studio-point h2,.studio-signoff h2,.reach-copy h1){font-weight:var(--weight-heading)}
body.editorial-proposal .case-main :is(.case-context h2,.case-chapter-heading h2,.case-idea h2,.case-outcome h2,.case-design-notes h2){font-weight:var(--weight-heading)}
body.editorial-proposal :is(.work-card p,.case-discipline,.case-eyebrow,.case-meta dt,.case-piece figcaption,.studio-place figcaption){font-size:var(--type-small);line-height:1.5}
body.editorial-proposal .work-track{touch-action:pan-x pan-y pinch-zoom}
body.editorial-proposal .service-list details[open]>summary,
body.editorial-proposal .service-list details[open]>summary::before{color:var(--red)}
body.editorial-proposal .details-icon{transition:transform .42s cubic-bezier(.22,1,.36,1)}

/* Touch layouts share the same rhythm, with no desktop minimum-width columns. */
@media(max-width:760px){
 html{--header-height:72px;scroll-padding-top:calc(var(--header-height) + 1rem)}
 body.editorial-proposal{--gutter:clamp(1.25rem,5vw,2rem);--section-space:clamp(3.5rem,12vw,5.5rem);--type-section:clamp(2.25rem,8.6vw,3.5rem)}
 body.editorial-proposal .header,
 body.menu-open.editorial-proposal .header{position:sticky;inset:0 0 auto;height:var(--header-height);min-height:var(--header-height);gap:1rem}
 body.editorial-proposal .wordmark{width:138px;display:flex;align-items:center;min-height:44px}
 body.editorial-proposal .wordmark img{width:100%}
 body.editorial-proposal .desktop-nav{display:none}
 body.editorial-proposal .menu-toggle{display:flex;align-items:center;gap:1.2rem;min-width:80px;min-height:44px;justify-content:space-between;padding:.5rem 0;border:0;background:transparent;color:#fff}
 body.editorial-proposal .menu-toggle>span{display:block;font-size:1.65rem;font-weight:400;line-height:1;transition:transform .42s cubic-bezier(.22,1,.36,1)}
 body.editorial-proposal .menu-toggle[aria-expanded="true"]>span{transform:rotate(45deg)}
 body.editorial-proposal .mobile-menu{
  position:fixed;inset:var(--header-height) 0 0;z-index:55;
  display:flex;flex-direction:column;justify-content:space-between;
  height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain;
  padding:clamp(1.5rem,5vh,3rem) var(--gutter) max(2rem,env(safe-area-inset-bottom));
  background:var(--ink);color:#fff;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .36s ease,visibility 0s linear .36s;
 }
 body.editorial-proposal .mobile-menu[hidden]{display:none}
 body.editorial-proposal .mobile-menu.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
 body.editorial-proposal .mobile-menu nav{display:flex;flex-direction:column;flex:none}
 body.editorial-proposal .mobile-menu nav>a,
 body.editorial-proposal .mobile-menu nav>button{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;
  min-height:80px;padding:1.25rem 0;background:transparent;border:0;border-bottom:1px solid var(--line-dark);color:inherit;
  font-size:clamp(2.35rem,9vw,4.4rem);font-weight:var(--weight-heading);line-height:1.15;letter-spacing:-.055em;text-align:left;
  opacity:0;transform:translate3d(0,12px,0);transition:opacity .4s ease,transform .55s cubic-bezier(.22,1,.36,1),color .2s ease;
 }
 body.editorial-proposal .mobile-menu.is-visible nav>a,
 body.editorial-proposal .mobile-menu.is-visible nav>button{opacity:1;transform:none}
 body.editorial-proposal .mobile-menu.is-visible nav>:nth-child(2){transition-delay:.045s}
 body.editorial-proposal .mobile-menu.is-visible nav>:nth-child(3){transition-delay:.09s}
 body.editorial-proposal .mobile-menu nav span{font-size:var(--type-small);font-weight:400;letter-spacing:0}
 body.editorial-proposal .mobile-menu>p{margin-top:2.5rem;font-size:var(--type-small);line-height:1.5;color:#bcbcbc}
 body.editorial-proposal .mobile-menu nav>:is(:active,:focus-visible){color:var(--red)}

 body.home-page.editorial-proposal .hero{padding:2.5rem var(--gutter) 2.75rem}
 body.editorial-proposal .hero-definition{font-size:var(--type-ui);margin-bottom:2rem}
 body.editorial-proposal .hero h1{font-size:clamp(2.75rem,13.6vw,6.4rem);line-height:1.12;letter-spacing:-.065em;padding-bottom:2rem}
 body.editorial-proposal .hero-bottom{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:1.5rem;padding:0}
 body.editorial-proposal .hero-bottom>p{font-size:1.0625rem;line-height:1.6;max-width:30rem}
 body.editorial-proposal .explore-link{min-height:44px;font-size:var(--type-small)}
 body.editorial-proposal .work-selector{--work-gap:1rem;--work-image-height:clamp(12rem,calc(100svh - var(--header-height) - 15rem),31rem);padding:1.5rem 0 2.5rem}
 body.editorial-proposal .work-selector-heading{padding:1rem 0 1.25rem;gap:.75rem}
 body.editorial-proposal .work-title-group{min-width:0}
 body.editorial-proposal .work-title-group h2{font-size:clamp(1.4rem,5.6vw,2.35rem);font-weight:var(--weight-heading);letter-spacing:-.045em;line-height:1.12}
 body.editorial-proposal .work-arrows{gap:.45rem;flex:none}
 body.editorial-proposal .work-arrows button{width:44px;height:44px;flex:0 0 44px}
 body.editorial-proposal .work-track{padding-bottom:.75rem;gap:var(--work-gap);scroll-snap-type:x proximity;overscroll-behavior-x:contain}
 body.editorial-proposal .work-card{flex:0 0 min(calc(100vw - var(--gutter) * 2 - 1.5rem),calc(var(--work-image-height) * .8))}
 body.editorial-proposal .work-card-title{gap:.75rem;padding-top:1rem}
 body.editorial-proposal .work-card h3{font-size:1.125rem;line-height:1.3;font-weight:560}
 body.editorial-proposal .work-card-arrow{flex:0 0 1.25rem}
 body.editorial-proposal .work-card p{line-height:1.45;margin-top:.4rem}
 body.editorial-proposal .brand-value{padding-block:var(--section-space);gap:1.75rem}
 body.editorial-proposal .brand-value h2{font-size:clamp(2.5rem,10.8vw,4.8rem)}
 body.editorial-proposal .value-copy{font-size:1.1875rem;line-height:1.5;max-width:28rem}
 body.editorial-proposal .services-studio{display:block;padding:var(--section-space) var(--gutter)}
 body.editorial-proposal .services-intro{display:block;margin:0}
 body.editorial-proposal .services-intro h2{font-size:var(--type-section);line-height:1.1;margin:0 0 1.5rem}
 body.editorial-proposal .services-intro>p{font-size:1.25rem;line-height:1.5;max-width:28rem}
 body.editorial-proposal .service-list{margin-top:2.5rem}
 body.editorial-proposal .service-list summary{grid-template-columns:1.2rem minmax(0,1fr) 24px;gap:.75rem;padding:1.4rem 0;font-size:clamp(1.3rem,5.5vw,1.75rem);line-height:1.25}
 body.editorial-proposal .service-list summary::before{padding-top:.2rem;font-size:var(--type-small)}
 body.editorial-proposal .service-list details>p{font-size:var(--type-body);line-height:1.65;padding:0 0 1.75rem 1.95rem}

 body.editorial-proposal .project-index{transform:translateY(6px)}
 body.editorial-proposal .project-index.is-visible{transform:none}
 body.editorial-proposal .project-index-shell{grid-template-rows:var(--header-height) minmax(0,1fr);padding-bottom:max(1rem,env(safe-area-inset-bottom))}
 body.editorial-proposal .project-index-top{padding:0;align-items:center}
 body.editorial-proposal .project-index-logo img{width:138px}
 body.editorial-proposal .project-index-close{min-height:44px;min-width:76px;justify-content:space-between;gap:1rem}
 body.editorial-proposal .project-index-body{padding-top:1.75rem;scroll-padding-block:1rem}
 body.editorial-proposal .project-index-intro{margin:0 0 2rem}
 body.editorial-proposal .project-index-intro h2{font-size:var(--type-section);font-weight:var(--weight-heading);line-height:1.07}
 body.editorial-proposal .index-project{grid-template-columns:minmax(0,1fr) 1.5rem;grid-template-rows:auto auto;gap:.4rem 1rem;padding:1rem .5rem;min-height:84px}
 body.editorial-proposal .index-title{grid-column:1;grid-row:1;font-size:1.125rem;line-height:1.22;letter-spacing:-.035em}
 body.editorial-proposal .index-meta{grid-column:1;grid-row:2;font-size:var(--type-small);line-height:1.4;max-width:30rem}
 body.editorial-proposal .index-arrow{grid-column:2;grid-row:1/3}
 body.editorial-proposal .index-project:is(:hover,:focus-visible,.is-active){padding-inline:.5rem}
 body.editorial-proposal .index-arrow .bb-arrow{width:1.25rem;height:1.25rem}
 body.editorial-proposal .index-selection{transition:transform .32s cubic-bezier(.22,1,.36,1),height .32s cubic-bezier(.22,1,.36,1),opacity .2s ease}

 body.editorial-proposal .studio-intro{display:block;padding:3rem var(--gutter) var(--section-space)}
 body.editorial-proposal .studio-intro h1{font-size:clamp(3rem,11vw,5.25rem);line-height:1.06;margin:0 0 2rem}
 body.editorial-proposal .studio-intro-copy>p:first-child{font-size:1.25rem;line-height:1.5}
 body.editorial-proposal .studio-origins{padding-bottom:var(--section-space)}
 body.editorial-proposal .studio-origins h2{font-size:var(--type-section);line-height:1.12;margin-bottom:2rem;padding-top:1.5rem}
 body.editorial-proposal .studio-places{grid-template-columns:minmax(0,1fr);gap:3.25rem}
 body.editorial-proposal .studio-place-benissa{padding-top:0}
 body.editorial-proposal .studio-place-byron figure{margin-right:1.25rem}
 body.editorial-proposal .studio-place-benissa figure{margin-left:1.25rem}
 body.editorial-proposal .studio-place figcaption{gap:.75rem;margin:.75rem 0 1.5rem}
 body.editorial-proposal .studio-place h3{font-size:1.5rem;line-height:1.25}
 body.editorial-proposal .studio-mind{display:flex;flex-direction:column;align-items:stretch;padding:var(--section-space) var(--gutter);gap:2.5rem}
 body.editorial-proposal .studio-mind h2{font-size:var(--type-section);line-height:1.1;margin-bottom:2rem}
 body.editorial-proposal .studio-mind-portrait{width:100%;max-width:30rem;align-self:center}
 body.editorial-proposal .studio-point{display:block;padding:var(--section-space) var(--gutter)}
 body.editorial-proposal .studio-point h2{font-size:var(--type-section);line-height:1.12;margin-bottom:2rem}
 body.editorial-proposal .studio-point-copy>p{font-size:1.25rem;line-height:1.5}
 body.editorial-proposal .studio-signoff{padding:var(--section-space) var(--gutter)}
 body.editorial-proposal .studio-signoff h2{font-size:var(--type-section);line-height:1.12}
 body.editorial-proposal .reach-hero{padding:3rem var(--gutter) var(--section-space)}
 body.editorial-proposal .reach-copy{display:block}
 body.editorial-proposal .reach-copy h1{font-size:clamp(3rem,13vw,6rem);line-height:1.07;margin-bottom:2rem}
 body.editorial-proposal .reach-copy>p{font-size:1.125rem;line-height:1.6;max-width:30rem}
 body.editorial-proposal .reach-email-link{font-size:clamp(1.1rem,5.65vw,2.65rem);line-height:1.4;letter-spacing:-.045em}
 body.editorial-proposal .reach-details strong{font-size:1.125rem}
 body.editorial-proposal .reach-details>a{min-height:64px}
 body.editorial-proposal .boom-contact-kinetic{padding:var(--section-space) var(--gutter)}
 body.editorial-proposal .boom-contact-kinetic h2{font-size:clamp(1.75rem,7vw,3rem);line-height:1.15}
 body.editorial-proposal .boom-contact-kinetic h2 strong{font-size:clamp(3.5rem,14.5vw,6.5rem);line-height:1.08}
 body.editorial-proposal .boom-contact-kinetic .boom-contact-copy p{font-size:var(--type-body);line-height:1.65}
 body.editorial-proposal .boom-contact-kinetic .boom-contact-button{min-height:5rem;font-size:var(--type-ui);line-height:1.4}
 body.editorial-proposal .boom-contact-kinetic .boom-contact-button-icon{width:4.5rem;height:4.5rem}
 body.editorial-proposal .boom-footer{padding-top:2.5rem;padding-bottom:max(2.5rem,env(safe-area-inset-bottom))}
 body.editorial-proposal .boom-footer-meta>a{min-height:44px}

 body.case-page.editorial-case.case-curated.editorial-proposal{--case-space:var(--section-space);--case-gap:1.5rem}
 body.case-page.editorial-case.case-curated.editorial-proposal .case-opening{grid-template-columns:minmax(0,1fr);padding-top:2.75rem;gap:2rem}
 body.case-page.editorial-case.case-curated.editorial-proposal .case-opening h1{font-size:clamp(2.25rem,9.3vw,4.25rem);font-weight:var(--weight-heading);line-height:1.07;letter-spacing:-.05em;overflow-wrap:anywhere;margin-bottom:1.4rem}
 body.editorial-proposal .case-intro{font-size:1.125rem;line-height:1.55;max-width:32rem}
 body.editorial-proposal .case-main :is(.case-context,.case-idea,.case-chapter-heading,.case-outcome,.case-design-notes){grid-template-columns:minmax(0,1fr);gap:1.75rem}
 body.editorial-proposal .case-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem}
 body.editorial-proposal .case-meta .case-scope{grid-column:1/-1}
 body.editorial-proposal .case-role-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.4rem 1rem}
 body.editorial-proposal .case-main :is(.case-context h2,.case-chapter-heading h2,.case-idea h2,.case-outcome h2,.case-design-notes h2){font-size:clamp(1.75rem,7vw,2.6rem);line-height:1.15;letter-spacing:-.04em;max-width:none}
 body.editorial-proposal .case-main :is(.case-context p,.case-idea p,.case-chapter-heading p,.case-outcome p,.case-design-notes p){font-size:var(--type-body);line-height:1.7}
 body.editorial-proposal .case-main .case-idea .case-idea-statement{font-size:clamp(1.65rem,6.5vw,2.5rem);line-height:1.22}
 body.editorial-proposal .case-main :is(.case-media-grid,.case-media-row){grid-template-columns:minmax(0,1fr);gap:2rem}
 body.editorial-proposal .case-main .case-media-grid :is(.case-piece,.case-note){grid-column:1/-1;max-width:100%;min-width:0}
 body.editorial-proposal .case-main .case-media-grid .case-media-row .case-piece{max-width:min(100%,30rem)}
 body.editorial-proposal .case-main .case-media-grid .case-media-row .case-piece:is(.is-landscape,.is-feature,.is-panorama){max-width:100%}
 body.editorial-proposal .case-main .case-piece img{height:auto;max-height:none;object-fit:contain}
 body.editorial-proposal .case-metrics{gap:2rem}
 body.editorial-proposal .case-metrics>div{min-width:100%}
 body.editorial-proposal .case-palette{flex-wrap:wrap}
 body.editorial-proposal .case-palette li{flex-basis:33.333%;min-height:5rem;font-size:var(--type-small)}
}
@media(hover:none),(pointer:coarse){
 body.editorial-proposal .work-arrows button:hover:not(:disabled){background:transparent;color:var(--ink)}
 body.editorial-proposal .work-arrows button:active:not(:disabled){background:var(--ink);color:#fff}
 body.editorial-proposal .work-card-link:hover .work-card-arrow{transform:none}
 body.editorial-proposal .boom-contact-button:active .boom-contact-button-icon{background:var(--red);border-color:var(--red)}
}

/* Consistency is by role: titles, body copy, introductions and labels each keep their own hierarchy. */
body.editorial-proposal :is(.services-intro h2,.studio-origins h2,.studio-mind h2,.studio-point h2,.studio-signoff h2,.brand-value h2,.project-index-intro h2,.work-title-group h2){font-weight:var(--weight-heading);letter-spacing:-.045em}
body.editorial-proposal :is(.studio-place h3,.studio-point-copy h3,.case-note h3){font-size:var(--type-subheading);font-weight:var(--weight-subheading);line-height:1.25;letter-spacing:-.03em}
body.editorial-proposal :is(.hero-bottom>p,.studio-intro-copy>p:first-child,.services-intro>p,.studio-point-copy>p,.reach-copy>p,.value-copy,.case-intro){font-size:var(--type-lede);font-weight:var(--weight-body);line-height:1.5;letter-spacing:-.02em}
body.editorial-proposal :is(.studio-intro-copy>p+p,.studio-place>p,.studio-mind-copy>p:last-child,.studio-point-copy article p,.studio-signoff p,.service-list details>p){font-size:var(--type-body);font-weight:var(--weight-body);line-height:var(--leading-body);letter-spacing:0}
body.editorial-proposal .boom-contact-kinetic .boom-contact-copy p{font-size:var(--type-body);font-weight:var(--weight-body);line-height:var(--leading-body);letter-spacing:0}
body.editorial-proposal .case-main :is(.case-context p,.case-chapter-heading p,.case-idea p:not(.case-idea-statement),.case-outcome p:not(.case-metrics-note),.case-note p,.case-design-notes p){font-size:var(--type-body);font-weight:var(--weight-body);line-height:var(--leading-body);letter-spacing:0}
body.editorial-proposal :is(.work-card p,.case-discipline,.case-eyebrow,.case-meta dt,.case-piece figcaption,.studio-place figcaption){font-size:var(--type-small);font-weight:var(--weight-body);line-height:1.5;letter-spacing:0}

/* Original Big Boom typography, verified against the live site's own CSS and identical font file.
   Font family, weight and tracking retain the brand; responsive sizes belong to the layout above. */
body.editorial-proposal .hero h1{font-weight:var(--weight-claim);letter-spacing:-.065em;line-height:.92}
body.editorial-proposal .hero h1 strong{font-weight:var(--weight-impact)}
body.editorial-proposal .studio-intro h1{font-weight:var(--weight-studio);letter-spacing:-.06em;line-height:.96}
body.editorial-proposal :is(.studio-origins h2,.studio-mind h2,.studio-point h2,.studio-signoff h2){font-weight:var(--weight-studio);letter-spacing:-.065em;line-height:.92}
body.editorial-proposal .studio-origins h2{line-height:.98}
body.editorial-proposal .reach-copy h1{font-weight:var(--weight-contact);letter-spacing:-.065em;line-height:.92}
body.editorial-proposal .services-intro h2{font-weight:var(--weight-heading);letter-spacing:-.06em;line-height:.92}
body.editorial-proposal .service-list summary{font-weight:var(--weight-label);letter-spacing:-.035em;line-height:1.15}
body.editorial-proposal .work-title-group h2{font-weight:560;letter-spacing:-.055em;line-height:.92}
body.editorial-proposal .work-title-group h2>span{font-weight:820}
body.editorial-proposal .work-card h3{font-weight:560;letter-spacing:-.035em;line-height:1.02}
body.editorial-proposal .project-index-intro h2{font-weight:590;letter-spacing:-.05em;line-height:.92}
body.editorial-proposal .index-title{font-weight:600;letter-spacing:-.055em}
body.editorial-proposal .mobile-menu nav>a,
body.editorial-proposal .mobile-menu nav>button{font-weight:600;letter-spacing:-.06em}
body.case-page.editorial-case.case-curated.editorial-proposal .case-opening h1{font-weight:var(--weight-heading);letter-spacing:-.055em;line-height:1.02}
body.editorial-proposal .case-main :is(.case-context h2,.case-chapter-heading h2,.case-idea h2,.case-outcome h2,.case-design-notes h2){font-weight:var(--weight-case-section);letter-spacing:-.035em;line-height:1.15}
body.editorial-proposal .case-main .case-context h2{letter-spacing:-.04em;line-height:1.14}
body.editorial-proposal .studio-place h3{font-weight:600;letter-spacing:-.05em;line-height:1.02}
body.editorial-proposal .studio-point-copy h3{font-weight:600;letter-spacing:-.02em;line-height:1.02}
body.editorial-proposal .case-note h3{font-weight:600;letter-spacing:-.025em;line-height:1.2}
body.editorial-proposal .boom-contact-kinetic h2{font-weight:var(--weight-contact);letter-spacing:-.05em;line-height:.99}
body.editorial-proposal .boom-contact-kinetic h2 strong{font-weight:var(--weight-impact)}
body.editorial-proposal .boom-contact-kinetic .boom-contact-copy strong{font-weight:650}
body.editorial-proposal :is(.case-discipline,.case-eyebrow){font-weight:var(--weight-label)}

/* Quiet, shared interaction details. Brand typography and artwork stay untouched. */
body.editorial-proposal{--ease-detail:cubic-bezier(.16,1,.3,1)}
body.editorial-proposal .desktop-nav>a::after,
body.editorial-proposal .desktop-nav>button::after{transform-origin:right;transition:transform .6s var(--ease-detail)}
body.editorial-proposal .desktop-nav>a:is(:hover,:focus-visible)::after,
body.editorial-proposal .desktop-nav>button:is(:hover,:focus-visible)::after{transform-origin:left;transform:scaleX(1)}
body.editorial-proposal .work-arrows button{transition:background-color .35s ease,color .35s ease,border-color .35s ease,transform .5s var(--ease-detail)}
body.editorial-proposal .work-arrows .bb-arrow{transition:translate .6s var(--ease-detail)}
body.editorial-proposal .work-card-arrow{transition:transform .7s var(--ease-detail),color .3s ease}
body.editorial-proposal .work-card-link:is(:hover,:focus-visible) .work-card-arrow{color:var(--red)}
body.editorial-proposal .service-list summary{grid-template-columns:1.5rem minmax(0,1fr) 2rem;align-items:center;transition:color .3s ease}
body.editorial-proposal .service-list summary::before{padding-top:0}
body.editorial-proposal .details-icon{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #ffffff30;border-radius:50%;font-size:1.4rem;font-weight:400;line-height:1;letter-spacing:0;transition:transform .6s var(--ease-detail),border-color .3s ease,background-color .3s ease}
body.editorial-proposal .service-list details[open] .details-icon{border-color:var(--red);background:#da1a3210}
body.editorial-proposal .reach-email-link{transition:color .3s ease}
body.editorial-proposal .reach-email-link>.bb-arrow{transition:translate .65s var(--ease-detail)}
body.editorial-proposal .reach-details>a{padding-bottom:.75rem}
body.editorial-proposal .reach-details strong{transition:color .35s ease}
body.editorial-proposal .reach-details .bb-arrow{transition:translate .65s var(--ease-detail),color .35s ease}
body.editorial-proposal .reach-details>a:is(:hover,:focus-visible) strong,
body.editorial-proposal .reach-details>a:is(:hover,:focus-visible) .bb-arrow{color:var(--red)}
body.editorial-proposal .boom-contact-kinetic .boom-contact-button-icon{border-color:#ffffff38;transition:background .4s ease,border-color .4s ease}
body.editorial-proposal .boom-contact-kinetic .cta-contact-arrow{transition:transform .7s var(--ease-detail)}
@media(hover:hover) and (pointer:fine){
 body.editorial-proposal .work-arrows [data-work-next]:hover:not(:disabled) .bb-arrow{translate:2px 0}
 body.editorial-proposal .work-arrows [data-work-prev]:hover:not(:disabled) .bb-arrow{translate:-2px 0}
 body.editorial-proposal .reach-email-link:hover>.bb-arrow,
 body.editorial-proposal .reach-details>a:hover .bb-arrow{translate:2px -2px}
 body.editorial-proposal .service-list summary:hover .details-icon{border-color:var(--red)}
}
@media(max-width:760px){
 body.editorial-proposal .copy-email{min-height:52px;gap:1rem}
 body.editorial-proposal .copy-email-icon{width:48px;height:48px;flex-basis:48px}
 body.editorial-proposal .service-list summary{grid-template-columns:1.2rem minmax(0,1fr) 2rem}
}
@media(forced-colors:active){
 body.editorial-proposal .copy-email-icon{border-color:ButtonText;color:ButtonText}
 body.editorial-proposal .copy-email[data-copy-state="copied"] .copy-email-icon{background:Highlight;color:HighlightText;border-color:Highlight}
}

/* One consistent vertical rhythm; adjacent sections no longer double their whitespace. */
body.editorial-proposal{--section-space:clamp(2.75rem,4.5vw,4.5rem)}
body.home-page.editorial-proposal .hero{padding-block:2.75rem 3rem}
body.editorial-proposal .work-selector{padding-bottom:1.25rem}
body.editorial-proposal .brand-value{padding-block:var(--section-space);grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);align-items:center;gap:clamp(2rem,4vw,4rem)}
body.editorial-proposal .brand-value h2{font-size:clamp(2.5rem,5.1vw,5.25rem);line-height:1.08}
body.editorial-proposal .value-title-line{white-space:normal}
body.editorial-proposal .value-context{margin-top:0;font-size:1em;font-weight:inherit;line-height:inherit;letter-spacing:inherit}
body.editorial-proposal .value-word{overflow:visible;padding:0;margin:0}
body.editorial-proposal .value-copy{max-width:24rem}
body.editorial-proposal :is(.services-studio,.studio-mind,.studio-point,.studio-signoff,.reach-hero,.boom-contact-kinetic){padding-block:var(--section-space)}
body.editorial-proposal .studio-intro{padding-block:var(--section-space)}
body.editorial-proposal .studio-origins{padding-bottom:var(--section-space)}
body.editorial-proposal .studio-place-benissa{padding-top:clamp(3rem,6vw,6rem)}
body.editorial-proposal .boom-footer{padding-block:2.25rem}
body.case-page.editorial-case.case-curated.editorial-proposal{--case-space:clamp(2.75rem,4.5vw,4.5rem)}
body.case-page.editorial-case.case-curated.editorial-proposal .case-opening{padding-top:3rem}
@media(max-width:760px){
 body.editorial-proposal{--section-space:clamp(2.5rem,8vw,3.5rem)}
 body.home-page.editorial-proposal .hero{padding-block:2rem 2.25rem}
 body.editorial-proposal .brand-value{grid-template-columns:minmax(0,1fr);gap:1.25rem}
 body.editorial-proposal .brand-value h2{font-size:clamp(2.25rem,8.7vw,4rem)}
 body.editorial-proposal .studio-place-benissa{padding-top:0}
 body.editorial-proposal .studio-mind{gap:1.75rem}
 body.editorial-proposal .boom-footer{padding-block:2rem max(2rem,env(safe-area-inset-bottom))}
 body.case-page.editorial-case.case-curated.editorial-proposal{--case-space:var(--section-space)}
 body.case-page.editorial-case.case-curated.editorial-proposal .case-opening{padding-top:2rem}
}

/* Approved cover replacements and original brand-book plates. */
body.editorial-proposal .work-card-link[href$="proyectos/duki/"] .work-card-image img,
body.editorial-proposal[data-project="duki"] .case-opening-image img,
body.editorial-proposal .index-preview img[data-preview-image="duki"]{object-fit:cover;object-position:50% 45%;padding:0}
body.editorial-proposal img[src$="fortyone-cover-mountain.webp"]{object-fit:cover!important;object-position:center!important;padding:0!important;width:100%;height:100%}
body.editorial-proposal .branx-brand-film{margin:0 var(--gutter);padding-top:1.5rem;display:flex;justify-content:center;background:#fff6d2}
body.editorial-proposal .branx-brand-film video{display:block;width:auto;max-width:100%;height:min(78svh,900px);object-fit:contain;background:#fff6d2}
body.editorial-proposal .brandbook-purpose{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);margin:0 0 var(--case-space)}
body.editorial-proposal .brandbook-purpose h3{font-size:var(--type-lede);margin:0 0 1rem}
body.editorial-proposal .brandbook-chapter .case-prose>p{font-size:1rem;line-height:1.6}
body.editorial-proposal .case-piece.brandbook-piece img{width:100%;height:auto;max-height:none;object-fit:contain;padding:0}
@media(max-width:760px){body.editorial-proposal .brandbook-purpose{grid-template-columns:1fr;gap:1.5rem}body.editorial-proposal .branx-brand-film video{height:auto;width:100%;max-height:calc(100svh - var(--header-height) - 2rem)}}

/* Branx: film belongs to the opening grid, with the original image retained below. */
body.editorial-proposal .case-opening .branx-brand-film{margin:0;padding:0;background:transparent;justify-self:center;width:min(100%,23rem)}
body.editorial-proposal .case-opening .branx-brand-film video{width:100%;height:auto;max-height:65svh;object-fit:contain;background:transparent}
body.editorial-proposal .branx-original-cover{margin:0 var(--gutter) var(--case-space);display:flex;justify-content:center}
body.editorial-proposal .branx-original-cover img{width:min(100%,32rem);height:auto;max-height:60svh;object-fit:contain}

/* Project rail: contained lift, image affordance and an operable progress rail. */
body.editorial-proposal .work-card-image{transition:transform .65s cubic-bezier(.16,1,.3,1)}
body.editorial-proposal .work-track{padding-top:12px;margin-top:-12px}
body.editorial-proposal .work-card-open{position:absolute;inset:auto 1rem 1rem auto;display:grid;place-items:center;width:3rem;height:3rem;border:0;border-radius:50%;background:#fff;color:#000;opacity:0;transform:translateY(8px) scale(.92);transition:opacity .3s ease,transform .6s cubic-bezier(.16,1,.3,1);pointer-events:none}
body.editorial-proposal .work-card-open .bb-arrow{width:1.25rem;height:1.25rem;flex:none}
body.editorial-proposal .work-card-link:focus-visible .work-card-open{opacity:1;transform:none}
body.editorial-proposal .work-card-arrow{display:none}
body.editorial-proposal .work-scroll-control{margin:0 var(--gutter);height:28px;display:flex;align-items:center}
body.editorial-proposal .work-scroll-range{appearance:none;-webkit-appearance:none;width:100%;height:28px;margin:0;border:0;padding:0;background:transparent;cursor:ew-resize;--thumb-width:18%;touch-action:pan-y}
body.editorial-proposal .work-scroll-range::-webkit-slider-runnable-track{height:4px;background:#dedede;border-radius:999px}
body.editorial-proposal .work-scroll-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:var(--thumb-width);height:6px;margin-top:-1px;border:0;border-radius:999px;background:var(--red);cursor:ew-resize}
body.editorial-proposal .work-scroll-range::-moz-range-track{height:4px;background:#dedede;border-radius:999px}
body.editorial-proposal .work-scroll-range::-moz-range-thumb{width:var(--thumb-width);height:6px;border:0;border-radius:999px;background:var(--red);cursor:ew-resize}
body.editorial-proposal .work-scroll-range:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}
@media(hover:hover) and (pointer:fine){
 body.editorial-proposal .work-card-link:hover .work-card-image{transform:translateY(-4px) scale(1.018)}
 body.editorial-proposal .work-card-link:hover .work-card-open{opacity:1;transform:none}
}
@media(hover:none),(pointer:coarse){body.editorial-proposal .work-card-open{opacity:1;transform:none;width:2.5rem;height:2.5rem;inset:auto .75rem .75rem auto}}
@media(prefers-reduced-motion:reduce){body.editorial-proposal .work-card-image,body.editorial-proposal .work-card-open{transition:none}body.editorial-proposal .work-card-link:hover .work-card-image{transform:none}}

/* Final interaction and spacing refinement. */
body.editorial-proposal .value-copy em{color:inherit}
body.editorial-proposal .desktop-nav>a:is(:hover,:focus-visible),
body.editorial-proposal .desktop-nav>button:is(:hover,:focus-visible),
body.editorial-proposal .mobile-menu nav>a:is(:hover,:focus-visible),
body.editorial-proposal .mobile-menu nav>button:is(:hover,:focus-visible){color:inherit}
body.editorial-proposal .studio-point .studio-signoff-inline{padding:1.75rem 0 0;margin:0;border-top:1px solid var(--line-dark);background:transparent;color:inherit}
body.editorial-proposal .studio-point .studio-signoff-inline h2{font-size:clamp(1.75rem,2.5vw,2.75rem);line-height:1.08;margin:0}
body.editorial-proposal .studio-point .studio-signoff-inline p{margin:1rem 0 0}
html.has-smooth-cursor .work-scroll-range,
html.has-smooth-cursor .work-scroll-range::-webkit-slider-thumb,
html.has-smooth-cursor .work-scroll-range::-webkit-slider-runnable-track{cursor:none!important}
html.has-smooth-cursor .work-scroll-range::-moz-range-thumb,
html.has-smooth-cursor .work-scroll-range::-moz-range-track{cursor:none!important}

/* Mobile: consistent image frames and a single native project scrolling surface. */
@media(max-width:760px){
 body.editorial-proposal .studio-place-byron figure,
 body.editorial-proposal .studio-place-benissa figure{margin:0;width:100%}
 body.editorial-proposal .studio-place-byron figure>img,
 body.editorial-proposal .studio-place-benissa figure>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
 body.editorial-proposal .studio-place-byron figure>img{object-position:54% center}
 body.editorial-proposal .studio-place-benissa figure>img{object-position:center}
 body.editorial-proposal .studio-places{gap:2.75rem}
 body.editorial-proposal .project-index{transform:none;transition:opacity .22s ease}
 body.editorial-proposal .project-index-shell{min-height:0;height:100%;overflow:hidden;padding-bottom:0}
 body.editorial-proposal .project-index-body{overflow-x:hidden;overflow-y:auto;min-height:0;touch-action:pan-y pinch-zoom;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(1.5rem,env(safe-area-inset-bottom));scroll-behavior:auto}
 body.editorial-proposal .project-index-intro{margin-bottom:1.5rem}
 body.editorial-proposal .project-index-list{display:block;height:auto;min-height:0;overflow:visible}
}
@media(max-width:900px),(max-height:620px),(hover:none),(pointer:coarse){
 body.editorial-proposal .project-index .index-selection{display:none!important;will-change:auto;transition:none}
 body.editorial-proposal .index-project,
 body.editorial-proposal .index-project:is(:hover,.is-active){background:transparent;color:#fff;transition:background-color .16s ease,color .16s ease}
 body.editorial-proposal .index-project:focus-visible{background:#fff;color:#111;outline-offset:-3px}
 body.editorial-proposal .index-project:active{background:#ffffff18;color:#fff}
}
@media(hover:none),(pointer:coarse){body.editorial-proposal .project-index .index-preview{display:none}}

/* A quieter touch index, with feedback on the actual row rather than a floating marker. */
body.editorial-proposal .project-index .project-index-close,
body.editorial-proposal .project-index .project-index-close:is(:focus,:focus-visible,:active){outline:none;border:0;box-shadow:none;background:transparent}
body.editorial-proposal .project-index .project-index-close:focus-visible{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
@media(max-width:760px){
 body.editorial-proposal .index-project{min-height:108px;padding:1.4rem .75rem;gap:.65rem 1rem;align-content:center;border-top-color:#ffffff38}
 body.editorial-proposal .index-project:is(:hover,:focus-visible,.is-active){padding-inline:.75rem}
 body.editorial-proposal .index-title{font-size:1.1875rem;line-height:1.25;letter-spacing:-.025em}
 body.editorial-proposal .index-meta{font-size:.75rem;line-height:1.5;max-width:29ch;opacity:.76}
 body.editorial-proposal .index-arrow{align-self:center}
 body.editorial-proposal .index-project:last-child{border-bottom-color:#ffffff38}
}
@media(max-width:900px),(hover:none),(pointer:coarse){
 body.editorial-proposal .project-index .index-project.is-touching,
 body.editorial-proposal .project-index .index-project:active{background:#fff;color:#111;transition:background-color .12s ease,color .12s ease}
 body.editorial-proposal .project-index .index-project.is-touching .index-meta{color:inherit;opacity:.8}
}

/* Croissant Party: an editorial story, scoped to this case only. */
body.case-page.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"]{--case-space:clamp(2.75rem,5vw,5rem)}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-opening{grid-template-columns:1.08fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-opening h1{color:#111;font-size:clamp(3rem,6.2vw,6.6rem);line-height:1;letter-spacing:-.055em}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-intro{font-size:clamp(1.25rem,2.05vw,1.9rem);line-height:1.3;max-width:25ch;letter-spacing:-.035em}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-opening-image{width:100%;max-width:30rem;aspect-ratio:4/5;justify-self:end}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-context{padding-bottom:clamp(2.5rem,5vw,4.5rem)}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-context h2{font-size:clamp(2rem,3.4vw,3.4rem);line-height:1.08;max-width:24ch}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-idea{background:#111;color:#fff;border:0;padding:clamp(1.5rem,4vw,3.5rem);margin-bottom:var(--case-space);grid-template-columns:1fr 2fr;align-items:start}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-idea h2{color:#d0d0d0;font-size:1rem;line-height:1.5;letter-spacing:0;font-weight:400}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-idea .case-idea-statement{color:#fff;font-size:clamp(2rem,4.3vw,4rem);line-height:1.07;letter-spacing:-.045em;margin:0 0 1.5rem;max-width:20ch}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-idea .case-prose>p:last-child{color:#ccc;max-width:48ch}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-chapter-heading{grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,5rem);padding-top:1.6rem;margin-bottom:2rem;border-color:#ddd}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-chapter-heading h2{font-size:clamp(1.9rem,3vw,3rem);line-height:1.1;max-width:22ch;letter-spacing:-.04em}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-eyebrow{font-size:.875rem;font-weight:400;color:#666;margin:0 0 1rem;line-height:1.4}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-media-grid{gap:clamp(1.25rem,2.4vw,2rem)}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-piece.is-feature{max-width:100%}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-outcome{border-color:#ddd}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-metrics strong{font-size:clamp(4rem,9vw,8.5rem);color:#111;line-height:1}
@media(max-width:700px){
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-opening,
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-chapter-heading,
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-context,
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-idea{grid-template-columns:1fr;gap:1.5rem}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-opening h1{font-size:clamp(2.7rem,10.5vw,4.5rem)}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-opening-image{max-width:none;justify-self:stretch}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-context .case-meta{order:2;padding-top:1.5rem;border-top:1px solid #ddd}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-idea{padding:1.5rem}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-media-grid .case-media-row .case-piece{max-width:100%}
}
/* Product and experience share the opening, without cropping either original. */
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-opening{display:block;padding-bottom:clamp(2.5rem,5vw,4.5rem)}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-opening-copy{margin-bottom:clamp(1.75rem,3vw,3rem)}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-opening h1{font-size:clamp(2.6rem,6.4vw,6rem);margin-bottom:1.25rem}
body.editorial-case.case-curated.editorial-proposal[data-project="croissant-party"] .case-intro{max-width:48ch;font-size:clamp(1.2rem,2.2vw,2rem);line-height:1.25}
.croissant-opening-pair{display:grid;grid-template-columns:1fr 2fr;gap:clamp(1rem,2.5vw,2rem);align-items:end}
.croissant-opening-pair figure{min-width:0;margin:0}
.croissant-opening-pair img{display:block;width:100%;height:auto;object-fit:contain}
.croissant-opening-pair figcaption{font-size:.875rem;line-height:1.4;color:#666;margin-top:.75rem}
@media(max-width:640px){.croissant-opening-pair{grid-template-columns:1fr;gap:1.25rem}.croissant-opening-pair figure:first-child{width:78%;justify-self:center}}

/* Give the concept heading and its explanation the same column width. */
body.case-page.editorial-case.case-curated.editorial-proposal[data-project] .case-idea .case-prose > p{
 width:100%;max-width:none;box-sizing:border-box;text-align:start;text-wrap:pretty;
}

