@view-transition { navigation: auto; }

@keyframes rc-page-out { to { opacity: 0; } }
@keyframes rc-page-in { from { opacity: 0; } }
::view-transition-old(root) { animation: .42s ease both rc-page-out; }
::view-transition-new(root) { animation: .48s ease both rc-page-in; }
::view-transition-group(rc-project-image) {
  animation-duration: .76s;
  animation-timing-function: cubic-bezier(.22,.78,.21,1);
}
::view-transition-group(rc-project-title) {
  animation-duration: .68s;
  animation-timing-function: cubic-bezier(.22,.78,.21,1);
}
/* The incoming title stays available to the snapshot despite its regular reveal animation. */
html.shared-transition-incoming .case-hero h1,
html.shared-transition-incoming .case-hero__media,
html.shared-transition-incoming .newsletter-hero-proof {
  opacity: 1 !important;
  translate: 0 0 !important;
  scale: 1 !important;
  filter: none !important;
  clip-path: none !important;
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root),
  ::view-transition-group(rc-project-image), ::view-transition-group(rc-project-title) {
    animation-duration: .01ms !important;
  }
}

.rc-bridge { position:fixed; inset:0; z-index:3100; overflow:hidden; pointer-events:none; }
.rc-bridge__image { position:fixed; display:block; max-width:none; object-fit:cover; }
.rc-bridge__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,13,20,.78),rgba(18,13,20,.18)); opacity:0; }
.rc-bridge__title { position:absolute; z-index:1; left:var(--gutter); top:40%; max-width:80vw; color:#fffaf2; font:500 clamp(3rem,8vw,8rem)/.95 var(--sans); letter-spacing:-.06em; opacity:0; }
.rc-bridge--incoming { background:#1d1821; }
.rc-bridge--incoming .rc-bridge__image { inset:0; width:100%; height:100%; }
.rc-bridge--incoming .rc-bridge__shade,.rc-bridge--incoming .rc-bridge__title { opacity:1; }
@media(max-width:560px){.rc-bridge__title{top:42%;font-size:clamp(2.8rem,13vw,5rem)}}


/* Motion System V2 — project continuity */
@media (prefers-reduced-motion:no-preference){
  @keyframes rc-root-out-v2{
    to{opacity:0;transform:scale(.995)}
  }
  @keyframes rc-root-in-v2{
    from{opacity:0;transform:scale(1.004)}
    to{opacity:1;transform:scale(1)}
  }
  ::view-transition-old(root){
    animation:.34s cubic-bezier(.4,0,.2,1) both rc-root-out-v2;
  }
  ::view-transition-new(root){
    animation:.46s cubic-bezier(.16,1,.3,1) both rc-root-in-v2;
  }
  ::view-transition-group(rc-project-image){
    animation-duration:.72s;
    animation-timing-function:cubic-bezier(.16,1,.3,1);
  }
  ::view-transition-group(rc-project-title){
    animation-duration:.64s;
    animation-timing-function:cubic-bezier(.2,.72,.22,1);
  }
  ::view-transition-old(rc-project-title){
    animation-timing-function:cubic-bezier(.4,0,.2,1);
  }
  ::view-transition-new(rc-project-title){
    animation-timing-function:cubic-bezier(.16,1,.3,1);
  }
}


/* Motion System V2 — reference-style full-page handoff.
   Modern browsers use this for every same-origin page navigation. */
@media (prefers-reduced-motion:no-preference){
  @keyframes rc-route-old-v3{
    0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
    100%{opacity:.18;transform:translateY(-1.8vh) scale(.986);filter:blur(2px)}
  }
  @keyframes rc-route-new-v3{
    0%{opacity:.35;clip-path:inset(100% 0 0 0);transform:translateY(2.4vh) scale(1.008)}
    100%{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0) scale(1)}
  }
  ::view-transition-old(root){
    animation:.46s cubic-bezier(.4,0,.2,1) both rc-route-old-v3;
  }
  ::view-transition-new(root){
    animation:.64s cubic-bezier(.16,1,.3,1) both rc-route-new-v3;
  }
  ::view-transition-group(root){
    isolation:isolate;
    background:#0c0c0e;
  }
  ::view-transition-image-pair(root){
    isolation:isolate;
  }

  /* Shared project transitions remain the focal point above the root handoff. */
  ::view-transition-group(rc-project-image),
  ::view-transition-group(rc-project-title){
    z-index:2;
  }
}


/* Immersive HOME entrance — spatial gallery adapted from the supplied reference.
   Scoped to .home .home-entry to leave the rest of the portfolio untouched. */

.home{
  --entry-bg:#050708;
  --entry-paper:#f4f0e8;
  --entry-accent:#d9a23b;
}

.home-entry{
  position:relative;
  height:235svh;
  color:var(--entry-paper);
  background:var(--entry-bg);
}

.home-entry__sticky{
  --entry-p:0;
  --entry-copy:0;
  --entry-title:1;
  position:sticky;
  top:0;
  height:100svh;
  overflow:hidden;
  isolation:isolate;
  background:var(--entry-bg);
}

.home-entry__sticky::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:8;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 62%,transparent 0 40%,rgba(0,0,0,.18) 78%,rgba(0,0,0,.48) 100%),
    linear-gradient(180deg,rgba(5,7,8,.15),transparent 40%,rgba(5,7,8,.28));
}

.home-entry__titleband{
  position:absolute;
  z-index:30;
  inset:0;
  min-height:100svh;
  display:block;
  padding:calc(var(--header,76px) + 1.35rem) var(--gutter) 1.35rem;
  color:#111516;
  background:#f1f1ef;
  border-bottom:1px solid rgba(10,13,16,.16);
  transform:
    translateY(calc(var(--entry-p) * -108svh))
    scale(calc(1 - var(--entry-p) * .025));
  opacity:var(--entry-title);
  filter:blur(calc(var(--entry-p) * 2.4px));
  will-change:transform,opacity,filter;
}

.home-entry__bar-meta{
  display:flex;
  justify-content:space-between;
  gap:2rem;
  color:rgba(10,13,16,.55);
  font:700 .62rem/1 var(--sans);
  letter-spacing:.17em;
}

.home-entry__score{
  position:absolute;
  left:var(--gutter);
  top:clamp(7.5rem,16vh,10.5rem);
  width:3.2rem;
  height:4.2rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:.48rem;
  border:1px solid rgba(10,13,16,.34);
}
.home-entry__score small{
  font:700 .48rem/1 var(--sans);
  letter-spacing:.12em;
}
.home-entry__score strong{
  font:500 1.35rem/.9 var(--serif);
}

.home-entry__cover-copy{
  position:absolute;
  left:50%;
  top:53%;
  width:min(78rem,calc(100% - (var(--gutter)*2)));
  transform:translate(-50%,-50%);
  text-align:center;
}
.home-entry__cover-copy>span{
  display:block;
  margin-bottom:1rem;
  color:rgba(10,13,16,.5);
  font:700 .58rem/1 var(--sans);
  letter-spacing:.18em;
}
.home-entry__titleband h1{
  margin:0;
  color:#101415;
  font:600 clamp(4.4rem,10.5vw,11.5rem)/.78 var(--sans);
  letter-spacing:-.082em;
  text-transform:uppercase;
}
.home-entry__cover-copy>p{
  margin:1.2rem 0 0;
  color:rgba(10,13,16,.48);
  font:700 .58rem/1 var(--sans);
  letter-spacing:.17em;
}

.home-entry__cover-tags{
  position:absolute;
  left:50%;
  bottom:1.5rem;
  display:flex;
  gap:.35rem;
  transform:translateX(-50%);
}
.home-entry__cover-tags span{
  padding:.42rem .7rem;
  color:#111516;
  border:1px solid rgba(10,13,16,.18);
  border-radius:999px;
  font:600 .5rem/1 var(--sans);
  letter-spacing:.04em;
}

.home-entry__midcopy{
  position:absolute;
  z-index:16;
  left:50%;
  top:31%;
  width:min(50rem,calc(100% - (var(--gutter)*2)));
  transform:
    translate(-50%,-50%)
    translateY(calc((1 - var(--entry-mid)) * 1.5rem));
  text-align:center;
  opacity:var(--entry-mid);
  pointer-events:none;
  will-change:opacity,transform;
}
.home-entry__midcopy>span{
  display:block;
  margin-bottom:.9rem;
  color:rgba(244,240,232,.48);
  font:700 .56rem/1 var(--sans);
  letter-spacing:.17em;
}
.home-entry__midcopy h2{
  margin:0;
  color:var(--entry-paper);
  font:600 clamp(2.7rem,5.8vw,6.2rem)/.82 var(--sans);
  letter-spacing:-.07em;
  text-transform:uppercase;
}
.home-entry__midcopy h2 em{
  color:var(--entry-accent);
  font-family:var(--serif);
  font-weight:400;
  text-transform:none;
}
.home-entry__midcopy p{
  margin:1rem 0 0;
  color:rgba(244,240,232,.5);
  font:700 .56rem/1.4 var(--sans);
  letter-spacing:.1em;
}

.home-room{
  position:absolute;
  z-index:2;
  inset:0;
  overflow:hidden;
  perspective:1100px;
  transform:
    translateY(calc((1 - var(--entry-p)) * 13svh))
    scale(calc(.68 + var(--entry-p) * .36));
  transform-origin:50% 58%;
  will-change:transform;
  background:
    radial-gradient(circle at 50% 55%,rgba(255,255,255,.08),transparent 26%),
    linear-gradient(180deg,#101416 0%,#07090a 75%,#030404 100%);
}

.home-room__back{
  position:absolute;
  z-index:2;
  left:22%;
  right:22%;
  top:9%;
  bottom:27%;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    #171b1d;
  background-size:6rem 100%,100% 5.5rem;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 0 8rem rgba(0,0,0,.42);
}

.home-room__ceiling{
  position:absolute;
  z-index:1;
  left:12%;
  right:12%;
  top:-2%;
  height:27%;
  clip-path:polygon(13% 0,87% 0,100% 100%,0 100%);
  background:
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(180deg,#252a2c,#101315);
  background-size:9rem 100%,100% 100%;
  border-bottom:1px solid rgba(255,255,255,.14);
}

.home-room__wall{
  position:absolute;
  z-index:1;
  top:0;
  bottom:0;
  width:33%;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),transparent 42%),
    #222628;
}

