:root{--ground:#E9E2FF;
  --ink:#1B1340;
  --soft:#4A3F7A;
  --card:#FFFFFF;
  --tangerine:#FF7A1A;
  --mint:#3DDBA0;
  --pink:#FF6FB5;
  --sun:#FFD23F;
  --cobalt:#3B44F6;
  --on-accent:#1B1340;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){--ground:#1B1340; --ink:#F3EEFF; --soft:#C6BBF2; --card:#2A2060; --cobalt:#7D84FF;}
}
:root[data-theme="dark"]{--ground:#1B1340; --ink:#F3EEFF; --soft:#C6BBF2; --card:#2A2060; --cobalt:#7D84FF;}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-stopped{overflow:clip}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--ground);color:var(--ink);overflow-x:clip;
  font-family:"Bricolage Grotesque",ui-rounded,"Avenir Next",system-ui,sans-serif;
  font-size:1.125rem;line-height:1.5;-webkit-font-smoothing:antialiased;}
a{color:inherit}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:4px;border-radius:8px}
.wrap{width:min(100% - 2.5rem, 1320px);margin-inline:auto}
.nav{position:fixed;top:0;left:0;right:0;z-index:30;padding-top:calc(env(safe-area-inset-top,0px) + 14px)}
.nav__inner{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.switch{--on:0;--paddle:#FFFFFF;--paddle-on:var(--paddle);display:inline-block;text-decoration:none;color:var(--on-accent);
  font:inherit;font-weight:700;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.switch[aria-pressed="true"]{--on:1}
.switch__plate{display:inline-flex;padding:5px;background:var(--card);border:2px solid var(--ink);border-radius:14px;
  box-shadow:3px 3px 0 var(--ink);perspective:260px;transition:translate .2s, box-shadow .2s}
.switch:hover .switch__plate{translate:-2px -2px;box-shadow:5px 5px 0 var(--ink)}
.switch__paddle{position:relative;display:flex;align-items:center;gap:.55rem;min-height:40px;padding:.45rem 1rem .45rem .8rem;
  border:2px solid var(--ink);border-radius:9px;overflow:hidden;
  background:color-mix(in srgb, var(--paddle-on) clamp(0%, calc(var(--on) * 100%), 100%), var(--paddle));
  transform:rotateX(calc(16deg - var(--on) * 32deg));
  box-shadow:inset 0 calc(-4px + var(--on) * 8px) 0 rgba(27,19,64,.22)}
.switch__paddle::before,.switch__paddle::after{content:"";position:absolute;inset:0;pointer-events:none}
.switch__paddle::after{background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,0) 42%,rgba(27,19,64,.2));opacity:calc(1 - var(--on))}
.switch__paddle::before{background:linear-gradient(0deg,rgba(255,255,255,.6),rgba(255,255,255,0) 42%,rgba(27,19,64,.2));opacity:var(--on)}
.switch__label{position:relative;z-index:1;white-space:nowrap}
.switch__led{position:relative;z-index:1;flex:none;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--ink);
  background:color-mix(in srgb, #3DDBA0 clamp(0%, calc(var(--on) * 100%), 100%), rgba(27,19,64,.18));
  box-shadow:0 0 calc(var(--on) * 10px) calc(var(--on) * 2px) rgba(61,219,160,.9)}
