/* September 6: André's soft, dimensional references and restrained orange accents. */
@font-face{font-family:'Pilli Punctuation';src:url('web/fonts/punctuation-instrument-serif.ttf') format('truetype');font-weight:100 900;font-display:swap;unicode-range:U+002E,U+00B7}
:root{--ground:#e8eae9;--paper:#f5f6f5;--paper-2:#eef0ef;--dark:#151717;--dark-2:#1c1e1e;--accent:#676e69;--font:'Instrument Sans',-apple-system,'Helvetica Neue',Arial,sans-serif;--surface-shadow:12px 16px 32px #cdd0ce,-10px -10px 25px #fff;--raised-shadow:6px 8px 16px #d2d5d3,-6px -6px 16px #fff}
body,button,input,select,textarea{font-family:var(--font)}
html{scroll-padding-top:80px;scrollbar-color:#989e9a var(--ground)}
::selection{background:#cdd3cf;color:#171717}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.nav{background:rgba(232,234,233,.97);border-bottom:1px solid #d6d9d7;backdrop-filter:none}
.stack{gap:32px}
.card{box-shadow:var(--surface-shadow);border:1px solid rgba(255,255,255,.62)}
.card.light{background:var(--paper)}
.card.dark{background:var(--dark);border-color:#3a3d3b}
.audience-proof{background:var(--dark);text-align:center;align-items:start;padding-block:32px}
.audience-proof>div{justify-items:center;gap:9px}
.audience-proof strong,.imax-metrics strong,.metric,.academy-value{font-family:var(--font);font-variant-numeric:tabular-nums}
.audience-proof span{max-width:25ch;line-height:1.45}
.brand-group img{opacity:1}
.work-head{padding-bottom:26px}
.seg{background:#171919;box-shadow:inset 3px 3px 6px #090a0a,inset -2px -2px 5px #303333}
.seg button.on{box-shadow:0 2px 5px #0006;background:#f1f3f1;color:#141616}
.seg button.on:after{content:none}
.tile{background:#1d2020;border:1px solid #363a38;box-shadow:6px 8px 18px #090b0b,-3px -3px 9px #252828;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.tile .screen{aspect-ratio:16/9;background:#111}
.tile .screen img,.tile .screen video{object-fit:cover}
.tile .lab{gap:8px;padding:20px;min-height:112px}
.tile .brand{font-size:20px;line-height:1.25}
.tile .title{font-size:13px;line-height:1.55;color:#c2c8c4}
.tile .res{margin-top:8px;line-height:1.5}
.tile.featured .res{font-size:19px}
.tile:hover,.tile:focus-within{transform:translateY(-4px);box-shadow:8px 14px 22px #070909,-3px -3px 10px #2e3230}
.tile:hover .screen img{transform:scale(1.025)}
.reel-strip{touch-action:none;cursor:ew-resize;user-select:none;box-shadow:inset 2px 3px 5px #0009;border:1px solid #5557}
.reel-strip button,.reel-strip img{cursor:ew-resize;user-select:none;-webkit-user-drag:none}
.reel-strip.is-scrubbing{outline:1px solid #ddd}
.reel-play{pointer-events:none}
.reel-play::before{border-radius:50%;background:#fff}
.reel-head .on>span{font-size:12px;flex-shrink:0}
.reel-scrub{pointer-events:none}
.reel-scrub:focus-visible{pointer-events:auto}
.hero .actions .btn{box-shadow:0 4px 10px #0003,inset 0 1px 1px #fff8}
.text-link,.pd-link,.pd-proof{font-size:14px;text-underline-offset:5px}
.development-project{padding-block:20px}
.development-identity h3{font-size:clamp(25px,2.8vw,34px);letter-spacing:-.04em}
.development-copy>p{font-size:16px;line-height:1.5}
.about-copy p{max-width:55ch;font-size:18px;line-height:1.65}
.frame,.gal figure{border-color:#dfe3e0}
.gal figure{background:#f3f5f3;box-shadow:4px 6px 12px #d0d4d1,-4px -4px 12px #fff;padding:7px;border-radius:13px}
.gal img{border-radius:7px}
.gal button{overflow:hidden;border-radius:7px}
.gal figcaption{padding:10px 3px 4px;font-size:12px}
.contact{min-height:240px}
section[id]{scroll-margin-top:0}
.countup-visual{font:inherit!important;color:inherit!important;letter-spacing:inherit;line-height:inherit}
@media(max-width:700px){
 html{scroll-padding-top:74px}
 .stack{gap:24px}.card{box-shadow:6px 8px 18px #cdd0ce,-5px -5px 14px #fff}
 .nav nav{background:var(--ground)}
 #work.work-card{border-inline:0;box-shadow:none}
 #work .seg,#work .tile,#work .tile.featured{background:var(--dark)}
 #work .tile{box-shadow:none;transform:none}
 .audience-proof{padding-block:25px;gap:16px}
 .audience-proof strong{font-size:clamp(23px,6.3vw,34px)}
 .audience-proof span{font-size:12px;max-width:17ch}
 .about-copy p{font-size:16px;line-height:1.7}
 .development-project{padding-block:18px}.development-identity h3{font-size:28px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile,.tile .screen img{transition:none}.tile:hover,.tile:focus-within,.tile:hover .screen img{transform:none}}

.preview-stills{display:flex;justify-content:center;gap:10px;max-width:600px;padding:0 20px 20px}.preview-stills button{width:100px;border:1px solid #666;border-radius:5px;overflow:hidden}.preview-stills img{width:100%;height:70px;object-fit:cover}dialog.lb #lb-img{max-height:72svh}
.case-photo-open{display:block;width:100%;cursor:zoom-in}
#lightbox .lb-gallery-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding:0 0 16px}
#lightbox .lb-gallery-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #5e665f;border-radius:50%;color:#fff;background:#202520;font-size:28px;line-height:1;cursor:pointer}
#lightbox .lb-gallery-count{min-width:5ch;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;color:#c4cbc6}
#lightbox #lb-filmstills{width:min(600px,88vw);max-width:88vw;overflow-x:auto;justify-content:flex-start;padding:0 4px 12px}
#lightbox #lb-filmstills button{flex:0 0 88px;opacity:.6;cursor:pointer}
#lightbox #lb-filmstills button[aria-current=true]{opacity:1;border-color:#fff}
#lightbox #lb-filmstills img{display:block;width:100%;height:58px;padding:0;border:0;border-radius:0;object-fit:cover}
#lightbox .lb-gallery-controls button:focus-visible,#lightbox #lb-filmstills button:focus-visible,.case-photo-open:focus-visible{outline:2px solid #fff;outline-offset:3px}
#lightbox #lb-img{touch-action:pan-y pinch-zoom}

/* Unified media captions; the active surface carries selection without extra dots. */
.tile .lab{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:0;padding:20px}
.tile .brand{font-size:20px;font-weight:600;line-height:1.25;margin:0}
.tile .case-title{min-height:0;line-height:inherit}
.tile .title{font-size:14px;line-height:1.5}
.tile .res,.tile.featured .res{font-size:19px;font-weight:400;line-height:1.4;margin-top:4px;padding-top:0;border-top:0}
.feed-open span:first-child,.feed-open span:last-child{font-size:14px;text-decoration:none}
.language button[aria-pressed=true]{text-decoration:none}
@media(max-width:700px){
 #work .tile .lab{gap:8px;padding:18px 18px 12px}
 #work .tile .brand{font-size:23px;line-height:1.25}
 #work .tile .title{font-size:14px;line-height:1.5}
 #work .tile .res,#work .tile.featured .res{font-size:19px;line-height:1.4;margin-top:4px;padding-top:0;border:0}
 #work .feed-open{margin:0 18px 12px;font-size:14px}
}

/* Restore the audience typography from the previous approved version. */
.audience-proof strong,.audience-proof span{font-family:'Instrument Sans',-apple-system,'Helvetica Neue',Arial,sans-serif;font-variant-numeric:normal}
.audience-proof strong{font-weight:500;font-size:clamp(26px,3.3vw,42px);letter-spacing:-.04em;line-height:1.2}
.audience-proof>div>span{font-weight:400;font-size:14px}
html[lang=pt-BR] .audience-proof strong{font-size:clamp(25px,3vw,40px)}
@media(max-width:640px){.audience-proof strong{font-size:30px}.audience-proof>div>span{font-size:12px}}
@media(max-width:380px){.audience-proof strong,html[lang=pt-BR] .audience-proof strong{font-size:24px}.audience-proof>div>span{font-size:11px}}

/* One font family across the site; retain round terminal punctuation in headlines. */
h1,h2,h3,h4,p,span,a,button,input,textarea,dt,dd,strong{font-family:inherit}
.hero h1{font-family:'Pilli Punctuation',var(--font)}

/* Complete gallery rows, including the last row of each filter. */
@media(min-width:701px){
 #grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:22px}
 #grid .tile{flex:1 1 calc((100% - 44px)/3);min-width:0;display:flex;flex-direction:column}
 #grid .tile.featured{flex-basis:calc((100% - 22px)/2)}
 #grid .tile .screen{width:100%}
 #grid .tile .lab{flex:1}
}
@media(min-width:701px) and (max-width:1100px){#grid .tile{flex-basis:calc((100% - 22px)/2)}}
.development-head{margin-bottom:18px}
.development-head h2{font-size:clamp(26px,2.6vw,34px)}
.development-project{grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);column-gap:40px}
.development-format{font-size:12px;margin-bottom:6px}
.development-identity h3{max-width:none;font-weight:500}
.development-copy{gap:4px}
.development-copy>p{max-width:60ch}
.development-copy .text-link{font-size:13px;min-height:36px}
.case-gallery{margin-top:28px}
.case-gallery h4{font-size:14px;font-weight:500;color:#bcc2be;margin-bottom:12px}
.case-gallery-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.case-gallery figure{margin:0;overflow:hidden;border:1px solid #3a3d3b;border-radius:12px}
.case-gallery img{display:block;width:100%;height:auto}
.fp.subs-top .fp-sub{bottom:auto;top:7%}
#player-dialog .dl{height:auto;min-height:100%;align-content:start;align-items:start;padding-top:82px}
@media(max-width:640px){
 .development-head{gap:12px;margin-bottom:14px}
 .development-head>p{display:none}
 .development-project{grid-template-columns:1fr;row-gap:10px}
 .development-copy>p{font-size:15px;line-height:1.5}
 .case-gallery-photos{grid-template-columns:1fr}
}

.caption-note{font-size:12px;line-height:1.5;color:#aeb6b0;margin:12px 4px}
.creator-link-arrow{display:none}
.creator-case,.watch-card{border:1px solid #fff9;background:var(--paper);box-shadow:7px 10px 20px #cfd3d0,-5px -5px 14px #fff;transition:box-shadow .25s ease,transform .25s ease}
@media(hover:hover){.creator-case:hover,.watch-card:hover{transform:translateY(-3px);box-shadow:9px 14px 24px #c9ceca,-5px -5px 14px #fff}}
@media(prefers-reduced-motion:reduce){.creator-case,.watch-card{transition:none;transform:none!important}}
.fp-caption-controls{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.2;color:#b8bdb9;text-transform:none;letter-spacing:0}
.fp-caption-controls[hidden]{display:none}
.fp-caption-language{max-width:135px;min-height:34px;border:1px solid #555b57;border-radius:7px;background:#242827;color:#fff;font:inherit;padding:5px 9px;cursor:pointer;color-scheme:dark}
@media(max-width:640px){.fp-caption-language{min-height:40px}.fp-top .fp-label{font-size:10px}.fp-caption-controls{gap:5px;font-size:11px}.fp-caption-language{max-width:112px;padding-inline:6px}.fp-top .r{gap:8px}}
.text-link,.pd-link,.pd-proof,.programming-link{border-radius:6px;transition:background-color .2s ease,transform .2s ease}
@media(hover:hover){
 .text-link:hover,.pd-link:hover,.pd-proof:hover{background:#8882;transform:translateY(-2px);text-decoration:none;box-shadow:0 0 0 6px #8882}
 .programming-link:hover{background:#7771;transform:translateX(3px)}
}
@media(prefers-reduced-motion:reduce){.text-link,.pd-link,.pd-proof,.programming-link{transition:none;transform:none!important}}

.social-logo-link{display:inline-flex!important;align-items:center;justify-content:center;width:48px;min-height:48px;border-radius:12px;padding:10px!important;text-decoration:none!important;transition:background .2s ease,transform .2s ease}
.social-logo-link img{display:block;width:26px;height:26px;object-fit:contain}
.social-logo-link[data-platform-label=YouTube] img{width:31px;height:31px}
#creator-main .channel-links{gap:10px 18px}
@media(hover:hover){.social-logo-link:hover{background:#dde1de;transform:translateY(-2px)}}
.social-logo-link:focus-visible{outline:2px solid #69736c;outline-offset:3px}
[data-countup-highlight]{display:inline-block;font-variant-numeric:tabular-nums}
[data-countup-celebrate]{position:relative}
.conversion-bills{position:absolute;left:calc(100% + 4px);top:-.1em;width:0;height:0;pointer-events:none;z-index:1}
.conversion-bills svg{position:absolute;width:22px;height:14px;fill:var(--paper,#f1f2f0);stroke:#45554a;stroke-width:1.2;opacity:0;animation:conversion-bill 1100ms cubic-bezier(.2,.65,.35,1) calc(var(--bill-i)*110ms) both}
@keyframes conversion-bill{0%{opacity:0;transform:translate(-6px,4px) rotate(0)}18%,40%{opacity:.85}100%{opacity:0;transform:translate(calc(10px + var(--bill-i)*9px),calc(-25px - var(--bill-i)*7px)) rotate(calc(-12deg + var(--bill-i)*17deg))}}
@media(prefers-reduced-motion:reduce){.social-logo-link{transition:none;transform:none!important}.conversion-bills{display:none}}

.playback-icon{display:block;width:17px;height:17px;fill:currentColor;margin:auto}
.creator-reel-toggle,.reel-pause{width:44px;min-width:44px!important;height:44px;min-height:44px;padding:0!important;border-radius:50%!important}
.fp-platform-icon{display:block;width:28px;height:22px;object-fit:contain;filter:brightness(0) invert(1);opacity:.9}
.fp-counter::after{display:none}

.fp-counter{display:none!important}
.fp-caption-toggle{margin-left:auto;min-height:36px;padding:7px 13px;border:1px solid #606a63;border-radius:10px;background:transparent;color:#c4cbc6;font:inherit;font-size:12px;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.fp-caption-toggle[aria-pressed=true]{background:#edf0ed;color:#151a17;border-color:#edf0ed;box-shadow:0 2px 8px #0003}
.fp-caption-toggle:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:700px){.fp-caption-toggle{min-height:40px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.fp-caption-toggle{transition:none}}