.home-room__wall--left{
  left:0;
  clip-path:polygon(0 0,100% 10%,66% 73%,0 100%);
  background:
    linear-gradient(90deg,#0b0d0e,#2f3437 72%,#171a1c),
    #222628;
}

.home-room__wall--right{
  right:0;
  clip-path:polygon(0 10%,100% 0,100% 100%,34% 73%);
  background:
    linear-gradient(270deg,#0b0d0e,#2f3437 72%,#171a1c),
    #222628;
}

.home-room__floor{
  position:absolute;
  z-index:3;
  left:-13%;
  right:-13%;
  bottom:-30%;
  height:70%;
  transform-origin:50% 100%;
  transform:rotateX(67deg);
  background:
    linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px),
    linear-gradient(180deg,#171b1d,#060809 75%);
  background-size:100% 4.4rem,7rem 100%,100% 100%;
  border-top:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 8rem 9rem rgba(0,0,0,.32);
}

.home-room__rail{
  position:absolute;
  z-index:5;
  top:64%;
  width:43%;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(244,240,232,.95));
  box-shadow:0 0 1rem rgba(244,240,232,.42);
  transform-origin:center;
}

.home-room__rail--left{left:0;transform:rotate(-18deg)}
.home-room__rail--right{right:0;transform:rotate(18deg) scaleX(-1)}

.home-room__frame{
  position:relative;
  width:clamp(10rem,17vw,17rem);
  aspect-ratio:.78;
  padding:.45rem;
  overflow:hidden;
  background:#d8d6d0;
  border:1px solid rgba(255,255,255,.38);
  box-shadow:
    0 1.6rem 3rem rgba(0,0,0,.44),
    0 0 0 .5rem rgba(4,5,5,.55);
  transform:
    translateY(calc((1 - var(--entry-p)) * -1.6rem))
    scale(calc(.88 + var(--entry-p) * .12));
}

.home-room__frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
  filter:saturate(.96) contrast(1.05) brightness(.9);
}

.home-room__frame::after{
  content:"";
  position:absolute;
  inset:.45rem;
  background:linear-gradient(180deg,transparent 58%,rgba(5,7,8,.28) 100%);
  pointer-events:none;
}

.home-room__frame span{
  position:absolute;
  z-index:2;
  left:1rem;
  right:1rem;
  bottom:.9rem;
  color:var(--entry-paper);
  font:700 .52rem/1.3 var(--sans);
  letter-spacing:.13em;
}

.home-room__screen{
  position:absolute;
  z-index:4;
  top:35%;
  width:clamp(8rem,12vw,13rem);
  aspect-ratio:1.1;
  padding:.35rem;
  overflow:hidden;
  background:#111;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 1.2rem 3rem rgba(0,0,0,.34);
  opacity:calc(.2 + var(--entry-p) * .7);
}

.home-room__screen img{
  width:100%;
  height:calc(100% - 1.45rem);
  object-fit:cover;
  filter:grayscale(.72) brightness(.74);
}

.home-room__screen span{
  display:block;
  height:1.45rem;
  padding:.34rem .35rem 0;
  color:rgba(244,240,232,.65);
  font:700 .43rem/1 var(--sans);
  letter-spacing:.09em;
}

.home-room__screen--left{
  left:7%;
  transform:perspective(800px) rotateY(25deg) translateY(calc((1 - var(--entry-p)) * 1.4rem));
}

.home-room__screen--right{
  right:7%;
  transform:perspective(800px) rotateY(-25deg) translateY(calc((1 - var(--entry-p)) * 1.4rem));
}

.home-entry__reveal{
  position:absolute;
  z-index:15;
  left:0;
  right:0;
  bottom:clamp(3.8rem,7vh,6.5rem);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(18rem,.54fr);
  grid-template-areas:
    "eyebrow lead"
    "title lead"
    "actions lead";
  align-items:end;
  gap:.8rem 6vw;
  color:var(--entry-paper);
  opacity:var(--entry-copy);
  transform:translateY(calc((1 - var(--entry-copy)) * 2rem));
  pointer-events:none;
  will-change:transform,opacity;
}

.home-entry__eyebrow{
  grid-area:eyebrow;
  margin:0;
  color:var(--entry-accent);
  font:700 .64rem/1 var(--sans);
  letter-spacing:.17em;
}

.home-entry__reveal h2{
  grid-area:title;
  max-width:9ch;
  margin:0;
  color:var(--entry-paper);
  font:500 clamp(3.2rem,7.3vw,7.7rem)/.8 var(--sans);
  letter-spacing:-.07em;
}

.home-entry__reveal h2 em{
  color:var(--entry-accent);
  font-family:var(--serif);
  font-weight:400;
}

.home-entry__lead{
  grid-area:lead;
  max-width:30rem;
  margin:0;
  padding:1.1rem 0 0;
  color:rgba(244,240,232,.68);
  border-top:1px solid rgba(255,255,255,.18);
  font:400 .9rem/1.65 var(--sans);
}

.home-entry__actions{
  grid-area:actions;
  display:flex;
  flex-wrap:wrap;
  gap:.7rem 1.5rem;
  margin-top:.75rem;
}

.home-entry__actions a{
  pointer-events:auto;
  color:var(--entry-paper);
  text-decoration:none;
  font:700 .62rem/1 var(--sans);
  letter-spacing:.13em;
  border-bottom:1px solid rgba(244,240,232,.32);
  padding-bottom:.45rem;
}

.home-entry__actions a:hover{color:var(--entry-accent)}

.home-entry__hint{
  position:absolute;
  z-index:18;
  left:var(--gutter);
  bottom:1.25rem;
  display:flex;
  align-items:center;
  gap:.9rem;
  color:rgba(244,240,232,.46);
  font:700 .55rem/1 var(--sans);
  letter-spacing:.15em;
  opacity:calc(1 - var(--entry-p) * 1.5);
}

.home-entry__hint i{
  width:3rem;
  height:1px;
  background:rgba(244,240,232,.42);
  transform-origin:left;
  animation:entry-hint 1.8s ease-in-out infinite;
}

@keyframes entry-hint{
  0%,100%{transform:scaleX(.25)}
  50%{transform:scaleX(1)}
}

@media(max-width:960px){
  .home-entry{height:210svh}
  .home-entry__titleband{min-height:34svh}
  .home-entry__titleband h1{font-size:clamp(3rem,8vw,5.8rem)}
  .home-room__back{left:17%;right:17%;bottom:25%}
  .home-room__screen{display:none}
  .home-entry__reveal{
    grid-template-columns:1fr;
    grid-template-areas:"eyebrow" "title" "lead" "actions";
    gap:.75rem;
    bottom:4.5rem;
  }
  .home-entry__reveal h2{max-width:10ch}
  .home-entry__lead{max-width:26rem}
}

@media(max-width:620px){
  .home-entry{height:185svh}
  .home-entry__titleband{
    min-height:31svh;
    padding-top:calc(var(--header,70px) + .9rem);
  }
  .home-entry__bar-meta{font-size:.5rem}
  .home-entry__bar-meta span:last-child{display:none}
  .home-entry__titleband h1{
    margin:.9rem 0 .35rem;
    font-size:clamp(2.65rem,12.5vw,4.2rem);
  }
  .home-entry__titleband>p{font-size:.5rem}

  .home-room{
    transform:
      translateY(calc((1 - var(--entry-p)) * 14svh))
      scale(calc(.9 + var(--entry-p) * .12));
  }
  .home-room__back{
    left:8%;
    right:8%;
    top:14%;
    bottom:26%;
  }
  .home-room__ceiling{left:2%;right:2%;height:30%}
  .home-room__wall{width:27%}
  .home-room__floor{
    left:-55%;
    right:-55%;
    bottom:-23%;
    height:62%;
    background-size:100% 3.5rem,4.5rem 100%,100% 100%;
  }
  .home-room__frame{
    width:min(42vw,11.5rem);
  }
  .home-room__rail{top:66%;width:45%}

  .home-entry__reveal{
    bottom:4.2rem;
    width:auto;
    left:var(--gutter);
    right:var(--gutter);
  }
  .home-entry__reveal h2{
    max-width:8ch;
    font-size:clamp(2.8rem,13vw,4.2rem);
  }
  .home-entry__lead{
    max-width:20rem;
    font-size:.76rem;
  }
  .home-entry__actions{
    display:grid;
    gap:.7rem;
  }
  .home-entry__actions a{
    width:max-content;
    max-width:100%;
    font-size:.55rem;
  }
  .home-entry__hint{font-size:.48rem}
}

@media(prefers-reduced-motion:reduce){
  .home-entry{height:100svh}
  .home-entry__sticky{--entry-p:1!important;--entry-copy:1!important;--entry-title:0!important}
  .home-entry__titleband{display:none}
  .home-entry__hint{display:none}
  .home-room,
  .home-room__frame,
  .home-room__screen,
  .home-entry__reveal{transform:none!important}
}


/* Reference-style HOME opening refinements */
.home-entry__sticky{
  --entry-mid:0;
  --entry-black:0;
}
body.home.home-entry-start .site-header{
  color:#111516!important;
  background:rgba(241,241,239,.94)!important;
  border-bottom-color:rgba(10,13,16,.12)!important;
}
body.home.home-entry-start .site-header :is(a,button,.logo,.menu-toggle){
  color:#111516!important;
}
@media(max-width:620px){
  .home-entry__score{top:7rem}
  .home-entry__cover-copy{top:51%;width:calc(100% - (var(--gutter)*2))}
  .home-entry__titleband h1{font-size:clamp(3.4rem,16vw,5.5rem)}
  .home-entry__cover-tags{display:none}
  .home-entry__midcopy{top:33%}
  .home-entry__midcopy h2{font-size:clamp(2.3rem,11vw,3.7rem)}
  .home-entry__midcopy p{font-size:.48rem}
}


.home-entry__interstitial{
  position:absolute;
  z-index:24;
  inset:0;
  display:grid;
  place-items:center;
  align-content:center;
  gap:.7rem;
  color:var(--entry-paper);
  background:#020303;
  opacity:var(--entry-black);
  pointer-events:none;
  will-change:opacity;
}
.home-entry__interstitial span{
  font:600 clamp(2.2rem,4vw,4rem)/1 var(--sans);
  letter-spacing:-.06em;
  filter:blur(calc((1 - var(--entry-black)) * 8px));
}
.home-entry__interstitial small{
  color:rgba(244,240,232,.42);
  font:700 .52rem/1 var(--sans);
  letter-spacing:.18em;
}