.rb-home .hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:7rem 4rem;overflow:hidden}
.rb-home .hero h1{font-size:clamp(3.4rem,13vw,13rem);font-weight:800;line-height:.86;letter-spacing:-.03em;margin:0;position:relative;z-index:2;user-select:none;-webkit-user-select:none}
.rb-home .hero h1 .char{cursor:grab;will-change:transform}
.rb-home .hero h1 .char:active{cursor:grabbing}
.rb-home .hero__foot{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;margin-top:2.5rem;position:relative;z-index:3}
.rb-home .hero__foot p{margin:0;max-width:38ch;color:var(--soft);font-size:1.2rem}
.rb-home .tidy{font-size:1rem}
.rb-home .hint{font-weight:700;color:var(--ink) !important}
.rb-home .sticker{position:absolute;z-index:3;cursor:grab;touch-action:none}
.rb-home .sticker svg{display:block;width:100%;height:100%;overflow:visible}
.rb-home .sticker--star{width:clamp(80px,11vw,150px);right:7%;top:16%}
.rb-home .sticker--flower{width:clamp(70px,9vw,120px);right:22%;bottom:12%}
.rb-home .sticker--blob{width:clamp(90px,12vw,170px);left:52%;top:10%}
.rb-home .band{background:var(--tangerine);color:var(--on-accent);transform:rotate(-3deg);margin:2rem -2rem;border-block:3px solid var(--ink);overflow:hidden}
.rb-home .band__inner{display:flex;width:max-content;padding-block:1.1rem;will-change:transform}
.rb-home .band__inner span{font-size:clamp(2rem,5vw,4rem);font-weight:800;white-space:nowrap;padding-right:2.5rem;display:flex;align-items:center;gap:2.5rem}
.rb-home .band__inner svg{width:.7em;height:.7em;flex:none}
.rb-home .section{padding-block:clamp(5rem,11vw,9rem)}
.rb-home .section h2{font-size:clamp(2.6rem,7vw,6rem);font-weight:800;line-height:.92;letter-spacing:-.02em;margin:0 0 2rem}
.rb-home .work__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.5rem}
.rb-home .work__top h2{margin:0}
.rb-home .filters{display:flex;flex-wrap:wrap;gap:.6rem}
.rb-home .filters .switch{font-size:1rem}
.rb-home .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;perspective:900px}
.rb-home .card{position:relative;display:block;text-decoration:none;color:var(--on-accent);border:3px solid var(--ink);border-radius:28px;overflow:hidden;
  aspect-ratio:4/5;box-shadow:6px 6px 0 var(--ink);transform-style:preserve-3d}
