@font-face{font-family:'Neue Machina';src:url('../tbs-pig-laboratory/dist/assets/NeueMachina-Regular.otf') format('opentype');font-display:swap}
:root{--paper:#f2f2f2;--ink:#303032;--blue:#304cff;--line:#bababa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Neue Machina',Arial,sans-serif}a{color:inherit}a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.tbs-case-skip{position:absolute;transform:translateY(-150%);background:var(--paper);padding:1rem;z-index:30}.tbs-case-skip:focus{transform:none}
.tbs-case-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:1.15rem clamp(1rem,3vw,3rem);font-size:.72rem;letter-spacing:.08em}.tbs-case-header a{text-decoration:none}.tbs-case-brand{font-family:'Neue Machina',Arial,sans-serif;font-size:1.8rem;letter-spacing:-.08em}.tbs-case-brand sup{font-size:10px;font-family:inherit;vertical-align:top}
.tbs-case-layout{display:grid;grid-template-columns:minmax(140px,190px) minmax(0,1fr);gap:clamp(1.5rem,4vw,5rem);max-width:1600px;margin:auto;padding:0 clamp(1rem,3vw,3rem)}.tbs-case-article{min-width:0}.tbs-case-article .wp-block-group{margin-block-start:0;margin-block-end:0}.tbs-case-article p{line-height:1.48}.tbs-case-hero{padding:clamp(4rem,9vw,9rem) 0 5rem}.tbs-case-eyebrow,.tbs-case-product,.tbs-case-meta,.tbs-case-media-label,.tbs-case-next-label{font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}.tbs-case-product{margin-top:3rem}.tbs-case-hero h1,.tbs-case-section h2,.tbs-case-closing h2{font-family:'Neue Machina',Arial,sans-serif;font-weight:500;letter-spacing:-.045em;line-height:.91;margin:.55em 0}.tbs-case-hero h1{font-size:clamp(4rem,8.6vw,10rem);max-width:1100px}.tbs-case-lead{font-size:clamp(1.25rem,2.3vw,2rem);max-width:760px}.tbs-case-meta{border-top:1px solid var(--line);padding:.7rem 0;margin:0;max-width:760px}.tbs-case-media{background:#e1e3e6;border:1px solid #d0d2d6;display:grid;place-items:center;aspect-ratio:16/9;min-width:0;margin:4rem 0 0!important;position:relative}.tbs-case-media-standard{aspect-ratio:16/10}.tbs-case-media::before{content:'';position:absolute;inset:1rem;border:1px solid #c2c6ce;pointer-events:none}.tbs-case-media-label{color:#565d6d;text-align:center;padding:1rem}.tbs-case-section{padding:clamp(5rem,9vw,10rem) 0;border-top:1px solid var(--line);scroll-margin-top:2rem}.tbs-case-section h2{font-size:clamp(3.2rem,6vw,7rem);max-width:1100px}.tbs-case-section>p:not(.tbs-case-eyebrow){max-width:740px;font-size:clamp(1.08rem,1.4vw,1.32rem)}.tbs-case-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:5rem!important}.tbs-case-principle{border-top:1px solid var(--ink);padding-top:1rem}.tbs-case-principle h3{font-family:'Neue Machina',Arial,sans-serif;font-size:clamp(2rem,3vw,3rem);font-weight:500;margin:1rem 0}.tbs-case-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(2rem,5vw,6rem);align-items:center;padding:5rem 0;border-bottom:1px solid var(--line)}.tbs-case-feature.is-reversed{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.tbs-case-feature h3{font-family:'Neue Machina',Arial,sans-serif;font-weight:500;font-size:clamp(2.2rem,3.6vw,4.5rem);line-height:1.03}.tbs-case-feature .tbs-case-media{margin:0!important}.tbs-case-statement{border-left:2px solid var(--blue);padding-left:1.3rem;margin-top:2rem!important;font-family:'Neue Machina',Arial,sans-serif;font-size:clamp(1.4rem,2vw,2.2rem)}.tbs-case-statement p{margin:0}.tbs-case-closing{border-top:1px solid var(--line);padding:7rem 0}.tbs-case-closing h2{font-size:clamp(4rem,8vw,9rem)}.tbs-case-footer{border-top:1px solid var(--line);padding:2rem clamp(1rem,3vw,3rem);display:flex;justify-content:space-between;gap:2rem}.tbs-case-footer a{text-decoration:none}.tbs-case-footer a:first-child{font-family:'Neue Machina',Arial,sans-serif;font-size:clamp(2rem,4vw,4rem)}
@media(max-width:900px){.tbs-case-layout{display:block}.tbs-case-principles{grid-template-columns:1fr}.tbs-case-feature,.tbs-case-feature.is-reversed{grid-template-columns:1fr}.tbs-case-feature.is-reversed .tbs-case-media{order:2}.tbs-case-feature.is-reversed .tbs-case-feature-copy{order:1}}
@media(max-width:600px){.tbs-case-header{font-size:.62rem}.tbs-case-hero{padding-top:4rem}.tbs-case-hero h1{font-size:clamp(3.7rem,16vw,6rem)}.tbs-case-section h2{font-size:clamp(3rem,12vw,5rem)}.tbs-case-principles{grid-template-columns:1fr;gap:2rem}.tbs-case-feature{padding:3.5rem 0}.tbs-case-footer{display:block}.tbs-case-footer a{display:block;margin-bottom:2rem}.tbs-case-media{margin-top:2rem!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.tbs-case-article h1,.tbs-case-article h2,.tbs-case-article h3{overflow-wrap:anywhere}.tbs-case-principle h3{font-size:clamp(1.8rem,2.2vw,2.8rem)}.tbs-case-feature h3{font-size:clamp(2rem,2.7vw,3.5rem)}.tbs-case-feature-copy{min-width:0}.tbs-case-media{min-height:0}
@media(max-width:600px){.tbs-case-hero h1{font-size:clamp(2.4rem,9vw,3.4rem);overflow-wrap:normal}.tbs-case-section h2{font-size:clamp(2.7rem,9vw,4rem)}}

.tbs-case-hero-video{display:block!important;overflow:hidden;border:0!important;background:var(--ink)}.tbs-case-hero-video::before{display:none}.tbs-case-hero-video video{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}


.tbs-lidar-case-page #visualizacion .tbs-case-feature.is-reversed,.tbs-lidar-case-page #rutas .tbs-case-feature.is-reversed{display:flex;flex-direction:column-reverse;align-items:stretch}.tbs-lidar-case-page #visualizacion .tbs-case-feature.is-reversed .tbs-case-feature-copy,.tbs-lidar-case-page #rutas .tbs-case-feature.is-reversed .tbs-case-feature-copy{max-width:760px}.tbs-lidar-case-page #visualizacion .tbs-case-feature.is-reversed .tbs-case-media,.tbs-lidar-case-page #rutas .tbs-case-feature.is-reversed .tbs-case-media{width:100%;margin-top:3rem!important}.tbs-lidar-case-page #visualizacion .tbs-case-feature.is-reversed .tbs-case-media{order:initial}.tbs-lidar-case-page #rutas .tbs-case-feature.is-reversed .tbs-case-media{order:initial}

.tbs-lidar-case-page .tbs-case-feature{display:flex;flex-direction:column;align-items:stretch}.tbs-lidar-case-page .tbs-case-feature.is-reversed{flex-direction:column-reverse}.tbs-lidar-case-page .tbs-case-feature-copy{max-width:760px}.tbs-lidar-case-page .tbs-case-feature .tbs-case-media{width:100%;margin-top:3rem!important}.tbs-lidar-case-page .tbs-case-feature.is-reversed .tbs-case-media,.tbs-lidar-case-page .tbs-case-feature.is-reversed .tbs-case-feature-copy{order:initial}.tbs-lidar-case-page .tbs-case-has-image{aspect-ratio:16/9;border:0;overflow:hidden;background:#E1E1E1}.tbs-lidar-case-page .tbs-case-has-image::before{display:none}.tbs-lidar-case-page .tbs-case-has-image img{display:block;width:100%;height:100%;object-fit:contain!important}

.tbs-case-media{border-radius:25px;overflow:hidden}.tbs-case-media::before{border-radius:14px}
@media(max-width:650px){.tbs-case-media{border-radius:16px}.tbs-case-media::before{border-radius:8px}}

.tbs-case-product{color:var(--blue);font-size:clamp(1.5rem,2.8vw,2.75rem);font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:2.5rem 0 0}.tbs-case-hero h1{margin-top:.22em}

.tbs-case-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin-top:3rem!important;margin-bottom:4rem!important}.tbs-case-journey-step{border-top:2px solid var(--blue);padding-top:1rem}.tbs-case-journey-step h3{font-size:clamp(1.6rem,2.4vw,2.7rem);font-weight:500;letter-spacing:-.035em;overflow-wrap:normal}.tbs-case-journey-step p:last-child{font-size:.95rem}.tbs-meandme-case-page .tbs-case-two-entries{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:5rem!important}.tbs-meandme-case-page .tbs-case-feature{display:flex;flex-direction:column;align-items:stretch}.tbs-meandme-case-page .tbs-case-feature.is-reversed{flex-direction:column-reverse}.tbs-meandme-case-page .tbs-case-feature-copy{max-width:760px}.tbs-meandme-case-page .tbs-case-feature .tbs-case-media{width:100%;margin-top:3rem!important}.tbs-meandme-case-page .tbs-case-feature.is-reversed .tbs-case-media,.tbs-meandme-case-page .tbs-case-feature.is-reversed .tbs-case-feature-copy{order:initial}.tbs-meandme-case-page #meandme-home,.tbs-meandme-case-page #meandme-product{aspect-ratio:4/3}.tbs-case-tech{font-size:clamp(1rem,1.8vw,1.35rem);color:var(--blue);margin-top:3rem}
@media(max-width:900px){.tbs-case-journey{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tbs-case-journey,.tbs-meandme-case-page .tbs-case-two-entries{grid-template-columns:1fr}}

.tbs-case-media-open{position:absolute;right:clamp(12px,1.5vw,20px);bottom:clamp(12px,1.5vw,20px);z-index:5;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(255,255,255,.62);color:var(--ink);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 3px 12px rgba(15,18,24,.13);cursor:pointer;opacity:.84;transition:opacity .2s ease,background .2s ease,transform .25s cubic-bezier(.2,.75,.25,1),box-shadow .2s ease}
.tbs-case-media-open svg,.tbs-case-media-dialog-close svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tbs-case-media-open:hover,.tbs-case-media-open:focus-visible{opacity:1;background:rgba(255,255,255,.95);transform:scale(1.06);box-shadow:0 6px 18px rgba(15,18,24,.2)}
.tbs-case-media-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;overflow:hidden;border:0;background:transparent;color:#fff}
.tbs-case-media-dialog::backdrop{background:rgba(17,18,21,.68);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.tbs-case-media-dialog-stage{position:absolute;inset:0;display:grid;place-items:center;padding:6vh 4vw}
.tbs-case-media-dialog-stage>.tbs-case-media{min-width:0;min-height:0;margin:0!important;max-width:92vw;max-height:86vh;overflow:hidden;border-radius:18px;box-shadow:0 18px 70px rgba(0,0,0,.32)}
.tbs-case-media-dialog-stage>.tbs-case-media::before{pointer-events:none}
.tbs-case-media-dialog-close{position:fixed;z-index:4;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;transition:background .2s ease,transform .2s ease}
.tbs-case-media-dialog-close:hover,.tbs-case-media-dialog-close:focus-visible{background:rgba(255,255,255,.28);transform:scale(1.04)}
@media(max-width:600px){.tbs-case-media-open{right:12px;bottom:12px;width:40px;height:40px}.tbs-case-media-dialog-stage{padding:10vh 4vw}.tbs-case-media-dialog-close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}}
@media(prefers-reduced-motion:reduce){.tbs-case-media-open,.tbs-case-media-dialog-close{transition:none}}

.tbs-meandme-case-page #meandme-navigation{aspect-ratio:2886/1860;border:0;background:#fff;overflow:hidden}.tbs-meandme-case-page #meandme-navigation::before{display:none}.tbs-meandme-case-page #meandme-navigation img{display:block;width:100%;height:100%;object-fit:contain!important}.tbs-case-media-link{font-size:.85rem;text-align:right;max-width:none!important;margin-top:.7rem}.tbs-case-media-link a{text-decoration:underline;text-underline-offset:.25em}

.tbs-case-work .tbs-case-hero{padding-top:clamp(12rem,20vw,19rem)}

/* The screens stay snug inside the original SVG device silhouettes. */
.tbs-lidar-case-page .tbs-case-has-image{background:#E1E1E1}
.tbs-lidar-case-page .tbs-case-has-image::before{content:'';display:block;position:absolute;inset:0;z-index:1;border:0;border-radius:0;background:url('tablet-frame.svg?v=0.3.12') center/100% 100% no-repeat;filter:drop-shadow(0 14px 18px rgba(20,20,20,.2));pointer-events:none}
.tbs-lidar-case-page .tbs-case-has-image img.wp-block-cover__image-background{position:absolute;top:14%!important;left:14%!important;width:72%!important;height:72%!important;min-width:0;min-height:0;object-fit:contain!important;border-radius:clamp(4px,.7vw,10px);box-shadow:none;z-index:2}
.tbs-guardian-case-page .tbs-case-has-image{aspect-ratio:16/9;border:0;background:#C7C7C7}
.tbs-guardian-case-page .tbs-case-has-image::before{content:'';display:block;position:absolute;inset:0;z-index:1;border:0;border-radius:0;background:url('tablet-frame-guardian.svg?v=0.3.12') center/100% 100% no-repeat;filter:drop-shadow(0 14px 18px rgba(20,25,28,.23));pointer-events:none}
.tbs-guardian-case-page .tbs-case-has-image img.wp-block-cover__image-background{position:absolute;top:14%!important;left:14%!important;width:72%!important;height:72%!important;min-width:0;min-height:0;object-fit:contain!important;border-radius:clamp(4px,.7vw,10px);box-shadow:none;z-index:2}
.tbs-meandme-case-page :is(#meandme-home,#meandme-stages,#meandme-product,#meandme-responsive){aspect-ratio:16/9;border:0;background:#FAECEC}
.tbs-meandme-case-page :is(#meandme-home,#meandme-stages,#meandme-product)::before{content:'';display:block;position:absolute;inset:0;z-index:1;border:0;border-radius:0;background:url('tablet-frame-meandme.svg?v=0.3.12') center/100% 100% no-repeat;filter:drop-shadow(0 14px 18px rgba(75,20,35,.2));pointer-events:none}
.tbs-meandme-case-page :is(#meandme-home,#meandme-stages,#meandme-product) img.wp-block-cover__image-background{position:absolute;top:14%!important;left:14%!important;width:72%!important;height:72%!important;min-width:0;min-height:0;object-fit:contain!important;border-radius:clamp(4px,.7vw,10px);box-shadow:none;z-index:2}
.tbs-meandme-case-page #meandme-responsive::before{content:'';display:block;position:absolute;inset:0;z-index:1;border:0;border-radius:0;background:url('phone-frame.svg?v=0.3.12') center/100% 100% no-repeat;filter:drop-shadow(0 14px 18px rgba(75,20,35,.24));pointer-events:none}
.tbs-meandme-case-page #meandme-responsive img.wp-block-cover__image-background{position:absolute;top:12%!important;left:40%!important;width:20%!important;height:76%!important;min-width:0;min-height:0;object-fit:contain!important;border-radius:clamp(5px,1vw,14px);box-shadow:none;z-index:2}
/* A compact, shared navigation module closes each case. */
.tbs-case-work .tbs-case-closing{padding:0;margin:clamp(3rem,6vw,6rem) 0 clamp(3rem,5vw,5rem);border-top:2px solid var(--blue)}
.tbs-case-next-link{display:block;position:relative;padding:clamp(1.5rem,3vw,3rem) 0;text-decoration:none;transition:color .2s ease}
.tbs-case-next-eyebrow{display:block;margin-bottom:clamp(.75rem,1.5vw,1.25rem);color:var(--blue);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.tbs-case-next-main{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.tbs-case-next-title{font-family:'Neue Machina',Arial,sans-serif;font-size:clamp(2.3rem,5vw,5.5rem);font-weight:500;letter-spacing:-.05em;line-height:1.05}
.tbs-case-next-arrow{flex:none;display:grid;place-items:center;width:clamp(4.3rem,8vw,7.5rem);height:clamp(4.3rem,8vw,7.5rem);border:2px solid var(--blue);border-radius:50%;color:var(--blue);font-family:Arial,sans-serif;font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:1;transition:background .2s ease,color .2s ease,transform .2s ease}
.tbs-case-next-description{display:block;max-width:40rem;margin-top:.6rem;color:#565d6d;font-size:clamp(.95rem,1.35vw,1.2rem);line-height:1.4}
.tbs-case-next-link:hover .tbs-case-next-arrow,.tbs-case-next-link:focus-visible .tbs-case-next-arrow{background:var(--blue);color:var(--paper);transform:translate(3px,-3px)}
.tbs-case-next-link:focus-visible{outline:2px solid var(--blue);outline-offset:6px}
@media(max-width:600px){.tbs-case-next-main{align-items:flex-start}.tbs-case-next-title{font-size:clamp(2rem,8vw,3rem)}.tbs-case-next-arrow{width:3.8rem;height:3.8rem;font-size:2.9rem}.tbs-case-next-description{padding-right:4.5rem}}


/* Preserve every capture's native ratio, including long pages and portrait screens. */
.tbs-case-page .tbs-case-device-adaptive{aspect-ratio:var(--tbs-capture-aspect)!important;min-height:0!important}

/* One persistent chapter navigation for every Work case template. */
/* Split the former sidebar allowance equally to preserve the article width. */
@media(min-width:901px){
  .tbs-case-layout{grid-template-columns:minmax(70px,95px) minmax(0,1fr) minmax(70px,95px);column-gap:clamp(.75rem,2vw,2.5rem)}
}
.tbs-case-article{grid-column:2}
.tbs-case-nav{
  position:fixed;z-index:20;inset:auto auto calc(18px + env(safe-area-inset-bottom,0px)) 50%;
  transform:translateX(-50%);display:flex;align-items:center;gap:10px;
  width:max-content;max-width:calc(100% - 24px);margin:0;padding:8px;
  overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;
  border:1px solid rgba(23,23,23,.12);border-radius:9999px;
  background:rgba(242,242,242,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 6px 24px rgba(0,0,0,.12);font-size:13px;line-height:1;
}
.tbs-case-nav::-webkit-scrollbar{display:none}
.tbs-case-nav a{
  display:flex;align-items:center;flex:0 0 auto;min-height:56px;padding:0 16px;
  border:0;border-radius:9999px;background:rgba(255,255,255,.78);color:var(--ink);
  text-decoration:none;white-space:nowrap;transition:background .25s ease,color .25s ease;
}
.tbs-case-nav-number{flex:0 0 24px;text-align:center;font-variant-numeric:tabular-nums}
.tbs-case-nav-label{display:grid;grid-template-columns:0fr;opacity:0;transition:grid-template-columns .32s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
.tbs-case-nav-label>span{min-width:0;overflow:hidden}
.tbs-case-nav-label>span::before{content:'';display:inline-block;width:12px}
.tbs-case-nav a.is-active{background:var(--ink);color:var(--paper)}
.tbs-case-nav a.is-active .tbs-case-nav-label{grid-template-columns:1fr;opacity:1}
.tbs-case-nav a:hover{background:var(--blue);color:#fff}
.tbs-case-nav a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.tbs-case-section{scroll-margin-top:110px}
.tbs-case-page:not(.tbs-case-work):has(.work-header) .tbs-case-hero{padding-top:clamp(8rem,12vw,10rem)}
.tbs-case-page:has(.tbs-case-nav){padding-bottom:104px}
@media(max-width:600px){
  .tbs-case-nav{gap:8px;font-size:12px}
  .tbs-case-nav a{min-height:50px;padding-inline:14px}
  .tbs-case-nav-number{flex-basis:22px}
}
@media(prefers-reduced-motion:reduce){.tbs-case-nav a,.tbs-case-nav-label{transition:none}}

/* Shared case-study refinement: tighter opening, clearer chapter rhythm and a contained chapter rail. */
.tbs-case-work .tbs-case-article .tbs-case-hero{display:flex;flex-direction:column;padding:clamp(5.5rem,8vw,7rem) 0 clamp(3rem,5vw,5rem)}
.tbs-case-work .tbs-case-article .tbs-case-hero>.tbs-case-eyebrow{order:1;margin:0 0 1.2rem}
.tbs-case-work .tbs-case-article .tbs-case-product{order:2;font-size:clamp(1.25rem,2.15vw,2.1rem);margin:0 0 .65rem}
.tbs-case-work .tbs-case-article .tbs-case-hero h1{order:3;font-size:clamp(3.35rem,6.6vw,7.5rem);margin:.12em 0 0}
.tbs-case-work .tbs-case-article .tbs-case-hero-video{order:4;margin:clamp(2rem,4vw,4rem) 0 0!important}
.tbs-case-work .tbs-case-article .tbs-case-hero>.tbs-case-lead{order:5;margin:clamp(2rem,4vw,3.5rem) 0 1rem}
.tbs-case-work .tbs-case-article .tbs-case-meta{order:6}
.tbs-case-work .tbs-case-article .tbs-case-section{padding:clamp(3.5rem,6vw,6.5rem) 0}
.tbs-case-work .tbs-case-article .tbs-case-section h2{font-size:clamp(2.8rem,5vw,5.7rem)}
.tbs-case-work .tbs-case-article .tbs-case-section>.tbs-case-feature:last-child{padding-bottom:0;border-bottom:0}
.tbs-case-work .tbs-case-article .tbs-case-closing{margin-top:clamp(2.5rem,4vw,4.5rem)}
.tbs-case-work .tbs-case-layout{align-items:stretch}
.tbs-case-work .tbs-case-layout>.tbs-case-nav{position:sticky;inset:auto;top:38vh;grid-column:3;grid-row:1;align-self:start;justify-self:start;transform:none;display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:max-content;max-width:100%;margin:38vh 0 0;padding:8px;overflow:visible;border-radius:24px}
.tbs-case-work .tbs-case-layout>.tbs-case-nav a{display:flex;flex-direction:row-reverse;align-items:center;justify-content:flex-start;gap:0;flex:0 0 auto;width:42px;min-width:42px;min-height:42px;height:42px;padding:0 9px;border-radius:999px;overflow:hidden;transition:width .32s cubic-bezier(.2,.8,.2,1),background .25s ease,color .25s ease}
.tbs-case-work .tbs-case-nav .tbs-case-nav-number{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;padding:0;text-align:center;line-height:1;font-variant-numeric:tabular-nums}
.tbs-case-work .tbs-case-nav .tbs-case-nav-label{display:block;flex:0 1 auto;width:0;max-width:min(12rem,22vw);overflow:hidden;opacity:0;transition:width .32s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
.tbs-case-work .tbs-case-nav .tbs-case-nav-label>span{display:block;width:max-content;max-width:min(12rem,22vw);min-width:0;overflow:hidden;white-space:nowrap}
.tbs-case-work .tbs-case-layout>.tbs-case-nav a.is-active{width:max-content;max-width:min(15rem,calc(100vw - 2rem));gap:8px;padding-inline:9px;background:var(--ink);color:var(--paper)}
.tbs-case-work .tbs-case-layout>.tbs-case-nav a.is-active .tbs-case-nav-label{width:max-content;max-width:min(12rem,22vw);opacity:1}
.tbs-case-work .tbs-case-next-link{color:var(--ink)}
.tbs-case-work .tbs-case-next-arrow{position:relative;display:block;flex:none;width:clamp(7rem,13vw,12rem);height:auto;aspect-ratio:23/16;overflow:hidden;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:0;line-height:0}
.tbs-case-work .tbs-case-next-arrow::before,.tbs-case-work .tbs-case-next-arrow::after{content:'';position:absolute;inset:0;background:url('arrow.svg') center/100% auto no-repeat;transition:transform .45s cubic-bezier(.22,.7,.25,1)}
.tbs-case-work .tbs-case-next-arrow::after{transform:translate(-120%,120%)}
.tbs-case-work .tbs-case-next-link:hover .tbs-case-next-arrow::before,.tbs-case-work .tbs-case-next-link:focus-visible .tbs-case-next-arrow::before{transform:translate(120%,-120%)}
.tbs-case-work .tbs-case-next-link:hover .tbs-case-next-arrow::after,.tbs-case-work .tbs-case-next-link:focus-visible .tbs-case-next-arrow::after{transform:translate(0,0)}
@media(max-width:900px){.tbs-case-work .tbs-case-layout>.tbs-case-nav{position:fixed;inset:auto auto calc(16px + env(safe-area-inset-bottom,0px)) 50%;top:auto;grid-column:auto;grid-row:auto;transform:translateX(-50%);flex-direction:row;align-items:center;gap:7px;width:max-content;max-width:calc(100% - 20px);margin:0;padding:7px;overflow-x:auto;border-radius:999px;transition:opacity .25s ease,transform .25s ease}.tbs-case-work .tbs-case-layout>.tbs-case-nav.is-stopped{opacity:0;pointer-events:none;transform:translate(-50%,calc(100% + 24px))}.tbs-case-work .tbs-case-layout>.tbs-case-nav a{flex-direction:row;width:40px;min-width:40px;min-height:40px;height:40px;padding:0 8px}.tbs-case-work .tbs-case-layout>.tbs-case-nav a.is-active{max-width:min(14rem,calc(100vw - 2rem));padding-inline:8px}.tbs-case-work .tbs-case-nav .tbs-case-nav-label>span,.tbs-case-work .tbs-case-layout>.tbs-case-nav a.is-active .tbs-case-nav-label{max-width:min(8rem,30vw)}.tbs-case-work .tbs-case-article .tbs-case-hero h1{font-size:clamp(2.7rem,10vw,4.2rem)}.tbs-case-work .tbs-case-article .tbs-case-section h2{font-size:clamp(2.4rem,8vw,4rem)}}
@media(max-width:600px){.tbs-case-work .tbs-case-article .tbs-case-hero{padding-top:5.5rem}.tbs-case-work .tbs-case-article .tbs-case-hero h1{font-size:clamp(2.35rem,9.6vw,3.5rem)}.tbs-case-work .tbs-case-article .tbs-case-section{padding:3.5rem 0}.tbs-case-work .tbs-case-article .tbs-case-feature{padding:3rem 0}.tbs-case-work .tbs-case-next-arrow{width:4.5rem}}
@media(prefers-reduced-motion:reduce){.tbs-case-work .tbs-case-next-arrow::before,.tbs-case-work .tbs-case-next-arrow::after{transition:none}}

/* Final template pass: retain the original bottom-center chapter rail and its footprint. */
body.tbs-case-work .tbs-case-article .tbs-case-hero>.tbs-case-lead{order:4}
body.tbs-case-work .tbs-case-article .tbs-case-hero-video{order:5}
body.tbs-case-work .tbs-case-layout>.tbs-case-nav{position:fixed;inset:auto auto calc(18px + env(safe-area-inset-bottom,0px)) 50%;top:auto;grid-column:auto;grid-row:auto;transform:translateX(-50%);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;width:max-content;max-width:calc(100% - 24px);margin:0;padding:7px;overflow-x:auto;border-radius:999px}
body.tbs-case-work .tbs-case-layout>.tbs-case-nav a{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0;flex:0 0 auto;width:42px;min-width:42px;min-height:42px;height:42px;padding:0;border-radius:999px;overflow:hidden}
body.tbs-case-work .tbs-case-nav .tbs-case-nav-number{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;padding:0;text-align:center;line-height:1;font-variant-numeric:tabular-nums}
body.tbs-case-work .tbs-case-nav .tbs-case-nav-label{display:grid;grid-template-columns:0fr;width:0;max-width:min(12rem,30vw);opacity:0;overflow:hidden;transition:grid-template-columns .32s cubic-bezier(.2,.8,.2,1),width .32s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
body.tbs-case-work .tbs-case-nav .tbs-case-nav-label>span{display:block;width:max-content;max-width:min(12rem,30vw);min-width:0;overflow:hidden;white-space:nowrap}
body.tbs-case-work .tbs-case-layout>.tbs-case-nav a.is-active{width:max-content;max-width:calc(100vw - 2rem);gap:7px;padding:0 11px;background:var(--ink);color:var(--paper)}
body.tbs-case-work .tbs-case-layout>.tbs-case-nav a.is-active .tbs-case-nav-label{grid-template-columns:1fr;width:max-content;opacity:1}
body.tbs-case-work .tbs-case-layout>.tbs-case-nav a:hover{background:rgba(255,255,255,.78);color:var(--ink)}
body.tbs-case-work .tbs-case-layout>.tbs-case-nav a.is-active:hover{background:var(--ink);color:var(--paper)}
body.tbs-case-work .tbs-case-article :is(#intro,#reto,#enfoque){padding:clamp(2.2rem,4vw,3.5rem) 0}
body.tbs-case-work .tbs-case-article :is(#intro,#reto,#enfoque) h2{font-size:clamp(2.45rem,4.25vw,4.45rem);margin:.38em 0}
body.tbs-case-work .tbs-case-article :is(#intro,#reto,#enfoque)>p:not(.tbs-case-eyebrow){font-size:clamp(1rem,1.25vw,1.2rem);margin:.7em 0}
body.tbs-case-work .tbs-case-next-link:hover .tbs-case-next-arrow,body.tbs-case-work .tbs-case-next-link:focus-visible .tbs-case-next-arrow{background:transparent;color:var(--ink)}
@media(max-width:600px){body.tbs-case-work .tbs-case-layout>.tbs-case-nav{gap:6px;padding:6px}body.tbs-case-work .tbs-case-layout>.tbs-case-nav a{width:40px;min-width:40px;min-height:40px;height:40px}body.tbs-case-work .tbs-case-layout>.tbs-case-nav a.is-active{padding-inline:9px}body.tbs-case-work .tbs-case-nav .tbs-case-nav-label>span{max-width:min(7rem,28vw)}body.tbs-case-work .tbs-case-article :is(#intro,#reto,#enfoque){padding:2rem 0}body.tbs-case-work .tbs-case-article :is(#intro,#reto,#enfoque) h2{font-size:clamp(2.2rem,8vw,3.3rem)}}

/* The index follows the last chapter upward before the next-project rule. */
body.tbs-case-work .tbs-case-article .tbs-case-hero{margin-bottom:0!important;padding-bottom:0}
body.tbs-case-work .tbs-case-article .tbs-case-hero-video{margin-bottom:clamp(1.5rem,2.5vw,2.5rem)!important}
body.tbs-case-work .tbs-case-closing{margin-bottom:16px}
body.tbs-case-work:has(.tbs-case-nav){padding-bottom:0}
body.tbs-case-work .tbs-case-layout>.tbs-case-nav{transform:translate(-50%,var(--tbs-nav-shift,0px));opacity:var(--tbs-nav-opacity,1)}

/* Guardian: pair the approach statement with its three principles, then give
   the icon sheet most of the available width. */
body.tbs-guardian-case-page #enfoque{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(2rem,5vw,5rem);align-items:start}
body.tbs-guardian-case-page #enfoque>.tbs-case-eyebrow,
body.tbs-guardian-case-page #enfoque>h2,
body.tbs-guardian-case-page #enfoque>p{grid-column:1}
body.tbs-guardian-case-page #enfoque>.tbs-case-principles{grid-column:2;grid-row:1 / span 4;grid-template-columns:minmax(0,1fr);gap:1.5rem;margin:0!important}
body.tbs-guardian-case-page #solucion>.tbs-case-feature:has(.tbs-case-icon-grid){grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
body.tbs-guardian-case-page #solucion>.tbs-case-feature:has(.tbs-case-icon-grid)>.tbs-case-icon-grid{grid-column:auto!important;grid-row:1;align-self:center;width:100%!important;max-width:100%;margin:0!important}
body.tbs-guardian-case-page #solucion>.tbs-case-feature:has(.tbs-case-icon-grid)>.tbs-case-icon-grid img{width:100%;height:auto}
@media(max-width:900px){body.tbs-guardian-case-page #enfoque{display:block}body.tbs-guardian-case-page #enfoque>.tbs-case-principles{display:grid;grid-template-columns:1fr;margin-top:2rem!important}body.tbs-guardian-case-page #solucion>.tbs-case-feature:has(.tbs-case-icon-grid){grid-template-columns:1fr}body.tbs-guardian-case-page #solucion>.tbs-case-feature:has(.tbs-case-icon-grid)>.tbs-case-icon-grid{grid-row:auto}}

/* One footer language across Home and Work: solid rules, common spacing and the original animated SVG arrow. */
body.tbs-case-work #footer{background:#f2f2f2;min-height:0;padding-top:25px}
body.tbs-case-work #footer .footer-base{padding-bottom:24px}
body.tbs-case-work #footer .footer-top nav a.tbs-footer-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #777;padding:14px 4px;text-decoration:none}
body.tbs-case-work #footer .tbs-footer-cta .tbs-footer-arrow{position:relative;display:block;flex:0 0 auto;width:1.35em;height:1em;overflow:hidden}
body.tbs-case-work #footer .tbs-footer-cta .tbs-footer-arrow svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .45s cubic-bezier(.22,.7,.25,1)}
body.tbs-case-work #footer .tbs-footer-cta .tbs-footer-arrow svg path{fill:currentColor}
body.tbs-case-work #footer .tbs-footer-cta .tbs-footer-arrow svg+svg{transform:translate(-120%,120%)}
body.tbs-case-work #footer .tbs-footer-cta:hover .tbs-footer-arrow svg:first-child,body.tbs-case-work #footer .tbs-footer-cta:focus-visible .tbs-footer-arrow svg:first-child{transform:translate(120%,-120%)}
body.tbs-case-work #footer .tbs-footer-cta:hover .tbs-footer-arrow svg+svg,body.tbs-case-work #footer .tbs-footer-cta:focus-visible .tbs-footer-arrow svg+svg{transform:translate(0,0)}
body.tbs-case-work #footer .contact .tbs-footer-cta,body.tbs-case-work #footer .footer-base .tbs-footer-cta{display:inline-flex;align-items:center;gap:.8em}
body.tbs-case-work #footer .contact .tbs-footer-cta,body.tbs-case-work #footer .footer-base .tbs-footer-cta{position:relative;padding:8px 0 10px;border:0;border-radius:0;background:none;color:inherit;text-decoration:none}
body.tbs-case-work #footer .contact .tbs-footer-cta::after,body.tbs-case-work #footer .footer-base .tbs-footer-cta::after{content:'';position:absolute;bottom:2px;left:0;right:0;height:2px;background-image:radial-gradient(circle at 1px 1px,currentColor .65px,transparent .85px);background-size:5px 2px;background-repeat:repeat-x;animation:tbs-footer-dots 1.25s linear infinite;opacity:.72;pointer-events:none}
body.tbs-case-work #footer .contact .tbs-footer-cta:hover::after,body.tbs-case-work #footer .footer-base .tbs-footer-cta:hover::after{animation-duration:.65s;opacity:1}
@keyframes tbs-footer-dots{to{background-position:5px 0}}
@media(prefers-reduced-motion:reduce){body.tbs-case-work #footer .tbs-footer-cta .tbs-footer-arrow svg{transition:none}}
@media(prefers-reduced-motion:reduce){body.tbs-case-work #footer .contact .tbs-footer-cta::after,body.tbs-case-work #footer .footer-base .tbs-footer-cta::after{animation:none}}