/* Premium motion system — restrained, editorial, and content-led.
   Inspired by the reference video's black/white pacing, masked media reveals,
   section shutters and fine-line transitions. */

:root{
  --pm-accent:#d9a23b;
  --pm-dark:#0a0d10;
  --pm-paper:#f4f0e8;
}

.pm-chapter{
  --pm-p:0;
  --pm-v:0;
  position:relative;
  isolation:isolate;
}

.pm-chapter::before{
  content:"";
  position:absolute;
  z-index:18;
  left:0;
  right:0;
  top:0;
  height:clamp(2.3rem,8vh,6rem);
  pointer-events:none;
  transform-origin:top;
  transform:translateY(calc((var(--pm-p) * -100%) + 0%));
  opacity:calc(1 - var(--pm-p));
}

.pm-chapter.pm-on-light::before{
  background:linear-gradient(180deg,var(--pm-dark),rgba(10,13,16,.92) 70%,transparent);
}

.pm-chapter.pm-on-dark::before{
  background:linear-gradient(180deg,var(--pm-paper),rgba(244,240,232,.9) 70%,transparent);
}

.pm-chapter::after{
  content:"";
  position:absolute;
  z-index:19;
  left:var(--gutter);
  right:var(--gutter);
  top:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,var(--pm-accent) 0 22%,rgba(127,127,127,.32) 22% 100%);
  transform-origin:left;
  transform:scaleX(calc(.18 + var(--pm-p) * .82));
  opacity:calc(.35 + var(--pm-p) * .65);
}

.pm-media{
  --pm-v:0;
  overflow:hidden!important;
}

.pm-media>img,
img.pm-media{
  clip-path:inset(calc((1 - var(--pm-v)) * 11%) calc((1 - var(--pm-v)) * 5%) calc((1 - var(--pm-v)) * 11%) calc((1 - var(--pm-v)) * 5%));
  filter:saturate(calc(.72 + var(--pm-v) * .28)) contrast(calc(1.08 - var(--pm-v) * .05));
  transition:clip-path .05s linear,filter .05s linear;
}

.pm-row{
  --pm-v:0;
  position:relative;
}

.pm-row::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  pointer-events:none;
  background:currentColor;
  opacity:.13;
  transform-origin:left;
  transform:scaleX(var(--pm-v));
}

.pm-hero{
  --pm-p:0;
  position:relative;
}

.pm-hero::after{
  content:"";
  position:absolute;
  z-index:4;
  left:var(--gutter);
  right:var(--gutter);
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,var(--pm-accent),rgba(127,127,127,.26) 28%,rgba(127,127,127,.08));
  transform-origin:left;
  transform:scaleX(calc(.25 + var(--pm-p) * .75));
}

.pm-hero :is(h1,.section-title){
  text-wrap:balance;
}

/* EXPERIENCE — a quieter Awwwards-like chapter rhythm. */
.experience .experience-block.pm-chapter .experience-year{
  opacity:calc(.13 + var(--pm-v) * .16)!important;
  letter-spacing:calc(-.06em + (1 - var(--pm-v)) * .02em);
}

.experience .experience-block.pm-chapter .experience-notes{
  position:relative;
}

.experience .experience-block.pm-chapter .experience-notes::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:clamp(.22rem,.4vw,.42rem);
  height:calc(var(--pm-v) * 100%);
  background:var(--pm-accent);
  opacity:.72;
}

/* ABOUT — use strong typography and sectional lines rather than decorative shapes. */
.about .about-statement.pm-chapter .lead{
  max-width:34ch;
  font-size:clamp(1.5rem,2.65vw,2.85rem)!important;
  line-height:1.03!important;
  letter-spacing:-.04em;
}

.about .about-team.pm-chapter .about-team__number strong{
  display:block;
  line-height:.7!important;
  transform-origin:left bottom;
  scale:calc(.88 + var(--pm-v) * .12);
}

.about .about-capabilities.pm-chapter .about-capabilities__grid article{
  border-top:1px solid rgba(127,127,127,.18)!important;
}

/* WORK — selected work reads like a moving index, not a static card grid. */
.page--ink .work-wall.pm-chapter .work-tile{
  transition:border-color .3s ease,background .3s ease;
}

@media(hover:hover) and (pointer:fine){
  .page--ink .work-wall .work-tile:hover{
    border-color:rgba(217,162,59,.62)!important;
  }
}

/* CASE STUDIES — cinematic image transitions from the reference. */
.case .case-block.pm-chapter .case-block__label{
  position:relative;
}

.case .case-block.pm-chapter .case-block__label::after{
  content:"";
  display:block;
  width:clamp(2.4rem,5vw,5.5rem);
  height:1px;
  margin-top:1rem;
  background:var(--pm-accent);
  transform-origin:left;
  transform:scaleX(var(--pm-v));
}

.case .newsletter-proof.pm-chapter,
.case .case-block.pm-chapter{
  scroll-margin-top:var(--header);
}

/* CONTACT — keep image and copy as two deliberate editorial planes. */
.contact .contact-main.pm-hero{
  --pm-p:1;
}

.contact .contact-main.pm-hero::after{
  bottom:var(--gutter);
}

@media(max-width:760px){
  .pm-chapter::before{height:2.5rem}
  .pm-chapter::after{left:var(--gutter);right:var(--gutter)}
  .about .about-statement.pm-chapter .lead{font-size:clamp(1.35rem,7vw,2.1rem)!important}
}

@media(prefers-reduced-motion:reduce){
  .pm-chapter,
  .pm-media,
  .pm-row,
  .pm-hero{
    --pm-p:1!important;
    --pm-v:1!important;
  }
  .pm-chapter::before{display:none!important}
  .pm-media>img,
  img.pm-media{
    clip-path:none!important;
    filter:none!important;
  }
}


/* Release override bundle — authoritative last-mile QA layer. */
/* precision-polish.css */
/* Precision polish — final visual QA layer.
   Loaded last on every public page. It does not redesign components; it
   enforces typography, contrast, alignment, media containment and interaction
   consistency across the portfolio. */

:root{
  --pp-ink:#0b0e10;
  --pp-paper:#f2efe8;
  --pp-white:#fbfaf6;
  --pp-muted-light:#596063;
  --pp-muted-dark:#a6adae;
  --pp-accent:#d9a23b;
  --pp-accent-dark:#8b6423;
}

*,*::before,*::after{box-sizing:border-box}

html{
  max-width:100%;
  overflow-x:clip;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body,main,section,header,footer,nav,article,aside,figure,div{
  min-width:0;
}

img,video,svg,canvas{
  display:block;
  max-width:100%;
}

main :is(h1,h2,h3,h4){
  text-wrap:balance;
  hanging-punctuation:first last;
}

main :is(p,li,figcaption){
  text-wrap:pretty;
}

main :is(h1,h2,h3,h4,p,li,a,strong,small,span){
  word-break:normal;
}

main a,
main button{
  -webkit-tap-highlight-color:transparent;
}

main :is(a,button,[role="button"]):focus-visible{
  outline:2px solid var(--pp-accent);
  outline-offset:4px;
}

::selection{
  color:#0b0e10;
  background:#d9a23b;
}

/* Prevent text cards from acquiring image-style clipping. */
:is(
  .problem-piece,.moment-copy,.work-tile,.experience-role,.experience-notes article,
  .archive-item,.about-profile__copy,.about-statement__grid,.about-method__head,
  .about-method__steps article,.about-team__copy,.about-capabilities__grid article,
  .about-final__grid,.case-block__content,.process-sequence article,
  .objective-result article,.quick-entry,.quick-action,.ct-panel,.xm-context-card__face
){
  min-width:0;
}

:is(
  .problem-piece,.moment-copy,.work-tile,.experience-role,.experience-notes article,
  .about-method__steps article,.about-team__copy,.about-capabilities__grid article,
  .case-block__content,.process-sequence article,.objective-result article,
  .quick-entry,.quick-action,.ct-panel,.xm-context-card__face
) :is(h1,h2,h3,p,strong,small,a,li){
  max-width:100%;
}

/* WORK */
.page--ink .work-tile{
  align-items:stretch;
}
.page--ink .work-tile img{
  width:100%;
  height:100%;
  min-height:15rem;
  object-fit:cover;
  object-position:center;
}
.page--ink .work-tile :is(h2,p,.mark,.work-tile__proof){
  overflow:visible;
}
.page--ink .work-tile h2{
  line-height:.9;
}
.page--ink .academic-note{
  overflow:visible!important;
}

/* CASE STUDIES */
.case .case-hero__media,
.case .media-spread figure,
.case .newsletter-proof__page{
  min-width:0;
}
.case .case-hero__media img,
.case .media-spread img,
.case .newsletter-proof__page img{
  max-width:100%;
}
.case .case-block__content{
  max-width:58rem;
}
.case .case-block__content>p{
  max-width:48rem;
}
.case .case-meta>div,
.case .process-sequence article,
.case .objective-result article{
  padding-inline:min(1.4rem,4vw);
}

/* Recruiter-facing pages */
.quick :is(.quick-sheet,.quick-section,.quick-entry,.quick-action){
  min-width:0;
}
.quick :is(h1,h2,h3,p,strong,a,span){
  overflow-wrap:break-word;
}

/* ABOUT — text contrast must remain readable at every animation frame. */
.about .about-cinematic-team{
  color:var(--pp-ink)!important;
}
.about .about-cinematic-team .kicker{
  color:var(--pp-accent-dark)!important;
}
.about .about-cinematic-team .about-team__copy h2{
  color:#15191a!important;
}
.about .about-cinematic-team .about-team__copy>p:not(.kicker){
  color:#555e61!important;
}
.about .about-cinematic-team .about-team__terms span{
  color:#202426!important;
  border-color:rgba(11,14,16,.18)!important;
  background:rgba(255,255,255,.22);
}
.about .about-cinematic-capabilities .about-capabilities__grid article :is(h3,li){
  color:#141819!important;
}
.about .about-cinematic-capabilities .about-capabilities__grid article li{
  color:#535b5e!important;
}
.about .about-cinematic-profile .about-profile__lead,
.about .about-cinematic-final :is(p,.language-row span){
  color:#596063!important;
}

/* EXPERIENCE cards — full contrast for active card, still readable off-axis. */
.experience-moto .xm-context-card__face{
  overflow:hidden;
}
.experience-moto .xm-context-card__face :is(h2,p,small,a,.xm-context-card__num){
  position:relative;
  z-index:2;
}
.experience-moto .xm-context-card:not(.is-active) .xm-context-card__face{
  filter:saturate(.78) brightness(.8)!important;
}
.experience-moto .xm-context-card.is-active .xm-context-card__face{
  filter:none!important;
}

/* CONTACT — light technical interface */
.contact-modular .ct-panel :is(h1,h2,strong){
  color:#0b0e10!important;
}
.contact-modular .ct-lead,
.contact-modular .ct-specs p{
  color:#596063!important;
}
.contact-modular .ct-channel{
  overflow:hidden;
}
.contact-modular .ct-channel strong{
  overflow-wrap:anywhere;
}
.contact-modular .ct-primary{
  white-space:nowrap;
}

/* Tablet: remove accidental media escapes while preserving intentional
   full-bleed desktop compositions. */
@media(max-width:1100px){
  .case :is(.case-hero__media,.newsletter-hero-proof,.bastarda-wall){
    max-width:100%!important;
  }
  .case :is(.case-hero__media,.newsletter-hero-proof) img{
    max-width:100%!important;
  }
  .page--ink .work-tile{
    width:100%;
  }
}

/* Mobile: text always takes precedence over decorative motion. */
@media(max-width:760px){
  main :is(h1,h2,h3){
    max-width:100%;
  }

  .about .about-cinematic-team .about-team__copy,
  .about .about-cinematic-team .about-team__copy :is(h2,p,.kicker),
  .about .about-cinematic-team .about-team__terms{
    opacity:1!important;
    filter:none!important;
  }

  .about .about-cinematic-team .about-team__copy h2{
    font-size:clamp(2.9rem,12.5vw,4.3rem)!important;
    line-height:.88!important;
  }

  .about .about-cinematic-team .about-team__number strong{
    font-size:clamp(7.5rem,34vw,10.5rem)!important;
    line-height:.76!important;
    margin-bottom:.7rem;
  }

  .contact-modular .ct-panel{
    visibility:visible!important;
  }

  .case .case-hero__media,
  .case .newsletter-hero-proof,
  .case .bastarda-wall{
    max-width:100%!important;
    transform:none!important;
  }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
  }
}