.rb-home .card svg{position:absolute;inset:0;width:100%;height:100%}
.rb-home .card__label{position:absolute;left:1rem;right:1rem;bottom:1rem;background:var(--card);color:var(--ink);border:2px solid var(--ink);border-radius:18px;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.rb-home .card__label strong{font-size:1.25rem;line-height:1.1}
.rb-home .card__label span{font-size:.9rem;color:var(--soft);white-space:nowrap}
.rb-home .c-tangerine{background:var(--tangerine)}
.rb-home .c-mint{background:var(--mint)}
.rb-home .c-pink{background:var(--pink)}
.rb-home .c-sun{background:var(--sun)}
.rb-home .c-cobalt{background:#3B44F6}
.rb-home .c-lilac{background:#B9A6FF}
.rb-home .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;list-style:none;margin:0;padding:0;counter-reset:s}
.rb-home .steps li{background:var(--card);border:3px solid var(--ink);border-radius:28px;padding:2rem;box-shadow:6px 6px 0 var(--ink);counter-increment:s}
.rb-home .steps li::before{content:counter(s);display:grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:50%;background:var(--sun);color:var(--on-accent);border:2px solid var(--ink);font-weight:800;font-size:1.5rem;margin-bottom:1.25rem}
.rb-home .steps li:nth-child(2)::before{background:var(--mint)}
.rb-home .steps li:nth-child(3)::before{background:var(--pink)}
.rb-home .steps h3{font-size:1.75rem;margin:0 0 .5rem;line-height:1.1}
.rb-home .steps p{margin:0;color:var(--soft)}
.rb-home .contact{text-align:center;padding-block:clamp(6rem,14vw,11rem)}
.rb-home .contact p{font-size:1.3rem;color:var(--soft);margin:0 0 2rem}
.rb-home .big-btn{display:inline-block;font-size:clamp(2.5rem,9vw,7.5rem);font-weight:800;line-height:1;text-decoration:none;
  background:var(--pink);color:var(--on-accent);border:4px solid var(--ink);border-radius:999px;padding:.3em .8em .36em;box-shadow:8px 8px 0 var(--ink);position:relative}
.rb-home .contact small{display:block;margin-top:1.75rem;color:var(--soft);font-size:1rem}
.rb-home .confetti{position:fixed;left:0;top:0;width:14px;height:14px;pointer-events:none;z-index:40}
.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:2rem 2.5rem;border-top:3px solid var(--ink);font-weight:600}
.footer ul{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}
.footer a{text-decoration:none}
.footer a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}
@media (max-width: 900px){
.rb-home .grid{grid-template-columns:repeat(2,1fr)}
.rb-home .steps{grid-template-columns:1fr}
}
@media (max-width: 560px){
.nav__links > .switch:not(.switch--keep){display:none}
.rb-home .grid{grid-template-columns:1fr}
.rb-home .card{aspect-ratio:5/4}
.rb-home .sticker--blob{left:auto;right:4%;top:auto;bottom:18%}
.rb-home .sticker--flower{display:none}
}
@media (prefers-reduced-motion: reduce){
*,*::before,*::after{transition-duration:.01ms !important}
}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 90px)}
body{margin:0;background:var(--ground);color:var(--ink);overflow-x:clip;
  font-family:"Bricolage Grotesque",ui-rounded,"Avenir Next",system-ui,sans-serif;
  font-size:1.125rem;line-height:1.55;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
.rb-is-case .progress{position:fixed;top:0;left:0;right:0;height:calc(6px + env(safe-area-inset-top,0px));z-index:40;background:var(--tangerine);transform-origin:left;transform:scaleX(0);border-bottom:2px solid var(--ink)}
.rb-is-case .hero{padding-top:8.5rem}
.rb-is-case .crumb{display:inline-block;font-weight:700;color:var(--soft);margin-bottom:1rem}
.rb-is-case .hero h1{font-size:clamp(4rem,16vw,15rem);font-weight:800;line-height:.82;letter-spacing:-.03em;margin:0}
.rb-is-case .hero__lede{font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.25;max-width:30ch;margin:1.5rem 0 0;font-weight:500}
.rb-is-case .facts{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:1.25rem;align-items:end;margin:3rem 0 2.5rem;padding:1.5rem;background:var(--card);border:3px solid var(--ink);border-radius:24px;box-shadow:6px 6px 0 var(--ink)}
.rb-is-case .facts dl{display:contents}
.rb-is-case .fact dt{font-size:.9rem;color:var(--soft);margin-bottom:.15rem}
.rb-is-case .fact dd{margin:0;font-weight:700;line-height:1.25}
.rb-is-case .cover{position:relative;border:3px solid var(--ink);border-radius:36px;overflow:hidden;box-shadow:8px 8px 0 var(--ink);aspect-ratio:16/9;background:#FFF1DC}
.rb-is-case .cover svg{position:absolute;inset:0;width:100%;height:100%}
.rb-is-case .band{background:var(--sun);color:var(--on-accent);transform:rotate(2deg);margin:5rem -2rem 0;border-block:3px solid var(--ink);overflow:hidden}
.rb-is-case .band__inner{display:flex;width:max-content;padding-block:1rem}
.rb-is-case .band__inner span{font-size:clamp(1.8rem,4.4vw,3.5rem);font-weight:800;white-space:nowrap;padding-right:2.2rem;display:flex;align-items:center;gap:2.2rem}
.rb-is-case .band__inner svg{width:.7em;height:.7em;flex:none}
.rb-is-case .section{padding-block:clamp(5rem,10vw,8.5rem)}
.rb-is-case .section h2{font-size:clamp(2.6rem,6.5vw,5.5rem);font-weight:800;line-height:.92;letter-spacing:-.02em;margin:0 0 2.5rem}
.rb-is-case .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem)}
.rb-is-case .split h3{font-size:1.6rem;margin:0 0 .75rem;line-height:1.15}
.rb-is-case .split p{margin:0 0 1rem;max-width:58ch;color:var(--soft)}
.rb-is-case .split p.big{font-size:1.4rem;line-height:1.4;color:var(--ink)}
.rb-is-case .goals{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3.5rem;list-style:none;padding:0}
.rb-is-case .goals li{background:var(--card);border:3px solid var(--ink);border-radius:24px;padding:1.5rem;box-shadow:5px 5px 0 var(--ink)}
.rb-is-case .goals svg{width:52px;height:52px;margin-bottom:.75rem;display:block}
.rb-is-case .goals strong{display:block;font-size:1.25rem;line-height:1.2;margin-bottom:.35rem}
.rb-is-case .goals span{color:var(--soft)}
.rb-is-case .process{background:var(--ink);color:var(--ground);overflow:hidden}
.rb-is-case .process .section{padding-bottom:0}
.rb-is-case .process h2{color:var(--ground)}
.rb-is-case .process__intro{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.rb-is-case .process__intro p{max-width:40ch;color:color-mix(in srgb, var(--ground) 75%, transparent);margin:0 0 2.5rem}
.rb-is-case .track{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;width:min(100% - 2.5rem, 1320px);margin-inline:auto !important;padding:0 0 clamp(5rem,10vw,8.5rem)}
.rb-is-case .track.is-horizontal{display:flex;width:max-content;margin:0 !important;padding:0 max(1.25rem, calc((100vw - 1320px) / 2)) clamp(5rem,10vw,8.5rem)}
.rb-is-case .track.is-horizontal .stage{width:420px;flex:none}
.rb-is-case .stage{background:var(--card);color:var(--ink);border:3px solid var(--ground);border-radius:28px;padding:2rem;position:relative}
.rb-is-case .stage__num{display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:50%;border:2px solid var(--ink);font-weight:800;font-size:1.5rem;color:var(--on-accent);margin-bottom:1.25rem}
.rb-is-case .stage h3{font-size:1.9rem;line-height:1.05;margin:0 0 .25rem}
.rb-is-case .stage .weeks{font-weight:700;color:var(--soft);display:block;margin-bottom:1rem}
.rb-is-case .stage p{margin:0 0 1rem;color:var(--soft)}
.rb-is-case .stage ul{margin:0;padding-left:1.1rem}
.rb-is-case .stage li{padding:.1rem 0}
.rb-is-case .identity{display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem}
.rb-is-case .panel{background:var(--card);border:3px solid var(--ink);border-radius:28px;box-shadow:6px 6px 0 var(--ink);padding:1.75rem;position:relative;overflow:hidden}
.rb-is-case .panel h3{margin:0 0 1rem;font-size:1.3rem}
.rb-is-case .logo-stage{display:grid;place-items:center;background:#FFF1DC;border:2px solid var(--ink);border-radius:20px;aspect-ratio:4/3}
.rb-is-case .logo-stage svg{width:58%;height:auto;overflow:visible}
.rb-is-case .logo-note{color:var(--soft);margin:1rem 0 0}
.rb-is-case .swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}
.rb-is-case .swatch{font:inherit;cursor:pointer;border:2px solid var(--ink);border-radius:18px;padding:0;overflow:hidden;background:var(--card);color:var(--ink);text-align:left;display:flex;flex-direction:column}
.rb-is-case .swatch i{display:block;aspect-ratio:1/1.3;background:var(--c);border-bottom:2px solid var(--ink)}
.rb-is-case .swatch span{display:block;padding:.5rem .6rem;font-size:.85rem;line-height:1.25}
.rb-is-case .swatch b{display:block;font-size:.95rem}
.rb-is-case .type-spec{margin-top:1.5rem}
.rb-is-case .type-spec .aa{font-size:clamp(4rem,9vw,7rem);font-weight:800;line-height:.9;letter-spacing:-.02em}
.rb-is-case .type-spec p{margin:.5rem 0 0;color:var(--soft)}
.rb-is-case .weights{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.75rem;font-size:1.25rem}
.rb-is-case .toast{position:fixed;left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));z-index:60;background:var(--ink);color:var(--ground);padding:.7rem 1.2rem;border-radius:999px;font-weight:700;transform:translate(-50%,160%)}
.rb-is-case .gallery{columns:3;column-gap:1.25rem}
.rb-is-case .gallery figure{break-inside:avoid;margin:0 0 1.25rem}
.rb-is-case .gallery button{display:block;width:100%;padding:0;border:3px solid var(--ink);border-radius:24px;overflow:hidden;cursor:zoom-in;background:#FFF1DC;box-shadow:5px 5px 0 var(--ink);transition:translate .25s, box-shadow .25s}
.rb-is-case .gallery button:hover{translate:-3px -3px;box-shadow:8px 8px 0 var(--ink)}
.rb-is-case .gallery svg{display:block;width:100%;height:auto}
.rb-is-case .gallery figcaption{font-size:.95rem;color:var(--soft);padding:.6rem .25rem 0}
.rb-is-case .carousel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
.rb-is-case .carousel-head h2{margin:0}
.rb-is-case .carousel-head p{margin:0;color:var(--soft);max-width:36ch}
.rb-is-case .carousel{overflow-x:auto;padding:0 0 1.5rem}
.rb-is-case .carousel.is-draggable{overflow:hidden;cursor:grab}
.rb-is-case .carousel:active{cursor:grabbing}
.rb-is-case .carousel__track{display:flex;gap:1.25rem;width:max-content;padding-inline:max(1.25rem, calc((100vw - 1320px) / 2))}
.rb-is-case .pack{width:clamp(240px,28vw,340px);flex:none;border:3px solid var(--ink);border-radius:28px;overflow:hidden;box-shadow:6px 6px 0 var(--ink);background:var(--bg);user-select:none;-webkit-user-select:none}
.rb-is-case .pack svg{display:block;width:100%;height:auto;pointer-events:none}
.rb-is-case .pack figcaption{background:var(--card);border-top:3px solid var(--ink);padding:.9rem 1.1rem}
.rb-is-case .pack figcaption b{display:block;font-size:1.15rem}
.rb-is-case .pack figcaption span{color:var(--soft);font-size:.95rem}
.rb-is-case .compare{position:relative;border:3px solid var(--ink);border-radius:28px;overflow:hidden;box-shadow:8px 8px 0 var(--ink);aspect-ratio:16/9;--pos:50%;background:#ddd}
.rb-is-case .compare svg{position:absolute;inset:0;width:100%;height:100%}
.rb-is-case .compare__after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos))}
.rb-is-case .compare__line{position:absolute;top:0;bottom:0;left:var(--pos);width:4px;margin-left:-2px;background:var(--ink);pointer-events:none}
.rb-is-case .compare__knob{position:absolute;top:50%;left:var(--pos);width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--sun);border:3px solid var(--ink);display:grid;place-items:center;pointer-events:none;box-shadow:3px 3px 0 var(--ink)}
.rb-is-case .compare__knob svg{position:static;width:30px;height:30px}
.rb-is-case .compare input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.rb-is-case .compare__tag{position:absolute;top:1rem;padding:.35rem .8rem;border-radius:999px;border:2px solid var(--ink);font-weight:700;font-size:.9rem;pointer-events:none;color:var(--on-accent)}
.rb-is-case .compare__tag--before{left:1rem;background:#FFFFFF}
.rb-is-case .compare__tag--after{right:1rem;background:var(--mint)}
.rb-is-case .compare + p{color:var(--soft);margin:1.25rem 0 0;max-width:60ch}
.rb-is-case .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;list-style:none;margin:0;padding:0}
.rb-is-case .stat{border:3px solid var(--ink);border-radius:28px;padding:1.75rem 1.5rem;box-shadow:6px 6px 0 var(--ink);color:var(--on-accent);background:var(--bg)}
.rb-is-case .stat .num{font-size:clamp(3rem,6vw,5rem);font-weight:800;line-height:.9;display:block;font-variant-numeric:tabular-nums}
.rb-is-case .stat .what{display:block;margin-top:.75rem;font-weight:600;line-height:1.3}
.rb-is-case .results-note{color:var(--soft);font-size:.95rem;margin:1.25rem 0 0}
.rb-is-case .quote{margin:clamp(4rem,8vw,6rem) 0 0;background:var(--card);border:3px solid var(--ink);border-radius:36px;padding:clamp(2rem,5vw,4rem);box-shadow:8px 8px 0 var(--ink);position:relative}
.rb-is-case .quote svg.mark{position:absolute;top:-34px;left:2.5rem;width:72px;height:72px}
.rb-is-case .quote blockquote{margin:0;font-size:clamp(1.5rem,3.2vw,2.6rem);line-height:1.2;font-weight:600;max-width:34ch}
.rb-is-case .quote figcaption{display:flex;align-items:center;gap:1rem;margin-top:2rem}
.rb-is-case .avatar{width:56px;height:56px;border-radius:50%;background:var(--pink);border:2px solid var(--ink);display:grid;place-items:center;font-weight:800;color:var(--on-accent)}
.rb-is-case .quote figcaption b{display:block}
.rb-is-case .quote figcaption span{color:var(--soft)}
.rb-is-case .credits{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:0}
.rb-is-case .credits div{border-top:3px solid var(--ink);padding-top:1rem}
.rb-is-case .credits dt{color:var(--soft);font-size:.95rem}
.rb-is-case .credits dd{margin:.2rem 0 0;font-weight:700}
.rb-is-case .next{display:block;text-decoration:none;color:var(--on-accent);background:#3B44F6;border:4px solid var(--ink);border-radius:40px;overflow:hidden;box-shadow:10px 10px 0 var(--ink);position:relative;padding:clamp(2rem,5vw,4rem);min-height:340px}
.rb-is-case .next small{display:block;font-weight:700;font-size:1.1rem;color:#FFFFFF;margin-bottom:.5rem;position:relative;z-index:1}
.rb-is-case .next strong{display:block;font-size:clamp(3rem,10vw,9rem);font-weight:800;line-height:.85;color:#FFFFFF;position:relative;z-index:1;max-width:8ch}
.rb-is-case .next .bubbles{position:absolute;right:-40px;bottom:-40px;width:min(60%,520px);height:auto}
.rb-is-case .lightbox{width:min(100vw - 2rem, 1100px);max-height:calc(100svh - 2rem);padding:0;border:0;background:transparent;color:var(--ground);overflow:visible}
.rb-is-case .lightbox::backdrop{background:rgba(27,19,64,.88)}
.rb-is-case .lightbox__frame{background:#FFF1DC;border:3px solid #F3EEFF;border-radius:28px;overflow:hidden}
.rb-is-case .lightbox__frame svg{display:block;width:100%;height:auto;max-height:calc(100svh - 10rem)}
.rb-is-case .lightbox__bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;color:#F3EEFF}
.rb-is-case .lightbox__bar p{margin:0;font-weight:600}
.rb-is-case .lightbox__ctrls{display:flex;gap:.5rem}
.rb-is-case .round{width:48px;height:48px;border-radius:50%;border:2px solid #F3EEFF;background:transparent;color:#F3EEFF;display:grid;place-items:center;cursor:pointer;font:inherit}
.rb-is-case .round:hover{background:#F3EEFF;color:#1B1340}
.rb-is-case .round svg{width:22px;height:22px}
@media (max-width: 1000px){
.rb-is-case .facts{grid-template-columns:repeat(3,1fr)}
.rb-is-case .goals,.rb-is-case .stats{grid-template-columns:repeat(2,1fr)}
.rb-is-case .identity{grid-template-columns:1fr}
.rb-is-case .gallery{columns:2}
.rb-is-case .credits{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 640px){
.rb-is-case .facts{grid-template-columns:1fr 1fr}
.rb-is-case .split,.rb-is-case .goals,.rb-is-case .stats{grid-template-columns:1fr}
.rb-is-case .swatches{grid-template-columns:repeat(3,1fr)}
.rb-is-case .gallery{columns:1}
.rb-is-case .compare{aspect-ratio:4/3}
.rb-is-case .credits{grid-template-columns:1fr}
}
:root{--display:"Unbounded","Bricolage Grotesque",ui-rounded,system-ui,sans-serif}
[hidden]{display:none !important}
h1[tabindex="-1"]:focus{outline:none}
.confetti{position:fixed;left:0;top:0;width:14px;height:14px;pointer-events:none;z-index:40}
.rb-home .hero h1,.rb-home .section h2,.rb-home .band__inner span,.rb-home .big-btn,.rb-is-case .hero h1,.rb-is-case .section h2,.rb-is-case .stat .num,.rb-is-case .next strong,.rb-is-case .curtain__title{font-family:var(--display);font-weight:800;font-variation-settings:normal;letter-spacing:-.03em}
.rb-home .hero h1{font-size:clamp(2.5rem,8.4vw,8.6rem);line-height:.98}
.rb-home .section h2,.rb-is-case .section h2{font-size:clamp(2rem,4.6vw,4rem);line-height:1.02}
.rb-home .band__inner span{font-size:clamp(1.6rem,3.8vw,3rem)}
.rb-home .big-btn{font-size:clamp(1.9rem,6.4vw,5.4rem)}
.rb-is-case .hero h1{font-size:clamp(2.8rem,10.5vw,10rem);line-height:.95}
.rb-is-case .stat .num{font-size:clamp(2.3rem,4.2vw,3.6rem);line-height:1}
.rb-is-case .next strong{font-size:clamp(2.2rem,6.4vw,5.8rem);line-height:1}
.rb-home .badge{position:absolute;top:1rem;left:1rem;z-index:1;background:var(--ink);color:var(--ground);border-radius:999px;padding:.35rem .85rem;font-weight:700;font-size:.9rem}
.curtain{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}
.curtain__panel{position:absolute;inset:0;display:grid;place-items:center;border-bottom:4px solid #1B1340}
.curtain__title{font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:clamp(2.4rem,8.5vw,7.5rem);color:#FFFFFF;line-height:1;display:block;padding:0 1rem;text-align:center}
.curtain__clip{overflow:hidden;display:block}

/* =========================================================
   Theme additions
   ========================================================= */

/* Self-hosted fonts (SIL Open Font License, see assets/fonts) */
@font-face{font-family:"Unbounded";src:url("../fonts/unbounded.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url("../fonts/bricolage-grotesque.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap}

/* Accessibility helpers */
.skip-link{position:absolute;left:1rem;top:-100px;z-index:200;background:var(--ink);color:var(--ground);padding:.75rem 1.1rem;border-radius:999px;font-weight:700;text-decoration:none}
.skip-link:focus{top:calc(env(safe-area-inset-top,0px) + 1rem)}
.screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
h1[tabindex="-1"]:focus{outline:none}

/* Hide animated headings until their entrance starts (removed after 3 s if scripts fail) */
html.js-anim .rb-home .js-hero,html.js-anim .rb-is-case .js-title{opacity:0}
html.is-arriving .curtain__panel{transform:translateY(0)}
.curtain__panel{transform:translateY(-101%)}

/* Nav: links wrap nicely, language plate sits at the end */
.nav__links{flex-wrap:wrap;justify-content:flex-end;align-items:center}
.switch--brand .switch__label{font-family:var(--display);font-weight:800;letter-spacing:-.02em}

/* Three-gang language switch: one plate, three paddles */
.gang{display:inline-flex}
.gang .switch__plate{gap:4px}
.switch--inplate{--on:0}
.switch--inplate.is-on{--on:1}
.switch--inplate .switch__paddle{padding:.45rem .7rem .45rem .6rem;min-height:40px;font-size:.9rem;letter-spacing:.02em}
.gang:hover .switch__plate{translate:-2px -2px;box-shadow:5px 5px 0 var(--ink)}

/* Real images inside cards, cover, gallery, carousel, comparison */
.rb-home .card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rb-is-case .cover__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rb-is-case .logo-stage img{max-width:62%;max-height:70%;width:auto;height:auto;object-fit:contain}
.rb-is-case .gallery img{display:block;width:100%;height:auto}
.rb-is-case .pack img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;pointer-events:none}
.rb-is-case .compare__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rb-is-case .lightbox__frame img{display:block;width:100%;height:auto;max-height:calc(100svh - 10rem);object-fit:contain;background:#1B1340}
.rb-is-case .lightbox__count{opacity:.7}
.rb-is-case .compare-note{color:var(--soft);margin:1.25rem 0 0;max-width:60ch}

/* Card corners */
.rb-home .card--corner-tl{border-radius:120px 28px 28px 28px}
.rb-home .card--corner-br{border-radius:28px 28px 120px 28px}
.rb-home .card--corner-br .card__label{right:4.75rem}

/* Homepage bits */
.rb-home .more{margin:2.5rem 0 0;text-align:center}
.rb-home .empty{font-size:1.25rem;color:var(--soft)}
.rb-home .admin-hint{font-size:1rem;background:var(--card);border:2px dashed var(--ink);border-radius:16px;padding:1rem;display:inline-block}
.rb-home .hint:empty{display:none}

/* Archive */
.rb-archive .archive-head{padding-top:clamp(8rem,14vw,11rem)}
.rb-archive h1{font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:clamp(2.4rem,6vw,5rem);line-height:1;margin:0}
.rb-archive .archive-lede{color:var(--soft);font-size:1.25rem;margin:.75rem 0 0;max-width:40ch}
.nav-links{display:flex;gap:.5rem;justify-content:center;margin-top:3rem}
.nav-links .page-numbers{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:2px solid var(--ink);border-radius:12px;background:var(--card);text-decoration:none;font-weight:700;padding:0 .75rem}
.nav-links .current{background:var(--sun);color:var(--on-accent)}

/* Case study additions */
.rb-is-case .crumb{text-transform:none}
.rb-is-case .split p{margin:0 0 1rem;max-width:58ch;color:var(--soft)}
.rb-is-case .split__brief p:first-of-type{font-size:1.4rem;line-height:1.4;color:var(--ink)}
.rb-is-case .identity--single{grid-template-columns:1fr}
.rb-is-case .muted{font-weight:500;color:var(--soft);font-size:1rem}
.rb-is-case .type-spec .aa{font-size:clamp(2.4rem,6vw,4.5rem)}
.rb-is-case .section--tight{padding-top:0}
.rb-is-case .next-wrap{margin-top:2rem}
.rb-is-case .track{list-style:none}
.rb-is-case .goals li > span{display:block}

/* Long-form text: pages and case study editor content */
.prose{max-width:68ch;font-size:1.125rem;line-height:1.7;margin-top:2rem}
.prose h2{font-family:var(--display);font-weight:800;letter-spacing:-.02em;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.1;margin:2.5rem 0 1rem}
.prose h3{font-size:1.4rem;margin:2rem 0 .75rem}
.prose a{text-decoration-thickness:2px;text-underline-offset:3px}
.prose img{max-width:100%;height:auto;border-radius:20px;border:3px solid var(--ink)}
.prose blockquote{margin:2rem 0;padding:1.25rem 1.5rem;background:var(--card);border:3px solid var(--ink);border-radius:24px;box-shadow:5px 5px 0 var(--ink)}
.prose ul,.prose ol{padding-left:1.25rem}
.prose figure{margin:2rem 0}
.prose figcaption{color:var(--soft);font-size:.95rem;margin-top:.5rem}

/* Generic pages and 404 */
.rb-page .page-body{padding-block:clamp(8rem,14vw,11rem) 4rem}
.rb-page h1{font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:clamp(2.2rem,6vw,4.5rem);line-height:1.02;margin:0 0 1rem;max-width:18ch}
.rb-page .post-list{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:.75rem}
.rb-page .post-list li{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--card);border:2px solid var(--ink);border-radius:16px;padding:1rem 1.25rem}
.rb-page .post-list a{font-weight:700;text-decoration:none}
.rb-page .post-list span{color:var(--soft)}
.rb-404 .big-404{font-family:var(--display);font-weight:900;font-size:clamp(6rem,24vw,16rem);line-height:.85;margin:0;color:var(--tangerine);-webkit-text-stroke:4px var(--ink)}
.rb-404 .lede-404{font-size:1.3rem;color:var(--soft);margin:0 0 2rem}

/* WordPress core classes */
.alignwide{max-width:min(100%,1100px)}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.wp-caption-text{color:var(--soft);font-size:.95rem}

@media (max-width: 640px){
  .gang .switch--inplate .switch__paddle{padding:.4rem .5rem;font-size:.82rem}
  .rb-home .card--corner-br .card__label{right:3.75rem}
}

/* Logged-in admin bar */
.admin-bar .nav{top:32px}
@media (max-width: 782px){ .admin-bar .nav{top:46px} }
@media (max-width: 600px){ .admin-bar .nav{top:0} #wpadminbar{position:absolute} }

/* Small phones: brand (or "All work") on the left, language plate on the right */
@media (max-width: 560px){
  .nav__inner{gap:.5rem}
  .nav__links > .switch{display:none}
  .gang .switch__led{display:none}
  .gang .switch--inplate .switch__paddle{padding:.4rem .55rem;min-height:38px}
}
.rb-is-case .footer{margin-top:5rem}
main{overflow-x:clip}

/* =========================================================
   Coming soon page
   ========================================================= */
.soon-brand{display:inline-flex;align-items:center;padding:.55rem 1.1rem;background:var(--card);border:2px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink);font-family:var(--display);font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.rb-soon .hero{min-height:100svh;padding-block:7rem 3rem;justify-content:center}
.rb-soon .hero h1{font-size:clamp(2.4rem,8vw,8rem)}
.soon-badge{display:inline-flex;align-items:center;gap:.6rem;align-self:flex-start;margin:0 0 1.5rem;padding:.4rem .95rem .4rem .75rem;border:2px solid var(--ink);border-radius:999px;background:var(--sun);color:var(--on-accent);font-weight:700;box-shadow:3px 3px 0 var(--ink);position:relative;z-index:3}
.soon-badge__led{width:10px;height:10px;border-radius:50%;background:#3DDBA0;border:1.5px solid #1B1340;box-shadow:0 0 0 0 rgba(61,219,160,.7);animation:rb-pulse 1.8s ease-out infinite}
@keyframes rb-pulse{0%{box-shadow:0 0 0 0 rgba(61,219,160,.7)}70%{box-shadow:0 0 0 10px rgba(61,219,160,0)}100%{box-shadow:0 0 0 0 rgba(61,219,160,0)}}
.soon-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-top:2.5rem;position:relative;z-index:3}
.rb-soon .big-btn{font-size:clamp(1.4rem,3.6vw,2.6rem);box-shadow:6px 6px 0 var(--ink)}
.soon-mail{font-weight:700;font-size:1.15rem;text-decoration-thickness:3px;text-underline-offset:5px}
.soon-mail:hover{color:var(--soft)}
.soon-footer{margin-top:0}
@media (prefers-reduced-motion: reduce){ .soon-badge__led{animation:none} }