/* V2 — site-wide final detail pass
   Typography, spacing, media framing and component alignment are normalised
   after the reference-video adaptations. */

/* Universal reading geometry */
main :is(p,li){
  max-width:72ch;
}
main :is(.kicker,.mark,[class*="__meta"],[class*="__kicker"]){
  font-variant-numeric:tabular-nums;
}
main :is(h1,h2,h3){
  text-wrap:balance;
}
main :is(p,li,figcaption){
  orphans:2;
  widows:2;
}
main :is(a,button){
  text-underline-offset:.22em;
}
main :is(img,video){
  height:auto;
}

/* Labels: consistent optical density across all page systems */
:is(
  .home-entry__bar-meta,.home-entry__eyebrow,.selected-head .kicker,
  .xm-hero__meta,.xm-gallery__top,.xm-context-card__num,
  .about-gateway__meta,.about-gateway__copy>span,.kicker,.mark,
  .ct-meta,.ct-kicker,.case-block__label,.case-meta span,
  .quick-kicker,.j3d-kicker,.j3d-detail__kicker
){
  letter-spacing:.14em;
}

/* HOME */
.home .home-entry__reveal h2{
  max-width:8.5ch!important;
}
.home .home-entry__lead{
  max-width:32rem!important;
}
.home .selected-head{
  align-items:end;
}
.home .moment-copy{
  padding:clamp(1rem,2vw,1.6rem)!important;
}
.home .moment-copy h3{
  max-width:12ch!important;
  line-height:.9!important;
}
.home .moment-copy p{
  max-width:30rem!important;
  line-height:1.55!important;
}

/* WORK */
.page--ink .page-hero h1{
  max-width:13ch;
}
.page--ink .work-tile{
  overflow:hidden!important;
}
.page--ink .work-tile h2{
  max-width:10ch;
}
.page--ink .work-tile p{
  line-height:1.58;
}
.page--ink .work-tile img{
  object-position:center center;
}
.page--ink .work-tile--newsletter img{
  object-fit:contain!important;
  background:#e9e5dc;
}
.page--ink .academic-note{
  padding-block:1.4rem!important;
}

/* EXPERIENCE */
.experience-moto :is(.xm-hero__copy,.xm-intro__inner,.xm-statement__copy,.xm-access__copy){
  max-width:calc(100% - (var(--gutter)*2));
}
.experience-moto .xm-intro p,
.experience-moto .xm-access__copy p{
  line-height:1.62!important;
}
.experience-moto .xm-context-card__face{
  min-height:0!important;
}
.experience-moto .xm-index__rows article>*{
  min-width:0;
}
.experience-moto .xm-index__rows p{
  overflow-wrap:normal;
}

/* JOURNEY */
.journey-3d .j3d-card{
  max-width:calc(100vw - (var(--gutter)*2));
}
.journey-3d .j3d-card__media{
  isolation:isolate;
}
.journey-3d .j3d-card h2{
  max-width:12ch!important;
}
.journey-3d .j3d-detail__intro h2{
  max-width:11.5ch!important;
}
.journey-3d .j3d-entry{
  overflow:hidden;
}
.journey-3d .j3d-entry h3{
  max-width:18ch;
}
.journey-3d .j3d-entry p{
  line-height:1.6!important;
}
.journey-3d .j3d-entry--media img{
  object-position:center;
}

/* ABOUT */
.about .about-gateway__copy p,
.about .about-profile__lead,
.about .about-team__copy>p,
.about .about-final p{
  line-height:1.62!important;
}
.about .about-method__steps article p{
  line-height:1.6!important;
}
.about .about-capabilities__grid article{
  overflow:hidden;
}
.about .about-capabilities__grid li{
  line-height:1.35!important;
}
.about .language-row{
  min-height:3.3rem;
  align-items:center;
}

/* CONTACT */
.contact-modular .ct-panel{
  min-width:0;
}
.contact-modular .ct-panel :is(h1,h2,p,strong,small,span){
  max-width:100%;
}
.contact-modular .ct-channel strong{
  word-break:break-word;
}
.contact-modular .ct-readouts span{
  overflow:hidden;
}
.contact-modular .ct-floater img{
  width:100%;
  object-position:center;
}

/* CASE STUDIES */
.case .case-hero__content h1{
  max-width:12ch;
}
.case .case-hero__content>p{
  max-width:36rem;
  line-height:1.62!important;
}
.case .case-block__content h2{
  max-width:15ch;
}
.case .case-block__content p{
  line-height:1.65!important;
}
.case .case-meta>div{
  min-width:0;
}
.case .case-meta :is(strong,p,span){
  max-width:100%;
}
.case .media-spread figure,
.case .newsletter-proof__page{
  overflow:hidden;
}
.case .media-spread img,
.case .newsletter-proof__page img{
  width:100%;
  object-position:center;
}
.case .process-sequence article,
.case .objective-result article{
  min-height:11rem;
  align-content:start;
}

/* QUICK VIEW */
.quick .quick-entry{
  align-items:start;
}
.quick .quick-entry h3{
  max-width:18ch;
}
.quick .quick-entry p{
  line-height:1.55!important;
}
.quick .quick-action{
  min-height:6rem;
}

/* SKILLS */
.skills .page-hero h1,
.competencias .page-hero h1{
  max-width:12ch;
}
.skills :is(.section p,.section li),
.competencias :is(.section p,.section li){
  line-height:1.58;
}

/* Image and text optical alignment */
@media(min-width:901px){
  .case .case-block__content,
  .about .about-team__copy,
  .contact-modular .ct-copy{
    text-rendering:optimizeLegibility;
  }
}

/* Tablet */
@media(max-width:1100px){
  main :is(h1,h2,h3,p,li,a,strong,small,span){
    max-width:100%;
  }
  .experience-moto .xm-index__rows article{
    column-gap:1.25rem!important;
  }
  .about .about-profile__grid{
    column-gap:2rem!important;
  }
}

/* Mobile: content first, effects second */
@media(max-width:760px){
  body{
    overflow-x:clip!important;
  }
  main :is(p,li){
    max-width:100%;
  }
  .home .home-entry__reveal,
  .experience-moto .xm-context-card__face,
  .about .about-profile__copy,
  .about .about-team__copy,
  .contact-modular .ct-panel,
  .case .case-block__content{
    min-width:0!important;
  }
  .experience-moto .xm-index__rows p,
  .about .about-profile__lead,
  .contact-modular .ct-lead,
  .case .case-block__content p{
    font-size:max(.82rem,14px)!important;
  }
  .journey-3d .j3d-detail__sheet{
    overscroll-behavior:contain;
  }
  .journey-3d .j3d-entry{
    min-width:0;
  }
}

/* No animation frame is allowed to make primary readable copy disappear. */
@media(prefers-reduced-motion:reduce){
  :is(
    .xm-context-card,.about-profile__copy,.about-team__copy,.ct-panel,
    .work-tile,.case-block__content,.quick-entry,.j3d-entry
  ){
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
  }
}



/* V2.1 — WORK WebKit content-height correction */
.page--ink .work-tile{
  height:auto!important;
  min-height:15rem!important;
  overflow:visible!important;
  align-content:start!important;
}
.page--ink .work-tile img{
  overflow:hidden!important;
}
.page--ink .work-tile :is(.work-tile__proof,.mark,h2,p,.tile-number){
  overflow:visible!important;
}
@media(max-width:900px){
  .page--ink .work-tile{min-height:0!important}
}



/* V3 — exhaustive site-wide optical polish
   Final layer after page-specific systems. Focus: readable contrast, rhythm,
   baseline alignment, image containment, optical balance and zero text clipping. */

/* Global type rhythm */
main{
  --pp-reading:68ch;
}
main :is(h1,h2,h3,h4){
  margin-block-start:0;
  font-kerning:normal;
  font-synthesis:none;
}
main :is(p,li,figcaption){
  max-width:var(--pp-reading);
}
main :is(.kicker,.mark,[class*="__kicker"],[class*="__meta"]){
  line-height:1.35!important;
}
main :is(a,button){
  font-synthesis:none;
}
main :is(img,video){
  object-position:center;
}
main :is(figure,article){
  min-width:0;
}

/* Avoid visually weak low-contrast microcopy. */
:is(
  .hero-meta,.hero-bottom,.page-hero__meta,.case-meta small,
  .work-tile__proof,.xm-hero__meta,.xm-gallery__top,.xm-context-card small,
  .j3d-card__meta,.j3d-world__top,.about-gateway__meta,.about-profile figcaption,
  .ct-meta,.ct-readouts,.ct-panel>small,.quick-kicker
){
  opacity:1!important;
}

/* HOME */
.home .home-entry__titleband h1{
  text-wrap:nowrap;
}
.home .home-entry__cover-copy{
  max-width:calc(100% - (var(--gutter)*2));
}
.home .problems__statement{
  max-width:min(58rem,100%);
}
.home .problem-piece{
  min-height:7.5rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.home .problem-piece strong{
  line-height:1.12;
}
.home .selected-head .section-title{
  max-width:10.5ch!important;
}
.home .work-composition .moment{
  border-radius:0!important;
}
.home .work-composition .moment img{
  object-fit:cover;
}
.home .work-composition .moment--newsletter img{
  object-fit:contain!important;
  background:#ece6db;
}
.home .moment-copy{
  backdrop-filter:blur(8px);
}

/* WORK */
.page--ink .page-intro{
  align-items:start!important;
}
.page--ink .page-intro .lead{
  max-width:36rem;
}
.page--ink .work-wall__grid{
  border-top:1px solid rgba(255,255,255,.12);
}
.page--ink .work-tile{
  min-height:16rem!important;
}
.page--ink .work-tile h2{
  text-wrap:balance;
}
.page--ink .work-tile p{
  max-width:44rem;
}
.page--ink .work-tile img{
  min-height:12.5rem;
  max-height:18rem;
}
.page--ink #academic-work .academic-note{
  align-items:start!important;
}
.page--ink #academic-work .academic-note>p{
  max-width:32rem;
}

/* EXPERIENCE */
.experience-moto .xm-hero__copy h1{
  max-width:11ch;
  margin-inline:auto;
}
.experience-moto .xm-intro h2,
.experience-moto .xm-statement__copy h2,
.experience-moto .xm-access__copy h2{
  text-wrap:balance;
}
.experience-moto .xm-index__head h2{
  max-width:13ch!important;
}
.experience-moto .xm-index__rows article{
  align-items:start!important;
}
.experience-moto .xm-index__rows p{
  max-width:40rem;
}
.experience-moto .xm-context-card__face{
  isolation:isolate;
}
.experience-moto .xm-context-card__face::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.08));
}
.experience-moto .xm-context-card__face>*{
  position:relative;
  z-index:1;
}

/* JOURNEY */
.journey-3d .j3d-card{
  isolation:isolate;
}
.journey-3d .j3d-card__meta{
  align-items:start;
}
.journey-3d .j3d-card__meta span:last-child{
  max-width:17rem;
  text-align:right;
}
.journey-3d .j3d-card__open{
  white-space:nowrap;
}
.journey-3d .j3d-detail__sheet{
  scrollbar-gutter:stable;
}
.journey-3d .j3d-entry{
  min-height:15rem;
}
.journey-3d .j3d-entry--media{
  min-height:23rem;
}
.journey-3d .j3d-entry--media img{
  object-fit:contain;
  background:#e8e3da;
}
.journey-3d .j3d-detail__intro>p:not(.j3d-detail__kicker){
  max-width:28rem;
}

/* ABOUT */
.about .about-gateway__copy{
  min-width:0;
}
.about .about-gateway__copy h1{
  max-width:10ch;
}
.about .about-profile__copy h1{
  max-width:11ch!important;
}
.about .about-profile__facts article{
  align-items:start!important;
}
.about .about-statement__grid>div{
  min-width:0;
}
.about .about-method__head h2{
  max-width:12ch!important;
}
.about .about-method__steps article h3{
  margin-bottom:.7rem;
}
.about .about-team__copy>p{
  max-width:34rem;
}
.about .about-capabilities__head{
  align-items:end!important;
}
.about .about-capabilities__head>p{
  max-width:27rem;
}
.about .about-capabilities__grid article h3{
  max-width:13ch;
}
.about .about-final__grid>div{
  min-width:0;
}
.about .language-row{
  grid-template-columns:minmax(7rem,.35fr) minmax(0,.65fr)!important;
}

/* CONTACT */
.contact-modular .ct-copy{
  min-width:0;
}
.contact-modular .ct-panel h1,
.contact-modular .ct-panel h2{
  max-width:9ch!important;
}
.contact-modular .ct-channel{
  min-width:0;
}
.contact-modular .ct-channel strong{
  line-height:1.18!important;
}
.contact-modular .ct-specs strong{
  line-height:1.15!important;
}
.contact-modular .ct-readouts b{
  display:block;
  margin-bottom:.25rem;
}
.contact-modular .ct-next h2{
  max-width:11ch!important;
}

/* CASE STUDIES */
.case .case-hero__content{
  min-width:0;
}
.case .case-hero__content h1{
  max-width:11ch!important;
}
.case .case-hero__content>p{
  max-width:34rem!important;
}
.case .case-meta{
  align-items:stretch!important;
}
.case .case-meta>div{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:5.7rem;
}
.case .case-meta strong{
  line-height:1.25;
}
.case .case-block__content h2{
  max-width:13ch!important;
}
.case .case-block__content>p{
  max-width:44rem!important;
}
.case .process-sequence,
.case .objective-result{
  align-items:stretch!important;
}
.case .process-sequence article,
.case .objective-result article{
  height:100%;
}
.case .media-spread figure img{
  object-fit:cover;
}
.case--newsletter .newsletter-proof__page img,
.case--automation .case-hero__media img{
  object-fit:contain!important;
}
.case .case-next strong{
  max-width:14ch;
  text-align:center;
}

/* QUICK VIEW / SKILLS */
.quick main{
  min-width:0;
}
.quick .quick-sheet{
  max-width:100%;
}
.quick .quick-entry{
  gap:1rem;
}
.quick .quick-entry h3{
  line-height:1!important;
}
.quick .quick-entry p{
  max-width:44rem;
}
.quick .quick-action{
  align-items:center;
}
.quick .quick-action strong{
  line-height:1.08;
}

/* Optical media framing */
:is(
  .about-profile__portrait,.ct-portrait,.j3d-card__media,
  .case-hero__media,.media-spread figure,.newsletter-proof__page
){
  background:#e9e5dc;
}

/* Tablet */
@media(max-width:1100px){
  .home .home-entry__titleband h1{
    white-space:normal;
  }
  .page--ink .work-tile{
    grid-template-columns:minmax(11rem,31%) minmax(0,1fr) auto!important;
  }
  .experience-moto .xm-index__rows article{
    grid-template-columns:3rem minmax(10rem,.3fr) minmax(0,.7fr)!important;
  }
  .experience-moto .xm-index__rows article small{
    grid-column:2!important;
  }
  .experience-moto .xm-index__rows article p{
    grid-column:3!important;
    grid-row:1/3!important;
  }
  .experience-moto .xm-index__rows article a{
    grid-column:3!important;
  }
}

/* Mobile */
@media(max-width:760px){
  main{
    --pp-reading:100%;
  }
  main :is(h1,h2,h3,p,li,strong,small,a,span){
    overflow-wrap:normal;
  }
  .home .home-entry__titleband h1{
    white-space:normal;
    max-width:100%;
  }
  .home .problem-piece{
    min-height:6.6rem;
  }
  .page--ink .work-tile{
    grid-template-columns:1fr auto!important;
  }
  .page--ink .work-tile img{
    max-height:none;
  }
  .experience-moto .xm-index__rows article{
    display:block!important;
  }
  .experience-moto .xm-index__rows article>*{
    display:block;
    margin-bottom:.55rem;
  }
  .experience-moto .xm-index__rows article>a{
    width:max-content;
    max-width:100%;
    margin-top:.8rem;
  }
  .journey-3d .j3d-card__meta{
    gap:.6rem;
  }
  .journey-3d .j3d-card__meta span:last-child{
    max-width:10rem;
  }
  .journey-3d .j3d-card h2{
    font-size:clamp(1.85rem,8.6vw,2.5rem)!important;
  }
  .about .about-profile__copy h1{
    font-size:clamp(3rem,12.6vw,4.4rem)!important;
    line-height:.87!important;
  }
  .about .about-statement__grid{
    gap:1.2rem!important;
  }
  .about .language-row{
    grid-template-columns:1fr!important;
    gap:.25rem;
  }
  .contact-modular .ct-channel strong{
    font-size:max(.96rem,15px)!important;
  }
  .case .case-hero__content h1{
    font-size:clamp(3.3rem,14.4vw,5.1rem)!important;
    line-height:.85!important;
  }
  .case .case-block__content h2{
    font-size:clamp(2.65rem,11.5vw,4.1rem)!important;
    line-height:.9!important;
  }
  .case .case-meta{
    grid-template-columns:1fr!important;
  }
  .case .case-meta>div{
    min-height:0;
    padding-block:.85rem!important;
  }
  .quick .quick-entry{
    grid-template-columns:1fr!important;
  }
}

/* Small mobile */
@media(max-width:420px){
  .experience-moto .xm-context-card h2{
    max-width:100%!important;
  }
  .journey-3d .j3d-card__meta span:last-child{
    font-size:.44rem;
  }
  .contact-modular .ct-readouts{
    grid-template-columns:1fr!important;
  }
}

/* Reduced-motion: all primary copy stays fully visible. */
@media(prefers-reduced-motion:reduce){
  main :is(
    .home-entry__reveal,.problem-piece,.work-tile,.xm-context-card,.xm-statement__copy,
    .j3d-card,.j3d-entry,.about-profile__copy,.about-statement__grid,
    .about-method__steps article,.about-team__copy,.about-capabilities__grid article,
    .ct-panel,.case-block__content,.process-sequence article,.objective-result article,
    .quick-entry,.quick-action
  ){
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
    transform:none!important;
  }
}



/* V3.1 — Newsletter hero contrast correction.
   The real cover is intentionally light; copy must sit on a controlled dark
   editorial veil so title, lead and metadata stay readable on every viewport. */
.case--newsletter .newsletter-case-hero{
  color:#f4f0e8!important;
  background:#0d1113!important;
}
.case--newsletter .newsletter-case-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(13,17,19,.96) 0%,rgba(13,17,19,.9) 44%,rgba(13,17,19,.58) 68%,rgba(13,17,19,.34) 100%),
    linear-gradient(180deg,rgba(13,17,19,.16),rgba(13,17,19,.54));
}
.case--newsletter .newsletter-case-hero .newsletter-hero-proof{
  z-index:0!important;
  filter:saturate(.86) contrast(1.02) brightness(.82);
}
.case--newsletter .newsletter-case-hero .case-hero__content{
  z-index:2!important;
  color:#f4f0e8!important;
}
.case--newsletter .newsletter-case-hero .case-hero__content :is(h1,.lead,strong){
  color:#f4f0e8!important;
}
.case--newsletter .newsletter-case-hero .case-hero__content .lead{
  color:#c2c8c9!important;
}
.case--newsletter .newsletter-case-hero .kicker{
  color:#d9a23b!important;
}
.case--newsletter .newsletter-case-hero .case-meta{
  background:rgba(255,255,255,.12)!important;
}
.case--newsletter .newsletter-case-hero .case-meta>div{
  color:#f4f0e8!important;
  background:rgba(13,17,19,.78)!important;
  border-color:rgba(255,255,255,.13)!important;
}
.case--newsletter .newsletter-case-hero .case-meta small{
  color:#a6adae!important;
}
@media(max-width:760px){
  .case--newsletter .newsletter-case-hero::before{
    background:
      linear-gradient(180deg,rgba(13,17,19,.72) 0%,rgba(13,17,19,.88) 38%,rgba(13,17,19,.94) 100%)!important;
  }
  .case--newsletter .newsletter-case-hero .newsletter-hero-proof{
    opacity:.62;
  }
}



/* V4 — release-gate accessibility and contrast corrections.
   These rules are deliberately last: they preserve the approved layouts while
   removing weak contrast discovered by the WCAG release audit. */

/* HOME */
.home .manifesto-strip__track span{
  color:#92999b!important;
}
.home .problems .problem-piece span{
  color:#8b6423!important;
}
.home .problems .problem-piece strong{
  color:#0b0e10!important;
}

/* WORK */
.page--ink .academic-note__award{
  background:#252a2d!important;
}
.page--ink .academic-note__award span{
  color:#d9a23b!important;
}
.page--ink .academic-note__award strong{
  color:#f2efe8!important;
}

/* EXPERIENCE */
.experience-moto .xm-statement__ghost span{
  color:#828a86!important;
  opacity:1!important;
}
.experience-moto .xm-statement__copy>p{
  color:#596063!important;
}
.experience-moto .xm-index__head>span{
  color:#596063!important;
}
.experience-moto .xm-index__rows article>span{
  color:#8b6423!important;
}
.experience-moto .xm-index__rows article h3{
  color:#202526!important;
}
.experience-moto .xm-index__rows article small,
.experience-moto .xm-index__rows article p{
  color:#596063!important;
}
.experience-moto .xm-index__rows article a{
  color:#4f5658!important;
}
.experience-moto .xm-index__rows article a:hover{
  color:#8b6423!important;
}

/* ABOUT + SKILLS reuse the same profile/fact components. */
.about .about-profile__availability>span,
.skills .about-profile__availability>span,
.competencias .about-profile__availability>span{
  color:#8b6423!important;
}
.about .about-profile__availability>strong,
.skills .about-profile__availability>strong,
.competencias .about-profile__availability>strong{
  color:#202526!important;
}
.about .about-profile__availability>small,
.skills .about-profile__availability>small,
.competencias .about-profile__availability>small,
.about .about-profile__facts article span,
.skills .about-profile__facts article span,
.competencias .about-profile__facts article span{
  color:#646a6c!important;
}
.about .about-cinematic-capabilities .kicker,
.skills .about-cinematic-capabilities .kicker,
.competencias .about-cinematic-capabilities .kicker{
  color:#8b6423!important;
}
.about .about-cinematic-capabilities .about-capabilities__head>p,
.skills .about-cinematic-capabilities .about-capabilities__head>p,
.competencias .about-cinematic-capabilities .about-capabilities__head>p{
  color:#596063!important;
}
.about .about-cinematic-final .kicker,
.skills .about-cinematic-final .kicker,
.competencias .about-cinematic-final .kicker{
  color:#8b6423!important;
}

/* CASE STUDIES — sticky section navigation always sits on a light surface. */
.case .case-nav a{
  color:#4f5658!important;
}
.case .case-nav a:hover,
.case .case-nav a:focus-visible{
  color:#0b0e10!important;
}
.case--automation .case-meta{
  background:rgba(11,14,16,.18)!important;
}
.case--automation .case-meta>div{
  color:#0b0e10!important;
  background:#d7ff43!important;
}
.case--automation .case-meta small{
  color:#4b561d!important;
}
.case--automation .case-meta strong{
  color:#0b0e10!important;
}
.case--bastarda .bastarda-wall span{
  color:#f2efe8!important;
  opacity:1!important;
}
.case--bastarda .bastarda-wall span:nth-child(2),
.case--bastarda .bastarda-wall span:nth-child(3){
  color:#0b0e10!important;
  background:#f2efe8!important;
}

/* Preserve the dark Newsletter hero contrast established in V3.1. */
.case--newsletter .newsletter-case-hero .case-meta small{
  color:#c2c8c9!important;
}
.case--newsletter .newsletter-case-hero .case-meta strong{
  color:#f4f0e8!important;
}

/* final-release.css */
/* Final release QA layer
   Purpose: accessibility, legibility and last-mile editorial consistency.
   Loaded last so this file is the authoritative release surface. */

:root{
  --qa-ink:#111516;
  --qa-muted:#4a5153;
  --qa-paper:#f2efe8;
  --qa-amber-dark:#795a23;
}

/* HOME — keep the animated notes fully readable at every point of the reveal. */
.home .problem-piece{
  opacity:1!important;
}
.home .problem-piece span{
  color:#72551f!important;
  opacity:1!important;
}
.home .problem-piece strong{
  color:#15191a!important;
  opacity:1!important;
}

/* WORK — recognition card has a deliberate dark editorial surface and
   sufficient contrast rather than muted plum-on-grey text. */
.page--ink .academic-note__award{
  color:#f7f4ed!important;
  background:#151a1c!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
.page--ink .academic-note__award span,
.page--ink .academic-note__award strong{
  color:#f7f4ed!important;
  opacity:1!important;
}

/* ABOUT — profile metadata sits on a light surface in the cinematic version. */
.about .about-profile__availability{
  color:var(--qa-ink)!important;
}
.about .about-profile__availability>span{
  color:var(--qa-amber-dark)!important;
}
.about .about-profile__availability>strong{
  color:var(--qa-ink)!important;
}
.about .about-profile__availability>small{
  color:var(--qa-muted)!important;
}
.about .about-profile__facts article{
  color:var(--qa-ink)!important;
}
.about .about-profile__facts article>strong{
  color:#6f531f!important;
}
.about .about-profile__facts article>span{
  color:var(--qa-muted)!important;
  opacity:1!important;
}

/* EXPERIENCE — decorative typography remains visible enough to read as type,
   not as accidental low-contrast UI. Context rows retain hierarchy through the
   amber rail/position, not by fading the actual information. */
.experience-moto .xm-statement__ghost{
  color:#666d6e!important;
}
.experience-moto .xm-statement__ghost span{
  color:inherit!important;
  opacity:1!important;
}
.experience-moto .xm-index__rows article{
  opacity:1!important;
}
.experience-moto .xm-index__rows article>span,
.experience-moto .xm-index__rows small,
.experience-moto .xm-index__rows p{
  color:#4a5153!important;
}
.experience-moto .xm-index__rows h3,
.experience-moto .xm-index__rows a{
  color:#111516!important;
}
.experience-moto .xm-index__rows a{
  font-size:max(.64rem,10.25px)!important;
}
.experience-moto .xm-context-card__face small,
.experience-moto .xm-context-card__num{
  opacity:1!important;
}

/* CASE STUDIES — sticky chapter navigation is intentionally paper-coloured.
   Never reduce link opacity: that was the remaining WCAG failure on several
   project pages. */
.case .case-nav{
  color:var(--qa-ink)!important;
  background:rgba(242,239,232,.97)!important;
  border-bottom-color:rgba(17,21,22,.14)!important;
}
.case .case-nav a{
  color:#394043!important;
  opacity:1!important;
  font-size:max(.7rem,11px)!important;
}
.case .case-nav a:hover,
.case .case-nav a[aria-current="true"]{
  color:var(--qa-amber-dark)!important;
}
.case .case-nav a::after{
  background:var(--qa-amber-dark)!important;
}

/* Universal release typography safeguards. */
:is(.kicker,.mark,.mini-label,.chapter,.meta){
  text-rendering:optimizeLegibility;
}
:is(.lead,p,small,span,strong,h1,h2,h3){
  overflow-wrap:break-word;
}
img{
  image-rendering:auto;
}

/* Microcopy is allowed to be small but must not collapse into illegible 8px
   interface text on desktop or mobile. */
@media(max-width:700px){
  .experience-moto :is(.xm-hero__meta,.xm-gallery__top,.xm-feature__small,.xm-ticker,.xm-access__copy>span),
  .contact-modular :is(.ct-meta,.ct-readouts,.ct-panel>span),
  .home :is(.home-entry__bar-meta,.home-entry__cover-copy>span,.home-entry__cover-copy>p){
    font-size:max(.62rem,10px)!important;
  }
}

/* Text on photography gets a controlled legibility layer without changing the
   photograph's colour treatment. */
:is(.case-hero,.xm-feature,.moment--hub,.moment--newsletter) :is(h1,h2,h3,p,small,span){
  text-wrap:pretty;
}

/* Keep keyboard focus aligned with the site's actual palette. */
:where(a,button,[role="button"]):focus-visible{
  outline:3px solid #b9872d!important;
  outline-offset:4px!important;
}

@media(prefers-reduced-motion:reduce){
  .home .problem-piece,
  .experience-moto .xm-index__rows article{
    opacity:1!important;
  }
}



/* V2 — eliminate opacity-based contrast regressions from motion layers.
   Text remains fully opaque; movement is carried by transform/clip geometry. */
.page--ink .academic-note,
.page--ink .academic-note[data-premium-reveal],
.page--ink .academic-note__award,
.page--ink .academic-note__award *{
  opacity:1!important;
}

.about .about-profile__copy,
.about .about-profile__availability,
.about .about-profile__availability *,
.about .about-profile__facts,
.about .about-profile__facts article,
.about .about-profile__facts article *{
  opacity:1!important;
}

.about .about-capabilities__head,
.about .about-capabilities__head * ,
.about .about-final__languages,
.about .about-final__languages *{
  opacity:1!important;
}

.about .about-capabilities__head .kicker,
.about .about-final__languages .kicker{
  color:#72551f!important;
}

.about .about-capabilities__head>p,
.about .about-final__languages p,
.about .about-final__languages span{
  color:#42494b!important;
}

/* Textual reveal elements must never become semi-transparent. */
body.premium-ready [data-premium-reveal]{
  opacity:1!important;
}
body.premium-ready [data-premium-reveal].is-premium-in{
  opacity:1!important;
}

/* EXPERIENCE decorative words now function as readable editorial background,
   while remaining visually subordinate through scale/position rather than alpha. */
.experience-moto .xm-statement__ghost,
.experience-moto .xm-statement__ghost span{
  opacity:1!important;
}

/* Keep all readable index rows fully opaque even before scroll activation. */
.experience-moto .xm-index__rows article,
.experience-moto .xm-index__rows article *{
  opacity:1!important;
}



/* V3 — specificity-safe release contrast. */
body.page--ink main > section#academic-work .academic-note__award{
  color:#f7f4ed!important;
  background:#111516!important;
}
body.page--ink main > section#academic-work .academic-note__award>span,
body.page--ink main > section#academic-work .academic-note__award>strong{
  color:#f7f4ed!important;
  opacity:1!important;
}

body.about .about-cinematic-capabilities .about-capabilities__head>p{
  color:#3f4749!important;
  opacity:1!important;
}
body.about .about-cinematic-capabilities .about-capabilities__head .kicker{
  color:#72551f!important;
  opacity:1!important;
}
body.about .about-cinematic-final .about-final__languages .kicker{
  color:#72551f!important;
  opacity:1!important;
}
body.about .about-cinematic-profile .about-profile__availability,
body.about .about-cinematic-profile .about-profile__availability *,
body.about .about-cinematic-profile .about-profile__facts,
body.about .about-cinematic-profile .about-profile__facts *{
  opacity:1!important;
}
body.about .about-cinematic-profile .about-profile__availability>span{
  color:#72551f!important;
}
body.about .about-cinematic-profile .about-profile__availability>strong{
  color:#111516!important;
}
body.about .about-cinematic-profile .about-profile__availability>small,
body.about .about-cinematic-profile .about-profile__facts article>span{
  color:#41494b!important;
}



/* V4 — tablet/mobile contrast hardening. */
.about-final__languages{
  color:#111516!important;
}
.about-final__languages>.kicker{
  color:#5b4318!important;
  opacity:1!important;
}
.about-final__languages .language-row,
.about-final__languages .language-row *{
  opacity:1!important;
}
.about-final__languages .language-row>span{
  color:#303638!important;
}

.case--bastarda .bastarda-wall span{
  opacity:1!important;
}
.case--bastarda .bastarda-wall span:nth-child(1),
.case--bastarda .bastarda-wall span:nth-child(4){
  color:#f4f0e8!important;
  background:#151719!important;
}
.case--bastarda .bastarda-wall span:nth-child(2),
.case--bastarda .bastarda-wall span:nth-child(3){
  color:#111516!important;
  background:#f2efe8!important;
}

@media(max-width:1000px){
  body.about .about-cinematic-profile .about-profile__availability{
    color:#111516!important;
    background:#fbfaf6!important;
    border-color:rgba(17,21,22,.16)!important;
  }
  body.about .about-cinematic-profile .about-profile__availability>span{
    color:#5b4318!important;
  }
  body.about .about-cinematic-profile .about-profile__availability>strong{
    color:#111516!important;
  }
  body.about .about-cinematic-profile .about-profile__availability>small{
    color:#303638!important;
  }
}



/* V5 — final tablet/mobile surface isolation. */
@media(max-width:1100px){
  body.about .about-cinematic-final,
  body.about .about-cinematic-final>.shell,
  body.about .about-cinematic-final .about-final__grid,
  body.about .about-cinematic-final .about-final__languages,
  body.about .about-cinematic-final .language-row{
    color:#111516!important;
    background:#fbfaf6!important;
    opacity:1!important;
    filter:none!important;
  }
  body.about .about-cinematic-final .about-final__languages>.kicker{
    color:#4b3510!important;
    opacity:1!important;
  }
  body.about .about-cinematic-final .language-row>strong{
    color:#111516!important;
    opacity:1!important;
  }
  body.about .about-cinematic-final .language-row>span{
    color:#252b2d!important;
    opacity:1!important;
  }

  /* Decorative Bastarda word-wall is useful on large screens, but adds visual
     noise and weak contrast once the viewport becomes tablet-sized. */
  body.case--bastarda .bastarda-wall{
    display:none!important;
  }
}



/* V6 — automation case study brought into the final editorial palette.
   Removes the legacy lime surface that produced the last WebKit contrast failure. */
body.case--automation .case-hero{
  color:#111516!important;
  background:#f2efe8!important;
}
body.case--automation .case-hero__content,
body.case--automation .case-hero__content :is(h1,.lead,strong){
  color:#111516!important;
  opacity:1!important;
}
body.case--automation .case-hero__content .lead{
  color:#394043!important;
}
body.case--automation .case-hero__content .kicker{
  color:#5b4318!important;
  opacity:1!important;
}
body.case--automation .case-meta{
  background:rgba(17,21,22,.14)!important;
}
body.case--automation .case-meta>div{
  color:#111516!important;
  background:#fbfaf6!important;
}
body.case--automation .case-meta small{
  color:#41494b!important;
  opacity:1!important;
}
body.case--automation .automation-repeat{
  color:rgba(17,21,22,.08)!important;
}
body.case--automation .case-hero .rc-word{
  color:inherit!important;
  opacity:1!important;
}


/* V6.1 — purely decorative automation repeat is removed from the release surface. */
body.case--automation .automation-repeat{display:none!important}




/* V7 — mobile optical legibility.
   Metadata remains visually secondary, but no release microcopy is allowed to
   collapse into 7–9px text on a 390px viewport. */
@media(max-width:700px){
  body.home :is(
    .home-room__frame span,.home-entry__bar-meta,.home-entry__cover-copy>span,
    .home-entry__cover-copy>p,.home-entry__interstitial small,.home-entry__midcopy>span,
    .home-entry__midcopy p,.home-entry__hint
  ){
    font-size:max(.625rem,10px)!important;
  }
  body.home .home-entry__actions a{
    font-size:max(.6875rem,11px)!important;
  }

  body.experience-moto :is(
    .xm-hero__meta,.xm-hero__copy>p,.xm-pass small,.xm-pass span,.xm-pass i,
    .xm-intro__inner>span,.xm-gallery__top,.xm-context-card__num,
    .xm-context-card small,.xm-gallery__handoff>span,.xm-statement__copy>span,
    .xm-feature__small,.xm-ticker,.xm-access__copy>span
  ){
    font-size:max(.625rem,10px)!important;
  }
  body.experience-moto .xm-context-card a{
    font-size:max(.625rem,10px)!important;
  }

  body.journey-3d :is(
    .j3d-world__top,.j3d-kicker,.j3d-card__meta,.j3d-card__open,
    .j3d-controls,.j3d-progress button,.j3d-detail__kicker,.j3d-entry>span
  ){
    font-size:max(.625rem,10px)!important;
  }

  body.about :is(
    .about-gateway__meta,.about-gateway__copy>span,.about-id-card>span,
    .about-id-card>small,.about-team__number>span
  ){
    font-size:max(.625rem,10px)!important;
  }
  body.about .about-gateway__enter{
    font-size:max(.6875rem,11px)!important;
  }

  body.contact-modular :is(
    .ct-meta,.ct-portrait__label,.ct-readouts span,.ct-readouts b,
    .ct-kicker,.ct-panel>small,.ct-channel span,.ct-tags span,
    .ct-rail span,.ct-rail small
  ){
    font-size:max(.625rem,10px)!important;
  }
  body.contact-modular :is(.ct-primary,.ct-next a){
    font-size:max(.6875rem,11px)!important;
  }
}



/* V8 — final cross-engine contrast surfaces.
   These selectors remove ambiguous inherited colours that WebKit resolved
   differently from Chromium/Firefox in reduced-motion audits. */

/* HOME final work hand-off belongs to the dark Selected Work chapter. */
body.home .home-work-link{
  color:#f4f0e8!important;
  background:#0d1113!important;
  border-color:rgba(244,240,232,.18)!important;
}
body.home .home-work-link>span{
  color:#c2c7c8!important;
}
body.home .home-work-link>strong,
body.home .home-work-link>b{
  color:#d9a23b!important;
}

/* CASE process/result cards use one authoritative dark editorial treatment.
   Alternation remains at chapter level rather than inside readable cards. */
body.case .process-sequence article,
body.case .objective-result article{
  color:#f4f0e8!important;
  background:#171d20!important;
  border-color:rgba(244,240,232,.14)!important;
}
body.case .process-sequence article :is(h3,strong),
body.case .objective-result article :is(h3,strong){
  color:#f4f0e8!important;
}
body.case .process-sequence article p,
body.case .objective-result article p{
  color:#c2c7c8!important;
}
body.case .process-sequence article>span,
body.case .objective-result article>span{
  color:#d9a23b!important;
}

/* Newsletter evidence pages sit on a dark chapter; only the image has a paper
   backing. Captions therefore use light text on a transparent figure surface. */
body.case--newsletter .newsletter-proof__page{
  background:transparent!important;
  color:#f4f0e8!important;
}
body.case--newsletter .newsletter-proof__page img{
  background:#e8e3da!important;
}
body.case--newsletter .newsletter-proof__page figcaption{
  color:#c8cdce!important;
  opacity:1!important;
}



/* V10 — final human visual review: mobile ABOUT, EXPERIENCE / 02 and case contrast. */

/* CASE STUDIES — WebKit computes the process-card paragraph colour more
   conservatively than Chromium/Firefox. Make the chapter surface explicit
   rather than relying on inherited custom properties. */
body.case main > .case-block:nth-of-type(2) .process-sequence article,
body.case main > .case-block:nth-of-type(4) .process-sequence article{
  color:#f7f4ed!important;
  background:#171c1e!important;
  border-color:rgba(255,255,255,.14)!important;
}
body.case main > .case-block:nth-of-type(2) .process-sequence article h3,
body.case main > .case-block:nth-of-type(4) .process-sequence article h3{
  color:#f7f4ed!important;
}
body.case main > .case-block:nth-of-type(2) .process-sequence article p,
body.case main > .case-block:nth-of-type(4) .process-sequence article p{
  color:#c7cdce!important;
  opacity:1!important;
}
body.case main > .case-block:nth-of-type(2) .process-sequence article>span,
body.case main > .case-block:nth-of-type(4) .process-sequence article>span{
  color:#d9a23b!important;
}
body.case main > .case-block:nth-of-type(1) .process-sequence article p,
body.case main > .case-block:nth-of-type(3) .process-sequence article p{
  color:#454d50!important;
  opacity:1!important;
}

/* EXPERIENCE / 02 — the focal card should read as a destination, not a
   decorative carousel tile. Active card gains a clearer frame and the entire
   card is keyboard/click navigable. */
.experience-moto .xm-context-card[role="button"]{
  cursor:pointer;
  outline:none;
}
.experience-moto .xm-context-card[role="button"]:focus-visible .xm-context-card__face{
  box-shadow:
    0 3.5rem 8rem rgba(0,0,0,.62),
    0 0 0 2px rgba(217,162,59,.75)!important;
}
.experience-moto .xm-context-card.is-active .xm-context-card__face{
  border-color:rgba(217,162,59,.34)!important;
}
.experience-moto .xm-context-card.is-active a{
  color:#f2c15f!important;
}

/* ABOUT mobile — remove the last desktop two-column constraint. Text is the
   primary object; portrait and facts follow it in a deliberate editorial stack. */
@media(max-width:700px){
  body.about .about-cinematic-profile{
    min-height:auto!important;
    padding:calc(var(--header,70px) + 1.75rem) 0 2.5rem!important;
  }
  body.about .about-cinematic-profile .about-profile__grid{
    position:relative!important;
    top:auto!important;
    min-height:0!important;
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:1.35rem!important;
    padding:0 var(--gutter)!important;
  }
  body.about .about-cinematic-profile .about-profile__copy{
    order:1;
    width:100%!important;
    max-width:100%!important;
    transform:none!important;
  }
  body.about .about-cinematic-profile .about-profile__copy h1{
    max-width:100%!important;
    width:100%!important;
    margin-right:0!important;
    font-size:clamp(2.7rem,12.8vw,4.05rem)!important;
    line-height:.86!important;
    letter-spacing:-.065em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.about .about-cinematic-profile .about-profile__copy h1 em{
    display:block!important;
    max-width:100%!important;
    font-size:.84em!important;
  }
  body.about .about-cinematic-profile .about-profile__lead{
    max-width:31rem!important;
    font-size:.86rem!important;
    line-height:1.6!important;
  }
  body.about .about-cinematic-profile .about-profile__availability{
    width:100%!important;
    margin-top:1.3rem!important;
    padding:1rem 0!important;
  }
  body.about .about-cinematic-profile .about-profile__portrait{
    order:2;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
    transform:none!important;
    box-shadow:none!important;
    border:1px solid rgba(17,21,22,.13)!important;
  }
  body.about .about-cinematic-profile .about-profile__portrait img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/5!important;
    object-fit:cover!important;
    object-position:center 16%!important;
    transform:none!important;
  }
  body.about .about-cinematic-profile .about-profile__facts{
    order:3;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1px!important;
    margin:0!important;
    transform:none!important;
    opacity:1!important;
  }
  body.about .about-cinematic-profile .about-profile__facts article{
    min-height:0!important;
    display:grid!important;
    grid-template-columns:4.2rem minmax(0,1fr)!important;
    align-items:center!important;
    gap:1rem!important;
    padding:1rem!important;
  }
  body.about .about-cinematic-profile .about-profile__facts article>strong{
    font-size:2rem!important;
    line-height:1!important;
  }
  body.about .about-cinematic-profile .about-profile__facts article>span{
    font-size:.72rem!important;
    line-height:1.45!important;
  }

  /* EXPERIENCE / 02 — slightly larger active canvas and legible microcopy. */
  body.experience-moto .xm-context-card{
    width:min(82vw,20.2rem)!important;
    max-width:calc(100vw - 2rem)!important;
  }
  body.experience-moto .xm-context-card__face{
    padding:1.15rem!important;
  }
  body.experience-moto .xm-context-card small,
  body.experience-moto .xm-context-card__num,
  body.experience-moto .xm-context-card a{
    font-size:max(.56rem,9px)!important;
    line-height:1.35!important;
  }
  body.experience-moto .xm-context-card p{
    font-size:max(.72rem,11.5px)!important;
    line-height:1.45!important;
  }
}



/* V11 — microtypography + EXPERIENCE white-chapter cleanup after visual review. */

/* EXPERIENCE: preserve the reference's floating vocabulary on desktop, but
   keep the actual statement as the only focal object on small screens. */
@media(max-width:700px){
  body.experience-moto .xm-statement__ghost{
    display:none!important;
  }
  body.experience-moto .xm-statement__copy{
    width:calc(100% - 2rem)!important;
    transform:none!important;
  }
  body.experience-moto .xm-statement__copy h2{
    max-width:9.5ch!important;
    margin:0 auto .9rem!important;
    font-size:clamp(2.65rem,10.8vw,3.9rem)!important;
    line-height:.89!important;
    letter-spacing:-.058em!important;
  }
  body.experience-moto .xm-statement__copy>span,
  body.experience-moto .xm-statement__copy>p{
    font-size:max(.62rem,10px)!important;
    line-height:1.35!important;
  }
}

/* JOURNEY: the 3D environment can use small interface labels, but none of the
   readable metadata should collapse to 7–8px on a real phone. */
@media(max-width:760px){
  body.journey-3d .j3d-card__meta,
  body.journey-3d .j3d-card__meta span,
  body.journey-3d .j3d-card__open,
  body.journey-3d .j3d-controls,
  body.journey-3d .j3d-controls span,
  body.journey-3d .j3d-progress button,
  body.journey-3d .j3d-progress button span,
  body.journey-3d .j3d-world__top,
  body.journey-3d .j3d-kicker{
    font-size:max(.625rem,10px)!important;
    line-height:1.25!important;
  }
  body.journey-3d .j3d-card__media--type small{
    font-size:max(.625rem,10px)!important;
    line-height:1.35!important;
  }
  body.journey-3d .j3d-card__meta{
    gap:.65rem!important;
  }
}

/* ABOUT/CONTACT/EXPERIENCE: all intentional microcopy remains at least 10px
   on mobile; visual hierarchy comes from weight/spacing, not illegibility. */
@media(max-width:700px){
  body.about .about-team__number span,
  body.about .about-team__terms span,
  body.contact-modular :is(.ct-kicker,.ct-meta,.ct-readouts,.ct-panel>small,.ct-channel span,.ct-next__inner>span),
  body.experience-moto :is(.xm-gallery__top,.xm-context-card small,.xm-context-card__num,.xm-context-card a,.xm-ticker span,.xm-feature__small){
    font-size:max(.625rem,10px)!important;
  }
}



/* V12 — palette discipline. Legacy project accents may not reintroduce the
   old blue/purple multi-colour system into the approved black/paper/amber UI. */
body.case--automation .automation-visual::before{
  background:linear-gradient(90deg,rgba(217,162,59,.18),#d9a23b,rgba(217,162,59,.18))!important;
}
body.case--automation .automation-visual div::before{
  background:#d9a23b!important;
  box-shadow:0 0 0 3px rgba(217,162,59,.08);
}
body.case--automation .automation-visual .mark{
  color:#d9a23b!important;
}
body.case--automation .automation-visual div{
  border-color:rgba(217,162,59,.18)!important;
}



/* VFINAL.3 — reference-style labels kept above the release legibility floor */
.home :is(
  .home-room__frame span,
  .home-room__screen span,
  .home-entry__bar-meta,
  .home-entry__cover-copy>span,
  .home-entry__cover-copy>p,
  .home-entry__cover-tags span,
  .home-entry__midcopy>span,
  .home-entry__midcopy p
){
  font-size:max(.625rem,10px)!important;
  line-height:1.25!important;
}


/* VFINAL.4 — mobile legibility floor after release audit */
@media(max-width:760px){
  body.home :is(
    .home-room__frame span,
    .home-room__screen span,
    .home-entry__bar-meta,
    .home-entry__cover-copy>span,
    .home-entry__cover-copy>p,
    .home-entry__cover-tags span,
    .home-entry__midcopy>span,
    .home-entry__midcopy p,
    .home-entry__hint
  ){
    font-size:max(.6875rem,11px)!important;
    line-height:1.3!important;
  }
}

/* VFINAL.5.6 — mobile legibility authority */
@media(max-width:760px){
  body.home .home-entry__interstitial small,
  body.home .home-entry__bar-meta,
  body.home .home-entry__cover-copy>span,
  body.home .home-entry__cover-copy>p,
  body.home .home-entry__hint{
    font-size:max(.6875rem,11px)!important;
    line-height:1.3!important;
  }
}

/* VFINAL.5.7 — deterministic mobile label floor */
@media(max-width:760px){
  body.home .home-entry__interstitial small{font-size:11px!important;line-height:1.35!important}
}

/* Ronda 3: a página inicial tinha duas aberturas seguidas que se sobrepunham durante o scroll.
   Fica só "Transformo ideias em execução." */
body.home .home-entry__midcopy{display:none!important}
